Waterfall model – Different phases, advantages, and disadvantages

phases of waterfall model

What is the Waterfall model?

Waterfall Model is a sequential model that divides software development into different phases. It is In the waterfall model, progress is as flowing steadily downwards (like a waterfall) through the phases of the feasibility study, analysis, design, coding, testing, implementation, and maintenance.

The different phases of the waterfall model are

1. Feasibility study

  1. This phase is used to check whether the new proposed system is economically, technically, and operationally feasible or not.
  2. In this phase, information is gathered about what outputs to be produced, what input is required, and what process can be used and then different solution strategies are formulated.
  3. The output of this phase is a feasibility report.

2. Requirement analysis and specification

  1. This phase analyzes and specifies the requirement of users/customers and documents them properly.
  2. Finally, the requirements organized systematically in the form of a document called a software requirement specification (SRS) document.
  3. The output of this phase is a software requirement specification (SRS) document.

3. System and software designing phase

  1. In the design phase, the overall structure or architecture is developes which is the transformation of the requirement specified in software requirement specification (SRS).

4. Coding and module testing

  1. In this phase, system design is translating into source code also called program code.
  2. The output of this phase is a programmed module.

5. Integration and system testing

  1. The individually tested module is integrating here according to the planned system to develop the system.
  2. There are two main testings: Alpha testing – Which is done at the developer end and Beta testing – Which is done at the user end.
  3. The output of this phase is the testing and integration report.

6. Implementation / Installation and maintenance

  1. In this phase, the system is installed at the user end and it is checked if there is any up-gradation required in hardware or software element at the user end.
  2. There is a need of maintaining the software once the software installation is complete. This ensures at the software is working properly on a user site.

Advantages and disadvantages of waterfall model

Advantages of waterfall model :

  1. It is easy to use and understand.
  2. No overlapping between the phases.
  3. This model is suitable for small projects.
  4. It is a linear sequence model. It works in a flow step by step.
  5. Each phase generates output for the next phase that’s why its visibility is high.
  6. It provides more flexibility.
  7. This model provides better documentation for the employees.
  8. Low cost.
  9. It is easy to maintain.

Disadvantages of waterfall model:

  1. This model does not work well for large projects.
  2. We cannot go back to the previous phase to change anything or any requirement.
  3. It can take a long time to complete the project.
  4. It is a very hard task to make any changes in the project if the customer not satisfies.
  5. High risk to make a project.