Archive for the ‘WaterFall Model’ Category

Feb 03

May 12th, 2009

WaterFall Model is the most common and classic of life cycle models, also referred to as a linear-sequential life cycle modelWaterFall Model is very simple to understand and use.  In a waterfall model, each phase must be completed in its entirety before the next phase can begin.  At the end of each phase, a review takes place to determine if the project is on the right path and whether or not to continue or discard the project.  Unlike what I mentioned in the general model, phases do not overlap in a waterfall model.

Requirements: Defines needed information, function, behavior, performance and interfaces.

Design: Data Structures, software architecture, interface representations, algorithmic details.

Implementation: Source code, database, user documentation, testing.

Advantages:

  • Simple and easy to 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.

Disadvantages:

  • Adjusting scope during the life cycle can kill a project
  • No working software is produced until late during the life cycle.
  • High amounts of risk and uncertainty.
  • Poor model for complex and object-oriented projects.
  • Poor model for long and ongoing projects.
  • Poor model where requirements are at a moderate to high risk of changing.

When to Use Water Fall Model:

  • Requirements are very well known.
  • Product definition is stable.
  • Technology is understood.
  • New version of an existing product.
  • Porting an existing product to a new platform.