- It was the first model introduced.
- It is also known as linear sequential life cycle model.
- It is very simple and understand to use.
- It is basic of all the process development models.
- It is a theoretical model, not to use practically.
- It is called Waterfall because stages goes top to bottom like a natural waterfall.
- When one stage gets completed then only move to next stage.
- Not supposed to come back to previous stage.
- This is considered conventional or classical software life cycle model.
Following is the illustration of Waterfall model:
Advantages of Waterfall Model:
- Simple and easy to understand and use.
- Phases do not overlap.
- Phases are executed one at a time.
- Each phase has specific output and a review process, which makes it easy to manage.
- Best for small projects where requirements are very well understood.
Disadvantages of Waterfall model:
- When model in execution it is very difficult to go back and make changes in previous stage.
- Risk is very high.
- Not suitable for complex and object oriented projects.
- Not suitable for large projects.
- Not suitable for when requirements are not understood, or requirements are not fixed.
When to use Waterfall model:
- When the requirements are fixed, understood.
- Product is understood.
- Technology is understood.
- When the project is short.
- It is costly if project requirements are frequently changing.
Why does the Waterfall model sometimes fail?
Real projects rarely follows the sequential approach which Waterfall model follows. This creates problem when error occurred and we can’t go back to the previous stage to correct it.