Definition - What does Waterfall Model mean?
The waterfall model is a sequential software development process model that follows the following defined phases:
Using the software development life cycle's (SDLC) common steps, the waterfall model enforces moving to the next phase only after completion of the previous phase. Returning to a previous phase is frowned upon unless there is a clear need to do so.
Techopedia explains Waterfall Model
As its name implies, the phases in the waterfall model consistently progress downward. These phases should be followed in sequence to be effective, and in some industries - such as construction and manufacturing - the process must be followed.
In theory, the waterfall model sounds like a good practice, but it has been criticized by many in the software development industry. First, an SDLC phase cannot be perfected before moving to the following phase. Also, in its literal form this model lacks flexibility for requirement and design adjustments, which makes it highly difficult for programmers and developers to integrate design adjustments.
However, there are some sound principles from the waterfall model that can be applied to successful software development. This is a partial list of these principles:
- Problems can be solved more easily if they are more clearly defined.
- Large amounts of code are more traceable if they are structured.
- Human work should always be verified.
- A good project life-cycle plan improves the development process.
- System documentation is a byproduct of the development process, and is not done later, as an afterthought.
The waterfall model was an early attempt to provide structure, metrics and control to the development of large and complex application systems, usually mainframe systems.