What is waterfall model?

What is waterfall model?


Waterfall model is a software development process. It describes a system development method that is linear and sequential in nature.

Waterfall model is the first model of software development life cycle (SDLC). This waterfall model was first introduced by Dr. Winston W. Royce in 1970. This model has many development phases. Once a phase of development is completed the developer proceeds to another phase. It is very much easy to use and implement. Implementing a waterfall model within a new software project is a rather straightforward process due to its step-by-step nature. Each phase proceeds with strict order without overlapping.

Waterfall model

The development phases of waterfall model are:

Requirement Analysis – This is the first phase. In this phase, the requirements for software development are gathered from the client. The client provides the guidelines of the software that he needs.

Design – In this phase, the designing of the software is done. The user interface is designed according to the client.

Implementation – This is the most important phase of this model where the system is developed. The actual source code for the software is written in this phase using different programming languages.

Testing – After the coding is finished, the next stage is testing. Testing is done in order to find out the errors and bugs in the system. If there are any bugs in the software, it needs to be tackled as soon as possible.

Deployment – In this phase, the software is deployed in the respective environment. The system goes live and the users can use the system.

Maintenance – Once the system is ready for use, the client may request certain changes or maintenance on the system. Maintenance is required to keep the system up to date.

When to use waterfall model?

  • This model is used only when the requirements are very well known, clear and fixed.
  • Product definition is stable.
  • Technology is understood.
  • There are no ambiguous requirements Ample resources with required expertise are available freely.
  • The project is short.
  • If the developer circle is small.


  • This model is simple and easy to understand and use.
  • It is easy to manage due to the rigidity of the model – each phase has specific deliverables and a review process.
  • In this model phases are processed and completed one at a time.
  • Phases do not overlap.
  • Waterfall model works well for smaller projects where requirements are very well understood.


  • Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage.
  • No working software is produced until late during the life cycle.
  • High amounts of risk and uncertainty.
  • Not a good model for complex and object-oriented projects.
  • Poor model for long and ongoing projects.
  • Not suitable for the projects where requirements are at a moderate to high risk of changing.


  1. It was great seeing how much work you put into it. Even though the design is nice and the writing is stylish, you seem to be having trouble with it. I think you should really try sending the next article. I’ll definitely be back for more of the same if you protect this hike.

  2. It was great seeing how much work you put into it. The picture is nice, and your writing style is stylish, but you seem to be worrying that you should be presenting the next article. I’ll almost certainly be back to read more of your work if you take care of this hike.

Comments are closed.