4.2.1 The Basic Waterfall Development Model
![The waterfall shows the sequence of steps from system requirements through operations and maintenance as a cascade of steps where each step feeds the next and provides feedback to the previous step. The steps are system requirements, software requirements, preliminary design, detailed design, code and debug, test and pre-operations, and operations and maintenance.](54_files/image001.gif)
Figure 4‑1 Waterfall Development Model [Royce 1969]
Highlights of the waterfall development model:
- Initial development model for software systems development
- All requirements are known up-front
- Form follows function philosophy: “What to do? “[Function] before “How to do it?” [Form]
- Still used for certain types of systems:
- systems with low complexity, and systems that cannot evolve
- Relationships between the early phases of the project to the end results are not illustrated
- Stakeholder involvement is not recognized beyond the initial requirements
- Control gates not always obvious