The waterfall model
Developed in the 1970s [Royce 1970].
The Waterfall Model represent an experience-based refinement of the classical sequential software life-cycle model.
1. It introduces iteration between the phases along with the restriction of providing iterations, if possible, only between successive phases in order to reduce the expense of revision that results from iterations over multiple phases.
2. It provides for validation of the phase outputs in the software life cycle.
This approach modifies the strictly sequential approach prescribed by the classical life-cycle model and advances an incremental development strategy. Incorporating a stepwise development strategy for the system specifications and the system architecture as well as phase-wise validation helps to better manage the effects of poor decisions and to make the software development process more controllable.