waterfall model in software engineering[check here]

 What is waterfall model

The Waterfall life cycle model was introduced by the Winston Royce in 1970 and it is currently the most commonly used model for software development.
Waterfall Model

The  waterfall model is an engineering model designed to apply all the principles for development of software. The idea is following

"There are different stages to the development and the outputs of the first stage'Flow' into the second stage and these outputs 'Flow' into the third stage and so on".
Waterfall model in software engineering

There are two variations of waterfall model:

  • Original Waterfall Life-Cycle Model
  • Modified Waterfall Life-Cycle Model

Original Waterfall Life-Cycle Model

This model is also known as Classic,Conventional or Traditional Software Life-Cycle Model 

It emphasize that software is developed in sequential phase(i.e. analysis,design,code etc.) with established milestone, documents, and reviews at the end of each phase.

There is no overlap of each phase (i.e. design can't be begin until analysis is completed) and the entire scope of the project is addressed at each phase. 

This model is often criticized as being a "One way street,with no returning back" where once analysis is completed, design can be begin, but once design has begun, analysis can't be re-entered i.e. requirements are frozen. This criticism really applies to a predecessor life cycle called the stage-wise.

Limitations of Original Waterfall Life-Cycle Model

  • This model is just like a one way street. Once the phase is completed and the next phase has started then here is no chance for coming back.
  • It lacks of overlapping and iterations among phases.
  • The requirements are frozen in this model.

Modified Waterfall Life-Cycle Model

The Modified waterfall life-Cycle model represents an experience-based refinement of the original waterfall life-cycle model. This model was introduced to overcome the limitations of the original model.

The model needed to provide for overlap and feedback between phases. Rather then being a simple linear model, it needed to be an iterative model. To facilitate the completion of the goals, milestone, and tasks, it is normal to freeze parts of the development after a certain point in the iteration.

The major extensions in this model over the original model.
  • It introduces iteration between the phases along with the restriction of providing iterations, if possible, only between successive phases in order to reduce the expense of revision that results form iterations over multiple phases.
  • The provision for verification and validation of the phase output in the software life cycle are added.
  • Needed to provide for overlap and feedback between phases.

Waterfall model advantages and disadvantages


  • It is  much better model of the software process in practice.
  • Good if requirements are given initially.


  • It is harder to manage this model.
  • No stage is really finished (until the system is no longer use).
  • No clear "Milestone" in the development process.

Post a comment