Waterfall Life Cycle


The waterfall model is the oldest approach used in systems development for software engineering.

Designed in 1970 by Winston W Royce, the model sets out how a system should be developed in a linear and sequential form. It sets out distinct goals that are to be achieved in each phase of the development process.

  1. Requirements - This stage is a one to one meeting with the customer to understand the user requirements. It’s important to meet client’s expectations, if there are any faults at this stage this will be a loss to the organisation.

  2. System and software design – The system design separates into either hardware or software so the process becomes easier for implementation. This is referred to as system architecture. Implementation and programming is done at this stage.

  3. Implementation and unit testing – During this stage, development of the software takes place. Unit testing involves checking that each unit meets the specification.

  4. Integration and system testing – All the programs and software are integrated and tested to ensure that all requirements are met. If any errors occur then the software needs to be retested. After the testing is complete, the system is delivered to the consumer.

  5. Operation and maintenance – This is the final stage of the waterfall model; this is the longest life-cycle phase. Maintenance involves correcting errors that were not found in the earlier stages.

  6. Advantages of the Waterfall Model

    The Waterfall model is very straight forward to use and works well for smaller projects once the requirements are understood.

    Disadvantages of the Waterfall Model

    The Waterfall Life Cycle is time consuming, costly and programmers cannot move on to the next stage unless the previous part is completed. There is a high amount of risk and uncertainty.