5. •The Waterfall approach to software
development describes a sequential process for
building software—i.e., one step has got to be
completed before subsequent can begin.
•In the Waterfall methodology, the project
scope, outcome, and requirements are
documented fully before any development
begins.
6. • Design: Agree on a programming language, specific
design elements, system design. Documents produced
during this phase are going to be the framework for
the implementation (coding) phase.
• Implementation: Turn client requirements and style
documents into the software.
• Testing: Test the software for bugs and check if the
goals from the wants document are met.
• Deployment: Release the software to the client.
• Maintenance: Fix any problems found once the
software has been released to the purchasers.
Waterfall Project structure Phases:
7. • Upfront documentation and planning stages
allow for larger teams to remain informes and
move towards common goal.
• Forces structured, disciplined organization.
• Is simple to understand, follow, arrange tasks.
• Facilitates departmentalization and managerial
control based on schedule and deadlines.
• Reinforces good coding habits to define before
design and then code.
• Allows for early design or specification changes
to be made easily.
• Clerly defines milestones and deadlines.
8. • Design is not adaptive : often when a flaw is
found the entire process needs to start over.
• Delays testing until the end of the development
cycle.
• Does not consider error correction.
• Does not handle request for changes,scope
adjustments or updates well.
• Reduces efficiency bynot allowing to overlap.
• Not Ideal for complex, high risk, ongoing or
object oriented projects.
• No work product is avaliable until the later
stages of the life cycle are passed.
9.
10.
11. •Agile is a software methodology based on
iterative and incremental development
where requirements and solutions evolve
through collaboration between self-
organizing, cross- functional teams. It
promotes adaptive planning, evolutionary
development and delivery, a time-boxed
iterative approach, and encourages rapid
and flexible response to change
12. •Agile software engineering represents a
reasonable compromise to conventional
software engineering for certain classes of
software.
•Agile development processes can deliver
successful systems quickly.
•Agile development stresses continuous
communication and collaboration among
AGILE PROCESS
13. • Team motivation is good because programmers want
to meet the deadline for every sprint.
• Transparency allows the project to be followed by all
the members in a team or even throughout the
organisation;
• A simple “definition of done” is used for validating
requirements
• Focus on quality is a constant with the scrum
method, resulting in fewer mistakes;
• The dynamics of this method allow developers to
reorganise priorities, ensuring that sprints that have
not yet been completed get more attention;
• Good sprint planning is prioritised, so that the whole
14. • It can be difficult to keep the interest of customers /
users who are involved in the process.
• Team members may be unsuited to the intense
involvement that characterizes agile methods.
• Prioritizing changes can be difficult where there are
multiple stakeholders.
• Maintaining simplicity requires extra work.
• Contracts may be a problem as with other approaches to
iterative development.
• Because of their focus on small, tightly-integrated
teams, there are problems in scaling agile methods to
large systems.
• Less emphasis on documentation - harder to maintain