Waterfall is a linear, sequential approach to software development. Teams complete predefined stages in order, typically using detailed plans and fixed requirements. It suits projects with clear scope and a well-defined end goal. section 7.1.1 section 7.1.3
A typical waterfall project moves through these stages:
- Gather requirements. section 7.1.1
- Design the solution. section 7.1.1
- Implement the design. section 7.1.1
- Test the software, then maintain it by addressing bugs or other problems. section 7.1.1
Figure 7.1 Waterfall method phases
View the phases as a sequence, with each stage completed before the next begins. section 7.1.1
Upfront planning and stakeholder sign-offs can help control scope and clarify expectations. The trade-off is that changes become harder after a phase is complete and may add delays or costs. Unlike waterfall, agile expects change and delivers work incrementally; the right choice depends on project needs and organizational culture. section 7.1.1 section 7.1.3
Table 7.2 Agile vs. waterfall (view table figure)
| Criteria |
Agile |
Waterfall |
|---|---|---|
| Definition |
An iterative and flexible approach to project management that emphasizes collaboration, adaptability, and customer satisfaction |
A linear and sequential approach to project management that emphasizes planning, documentation, and strict control |
| Focus |
Customer satisfaction and delivering value |
Meeting project requirements and staying within budget |
| Planning |
Continuous planning throughout the project |
Comprehensive planning at the beginning of the project |
| Requirements |
Requirements not fixed and can change as the project progresses |
Requirements fixed and defined at the beginning of the project |
| Testing |
Continuous testing throughout the project |
Testing at the end of each phase |
| Feedback |
Regular feedback from customers and stakeholders |
Limited feedback from customers and stakeholders |
| Risk management |
Constantly monitoring and mitigating risks |
Risk management done at the beginning of the project |
| Time frame |
Shorter development cycles (two to four weeks) |
Longer development cycles (three to six months or longer) |
Compare waterfall and agile across planning, requirements, testing, and feedback. section 7.1.3
Calculating a waterfall defect rate
For a waterfall project with 1,000 lines of code and 150 defects, divide defects by lines of code and multiply by 100: the defect rate is 15%. section 7.4.3


