Waterfall model is recommended to be used when:
- Requirements are stable and not changed frequently.
- An application is small.
- There is no requirement which is not understood or not very clear.
- The environment is stable
- The tools and techniques used is stable and is not dynamic
- Resources are well trained and are available.
Pros and Cons of Waterfall Model:
Advantages:
- Simple and easy to understand and use.
- For smaller projects, the Waterfall model works well and yield the appropriate results.
- Since the phases are rigid and precise, one phase is done one at a time, it is easy to maintain.
- The entry and exit criteria are well defined, so it easy and systematic to proceed with quality.
- Results are well documented.
Disadvantages:
- Cannot adopt the changes in requirements
- It becomes very difficult to move back to the phase. For example, if the application has now moved to the testing stage and there is a change in requirement, It becomes difficult to go back and change it.
- Delivery of the final product is late as there is no prototype which is demonstrated intermediately.
- For bigger and complex projects, this model is not good as a risk factor is higher.
- Not suitable for the projects where requirements are changed frequently.
- Does not work for long and ongoing projects.
- Since the testing is done at a later stage, it does not allow identifying the challenges and risks in the earlier phase so the risk mitigation strategy is difficult to prepare.