Waterfall Development
Waterfall is a linear and sequential project management approach.
The team gathers all requirements up front and then designs the solution. This provides a clear vision of what the end product should look like.
In Waterfall development, stakeholders are heavily involved during the requirement gathering and design phases.
The software development team then moves to development, testing and deployment.
Each phase needs to be completed before moving to the next phase. Usually, this means the customer does not provide feedback or request changes until the end of the project.
The focus of waterfall is successful project delivery.
Here are some key takeaways for Waterfall development:
Linear and sequential
One large iteration
Everything is defined up front
Minimal changes to the plan once development starts
Testing at the end
Delivery at the end of the project
Customer involvement at beginning and end of project
Project-focused
Agile Development
In contrast, Agile development is an incremental and iterative approach.
The same phases are included into short, time-boxed iterations or Sprints.
Requirements are captured at a high-level and the customer provides feedback after each iteration.
Changes are welcomed after each Sprint and the process repeats until the solution is complete.
Agile introduces a product mindset with a focus on customer satisfaction and value delivery.
Some key takeaways for Agile are:
Incremental and iterative approach
Multiple iterations
High-level requirements
Continuous testing & feedback loops at each iteration
Changes are embraced every iteration
High customer involvement
User Focused
Comments