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:

waterfall

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