Waterfall Vs Agile
Waterfall Vs Agile
Waterfall Vs Agile
In "The Waterfall" approach, the whole process of software development is divided into separate phases.
In this Waterfall model, typically, the outcome of one phase acts as the input for the next phase
sequentially.
When to use the waterfall model
When the requirements are very well known, clear and fixed.
Product definition is stable.
Technology is understood.
There are no ambiguous requirements
Ample resources with required expertise are available freely
The project is short.
A real-world example of catching a bug in production is the Samsung Note 7 fiasco. Experts speculate
that one of the problems with the Note 7 phones involved its battery management system. This system
monitors electric current and stops the charging process when the battery is full. A fault in this system
could lead the battery to overcharge, become unstable, and eventually explode.
This bug fix cost Samsung nearly $17 billion. Had the company caught the issue earlier, they could have
saved a lot of money and headaches, as well as their reputation.
Advantages Dis-Advantages
Simple and easy to understand and use High amounts of risk and uncertainty.
Before the next phase of development, Error can be fixed only during the phase
each phase must be completed
Clearly defined stages. No working software is produced until late
during the life cycle.
Suited for smaller projects where It is not desirable for complex project where
requirements are well defined requirement changes frequently
The Agile Development Methodology
The Agile development methodology takes a collaborative approach to software development where
requirements and solutions evolve through iterations.
Epic
List of the new features, changes to existing features, bug fixes, infrastructure changes or other
activities that a team may deliver in order to achieve a specific outcome.
Iteration (Sprint)
A timebox during which development takes place. The duration may vary from project to project
and is usually fixed.
Scrum
A process framework used to manage product development and other knowledge work.
Product Owner
Person responsible for making sure the team delivers the desired outcome.
Scrum Master
Person responsible for ensuring the team lives agile values and principles and follows the
practices that the team agreed they would use.
Sprint
A repeatable fixed time-box during which a "Done" product of the highest possible value is
created. Usually 2 to 4 weeks.
Sprint Planning
An event that occurs at the beginning of a sprint where the team determines the product backlog
items they will work on during that sprint.
Retrospective
The team meets regularly to reflect on the most significant events that occurred since the previous
such meeting, and identify opportunities for improvement.
Scrum of Scrums
A technique to scale Scrum up to large groups (over a dozen people), consisting of dividing the
groups into Agile teams of 5-10.
Team / Roles
Waterfall Agile
Product Owner Product Owner
Project Manager / Team Lead Scrum Master
Software Developers
Software Testers Development team
User Acceptance Testers
Waterfall Model Agile Model
Planning – Waterfall model requires planning for Planning in Agile projects is generally on a short term
long term which requires complete clarity in since the work product is delivered in 2 to 4 weeks
requirements
Waterfall projects are driven from the top of a Teams are self governing in an Agile project
projects hierarchy
Sequential planning with clearly defined milestone Planning in Agile projects is iterative in nature and
details and predictability are characteristics of adapts to changing requirements
Waterfall projects
There is no much dependency on the end users There is significant dependency on the users, all the
during the development and other intermediate way through the lifetime of the project
phases
Complete requirements are clearly documented to Requirements continue to develop over the lifetime
begin with of the project and are defined when they are
needed, i.e, just in time
Team members with different roles have different Equal responsibility is shared between the roles
responsibility levels
Quality Control activities like Testing are performed Quality Control activities are performed throughout
towards the end of the project the project
Delivery of the project at the end is characterized by Working product features are delivered in each
a big bang event sprint of the project