The Waterfall model is one of the most commonly used software process models. This model was designed so that software development was broken down into several phases and each phase, when completed, flows into the next. Waterfall model consists of five steps as shown in the figure:
Why Waterfall Model?
The main reasons for using the Waterfall model are that it is:
- Linear and sequential in nature. The phasing of each and every activity is defined and identified.
- Easier to implement since the requirements are separated into two – the design and development requirements.
- Clear since at the end of each phase, a document is prepared as an output. This document is very essential for the communication or connection of two phases.
- Simple to follow. Allows the programmer to cycle back and correct errors.
Advantages of Waterfall Model
The waterfall model offers numerous advantages for software developers:
- The staged development cycle enforces discipline.
- Every phase has a defined start and end point.
- Progress can be conclusively identified (through the use of milestones) by both vendors and clients.
- The emphasis given on requirements and design before writing a single line of code ensures minimal wastage of time and effort. It reduces the risk of schedule slippage, or of customer expectations not being met.