Waterfall Development Model

Waterfall Development Model

Waterfall Development Model

The waterfall model is one of the earliest models to be designed. It is a sequential software development process. In the waterfall model, tasks are executed sequentially. 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.

Requirements

The first phase of the waterfall model is requirements elicitation, where end user requirements are captured and a feasibility study is conducted. A software requirements document (SRS) is then created.

Design

In this phase, the high- level and low-level software design is carried out.

Implementation

Developers start coding and finish software development in this phase.

Testing

After the developers have completed the coding and provided the testers with a final build, testing begins in this phase.

Deployment

After the software has been tested and released, it is used in the customer environment.

Maintenance

In maintenance phase the maintenance activities are done for the deployed software.

Disadvantages of Waterfall Model

  1. 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.
  2. The cost of defects is very high in this model as they are found in the end of the project life cycle.
  3. Requirements need to frozen before any other phase can start.