The Waterfall methodology is one of the oldest methodologies in Software development lifecycle. It has been used to create many multi-million even sometimes billion dollar projects.
In a nutshell, this model emphasizes process over all else. Here the phases progress is in a straight line i.e one phase begins only after the previous phase is completed and we cannot go back to the previous phase. Everything is planned and this is considered to be the traditional method of software development
I am not going to talk much about the components of the Waterfall methodology because there are many resources in the web which do the same. But as a business analyst it is important we understand when waterfall methodology can be used.
The waterfall methodology is best used in the following scenarios:
- When the end is clear in the mind of the end user i.e if this is a software which monitors compliance or maintains benchmarks then we know what the end product should like. In this scenario, waterfall methodology is the best choice
- when the project is large and complicated. In this scenario, it is important to define the end objectives clearly and allocate resources as large complicated projects tend to be very expensive esp projects done for the public sector
- When the user requirements will not change mid-way.
The waterfall methodology has some very good advantages. They are as follows:
- Good for resource and time constrained projects.
- Progress can be monitored easily
The cons are as follows:
- There is no flexibility. The project should be fully planned out in the requirement stage itself
- Problems will be discovered only during user testing, not earlier