Waterfall Model - BogdanViblyy/Buketov GitHub Wiki
The Waterfall Model follows a step-by-step, linear process for software development. Each stage flows into the next like water over a series of ledges—once one phase is finished, the project moves on to the next without returning to the previous step.
-
Key Phases Typically Include:
-
Gathering and documenting all system requirements.
-
Designing the system architecture and its components.
-
Coding the software based on the design specifications.
-
Testing the complete system for defects and issues.
-
Deploying the finished product to users.
-
Performing maintenance and updates after release.
-
-
Each phase must be completed entirely before moving forward.
-
Emphasizes planning, structure, and thorough documentation from the outset.
Waterfall Model | Iterative/Incremental Models | |
---|---|---|
Development Flow | Straight-line, phase-by-phase | Cyclical, repeatable steps |
Adaptability | Inflexible—changing requirements is tough | Flexible—welcomes evolving needs |
Feedback Timing | Late—usually during testing | Early and ongoing |
Risk Management | Risks surface late in the process | Risks identified and mitigated early |
Delivery Style | One final product release | Frequent deliveries of usable parts |
User Involvement | Low—mainly at the beginning and end | High—feedback is continuous |
Ideal For | Projects with fixed, well-understood goals | Projects with shifting or unclear goals |