Waterfall Model

Go back to Tutorial

The waterfall model is a sequential design process, often used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design, Construction, Testing and Maintenance.

The waterfall development model originates in the manufacturing and construction industries; highly structured physical environments in which after-the-fact changes are prohibitively costly, if not impossible. Since no formal software development methodologies existed at the time, this hardware-oriented model was simply adapted for software development.

In Royce’s original waterfall model, the following phases are followed in order:

  • Requirements specification
  • Design
  • Construction (AKA implementation or coding)
  • Integration
  • Testing and debugging (AKA Validation)
  • Installation
  • Maintenance

The waterfall model proceeds from one phase to the next in a sequential manner. For example, one first completes requirements specification, which after sign-off is considered “set in stone.” When requirements are completed, one proceeds to design. The software in question is designed and a blueprint is drawn for implementers (coders) to follow—this design should be a plan for implementing the requirements given. When the design is complete, an implementation of that design is made by coders. Towards the later stages of this implementation phase, separate software components produced are combined to introduce new functionality and reduced risk through the removal of errors.

Thus the waterfall model maintains that one should move to a phase only when its preceding phase is completed and perfected. However, there are various modified waterfall models (including Royce’s final model) that may include slight or major variations upon this process.

Go back to Tutorial

SoapUI Project Window
Agile or Extreme development model

Get industry recognized certification – Contact us

keyboard_arrow_up
Open chat
Need help?
Hello đź‘‹
Can we help you?