🧱 Waterfall
The Waterfall model is a linear, sequential project‑management methodology where work flows downward through fixed phases — like a waterfall — with each phase completed fully before the next begins. It’s one of the oldest and most structured approaches in software engineering.
Core idea of Waterfall
Section titled “Core idea of Waterfall”Waterfall assumes that requirements are stable, scope is well‑defined, and changes are minimal.
The project moves through a series of stages with no overlap and usually no going back.
The Waterfall phases (classic 5–7 step model)
Section titled “The Waterfall phases (classic 5–7 step model)”- Requirements — gather and document everything the system must do.
- Design — create architecture, data models, and technical specifications.
- Implementation — developers write the code according to the design.
- Verification — test the system to ensure it meets requirements.
- Deployment — release the product to users.
- Maintenance — fix issues and make small updates.
Each phase produces formal documentation and sign‑off before moving forward.
Strengths of Waterfall
Section titled “Strengths of Waterfall”- Clear structure and predictable timeline
- Easy to understand and manage
- Works well when requirements are fixed
- Strong documentation for compliance or audits
- Ideal for projects with stable technology and low uncertainty
Limitations of Waterfall
Section titled “Limitations of Waterfall”- Hard to adapt if requirements change
- Testing happens late, increasing risk
- Long time before users see working software
- Assumes perfect upfront knowledge
- Not suitable for fast‑changing or innovative projects
Where Waterfall is still used
Section titled “Where Waterfall is still used”Waterfall remains common in:
- Government and defense projects
- Construction and engineering
- Medical, aerospace, and regulated industries
- Enterprise systems with strict compliance needs
Waterfall vs Agile
Section titled “Waterfall vs Agile”| Aspect | Waterfall | Agile |
|---|---|---|
| Approach | Sequential | Iterative |
| Flexibility | Low | High |
| Feedback | Late | Continuous |
| Documentation | Heavy | Lightweight |
| Best for | Stable, predictable projects | Changing, complex projects |
Waterfall = plan everything → design → build → test → deliver, with minimal change allowed.
It’s structured, predictable, and documentation‑heavy — great for stable environments, but rigid for modern software development.