Waterfall Model - Wa1ssy/Agiilsed-Tarkvaraarendus GitHub Wiki
What is the Waterfall Model?
The Waterfall Model is a traditional software development methodology that follows a linear and sequential approach. The process flows in one direction — like a waterfall — through clearly defined phases:
Requirements
Design
Implementation (Coding)
Testing
Deployment
Maintenance
Each phase must be completed before the next begins, and there is usually no going back to a previous phase.
IMAGES:
Where is it used?
The Waterfall Model is typically used in:
Projects with well-defined and unchanging requirements
Government or military projects, where documentation and predictability are essential
Short-term projects with low risk
Hardware development, where changes are costly after production starts
Pros of the Waterfall Model:
- Simple and easy to understand
- Clear structure and milestones
- Easy to manage due to rigidity
- Good for smaller projects or those with fixed requirements
- Strong documentation at every stage
Cons of the Waterfall Model:
- Inflexible to changes — hard to go back once a phase is complete
- Late testing — problems may be found late in the process
- Not ideal for complex, evolving projects
- Poor adaptability to customer feedback during development
- High risk and uncertainty if requirements are misunderstood at the start