Home Contact Us Français Search Site Map
Waterfall Model
What is the Waterfall Model?
 
The waterfall model is a sequential software development model in which development is seen as flowing steadily downwards (like a waterfall) through several phases.

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.

Usage of the waterfall model

In Royce's original waterfall model, the following phases are followed perfectly in sequential order:
 
 
 
Requirements specification
Requirements are captured and set in stone.
Design
A "blueprint" is drawn up for the developers to implement.
Implementation
Integration
Testing
Installation
Maintenance
 
 

The waterfall model maintains that one should move to a phase only when its preceding phase is completed and perfected. Phases of development in the waterfall model are thus discrete, and there is no jumping back and forth or overlap between them.

 
 
 
  Whitepapers
Architected Approach for Microsoft.NET Development
Best Practises in Software Testing
Business Alignment Working with Requirements
Business Process Modeling
Introducing Select Perspective
Select Perspective and the Microsoft Solutions Framework
Service Orientation Architecture and Model Driven Architecture
Supporting the OMG's Model Driven Architecture
UML for Components and Process Control
Understanding Requirements
  Movies
Model Driven Architecture Introduction
Select Component Factory integration with Microsoft Visual Studio
Select Solution for .NET
Select Solution for MDA
  Products
Select Architect
Select Solution Factory
Select Process Director
Select Solution for Microsoft .NET
Select Solution for MDA
 
 

As many find this approach particularly rigid, modifications have been made over the years and new variants of the model have emerged

Criticism of the waterfall model

The waterfall model however is argued by many to be a bad idea in practice, mainly because of their belief that it is impossible to get one phase of a software product's lifecycle "perfected" before moving on to the next phases and learning from them. A typical problem is when requirements change midway through, resulting in a lot of time and effort being invalidated due to the "Big Design Up Front".

In summary, the criticisms of a non-iterative development approach (such as the waterfall model) are as follows:

 
 
Poor flexibility; the majority of software is written as part of a contract with a client, and clients are notorious for changing their stated requirements. Thus the software project must be adaptable, and spending considerable effort in design and implementation based on the idea that requirements will never change is neither adaptable nor realistic in these cases.
Unless those who specify requirements and those who design the software system in question are highly competent, it is difficult to know exactly what is needed in each phase of the software process before some time is spent in the phase "following" it.
Constant testing from the design, implementation and verification phases is required to validate the phases preceding them. Users of the waterfall model may argue that if designers follow a disciplined process and do not make mistakes that there is no need to constantly validate the preceding phases.
Frequent incremental builds (following the "release early, release often" philosophy) are often needed to build confidence for a software production team and their client.
It is difficult to estimate time and cost for each phase of the development process.
The waterfall model brings no formal means of exercising management control over a project and planning control and risk management are not covered within the model itself.
Only a certain number of team members will be qualified for each phase, which can lead to some team members twiddling their thumbs.
 
 
 
 
 
References
Information is taken in whole, or in part, from Wikipedia, The Free Encyclopedia - which is a fully independent knowledge resource that has no affiliation with Select Business Solution. As a result, Select Business Solutions takes no responsibility for the accuracy. If you believe the information is wrong, please contact us and we will investigate.
 
 
 
Learn More

To find out more about how Select Business Solutions can help you Contact Us today.
 
 
 
 
 

CMMI and Component Based Development Modeling tools available for free trial
About Us
Customers
Downloads
Learning Zone
News & Events
Partners
Products
Services
Solutions
Support
Webcasts
Industry Links

Analysis and Design
Business Intelligence
Component Reuse
Process Maturity
SD Library
Books

 

 


About Us | Customers | Downloads | Learning Zone | News & Events | Partners | Products | Services | Solutions | Support | Webcasts | Industry Links  
Copyright 2006, Select Business Solutions, Inc. All rights reserved.