Search here

Pages

What is Waterfall model and list its advantages, disadvantages



What is Waterfall model

List its advantages and disadvantages

What is Waterfall Model ?

The waterfall model is a popular version of the systems development life cycle model for software engineering. Often considered the classic approach to the systems development life cycle, the waterfall model describes a development method that is linear and sequential. Waterfall development has distinct goals for each phase of development. Imagine a waterfall on the cliff of a steep mountain. Once the water has flowed over the edge of the cliff and has begun its journey down the side of the mountain, it cannot turn back. It is the same with waterfall development. Once a phase of development is completed, the development proceeds to the next phase and there is no turning back.
sdlc-waterfall-model


History of the Waterfall Model :

In 1970 Royce proposed what is now popularly referred to as the waterfall model as an initial concept, a model which he argued was flawed (Royce 1970). His paper then explored how the initial model could be developed into an iterative model, with feedback from each phase influencing previous phases, similar to many methods used widely and highly regarded by many today.

Despite Royce's intentions for the waterfall model to be modified into an iterative model, use of the "waterfall model" as a purely sequential process is still popular, and, for some, the phrase "waterfall model" has since come to refer to any approach to software creation which is seen as inflexible and non-iterative.

When to use the waterfall model:

  • 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.


Stages of Waterfall model:

stages-of-waterfall-model
  • Project Planning
  • Requirements definition
  • Design
  • Development
  • Integration and Testing
  • Installation/Acceptance
  • Maintenance

Advantages of waterfall model:

advantages-of-waterfall-model

  • It allows for departmentalization and managerial control.
  • Simple and easy to understand and use.
  • Easy to manage due to the rigidity of the model – each phase has specific deliverables and a review process.
  • Phases are processed and completed one at a time.
  • Works well for smaller projects where requirements are very well understood.
  • A schedule can be set with deadlines for each stage of development and a product can proceed through the development process like a car in a car-wash, and theoretically, be delivered on time.

Disadvantages of waterfall model:

disadvantages-of-waterfall-model

  • It does not allow for much reflection or revision.
  • 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.
Check about V-Model in SDLC (Software Development Lifecycle)

3 comments :

  1. Great article! The initial explanation helped me to understand the model better.

    ReplyDelete

Share your feedback and queries here. Your feedback are more valuable to us!