Waterfall model is one of the earliest models to be designed. It is a sequential software development process. In waterfall model tasks are executed in a sequential fashion. The progress of software development is seen as a sequence of phases like Requirements->Design->Implementation->Testing->Deployment->Maintenance.
The basic waterfall model is shown below:
In the waterfall model we start with the feasibility study and move down through the various phases upto Implementation, Testing, Deployment, maintenance and into live environment.
Phases of Waterfall development model.
The first phase in waterfall model is requirements gathering, here the end user requirements are captured and feasibility study is done. After this software requirements document(SRS) is prepared.
High level and low level software design is done in this phase.
Developers start coding and finish software development in this phase.
After developers are done with coding and provide final build to testers, testing starts in this phase.
After testing is done and software is released it is then deployed in customer environment.
In maintenance phase the maintenance activities are done for the deployed software.
Disadvantages of Waterfall Model
- As you can see in waterfall model testing tends to happen towards the end of the project life cycle so defects are detected close to the live deployment date which makes it very difficult to find and fix those defects.
- The cost of defects is very high in this model as they are found in the end of the project life cycle.
- Requirements need to frozen before any other phase can start.