Waterfall Methodology

A clearly defined sequence of execution with project phases that do not advance until a phase receives final approval; linear sequential phases for planning, building, and delivering new features.

Click here to learn about each step!

Requirement Gathering

Define the problem. Identify scope of problem and develop plan/strategy to solve the problem.

Analysis

Investigate problem to define requirements necessary for solving it. Define “what”

Design

Design a solution based upon the requirements. Define “how”

Coding

Implement (program) the design.

Testing

Test the program to ensure that requirements have been satisfied

Operations/Maintenance

Fix or improve applications based upon use or changes in the environment

Slideshow!

View the information on this page in a slideshow format! Useful for classrooms and all other group settings.

Learning Objectives

  • Develop Comprehensive Project Plans: Gain skills to create detailed project plans with clearly defined milestones, deliverables, and timelines. 
  • Identify and Manage Risks and Dependencies: Develop strategies to foresee potential risks and manage inter-dependencies between phases in a Waterfall project. 
  • Monitor and Track Project Progress: Learn techniques to monitor project progress and manage resource allocation using Waterfall tools.

Characteristics

  • The Waterfall approach is well-suited for projects with clear, unchanging requirements and where a thorough upfront understanding of the project is available
  • Linear and Sequential
    • Each phase must be completed before moving to the next
  • Clear Documentation
    • Each phase is thoroughly documented, ensuring clear guidelines and specifications.
  • Fixed Scope
    • Requirements are defined upfront with limited flexibility for changes.
  • Late Testing
    • Testing occurs after implementation, delaying the discovery of issues

Benefits

  • Provides a way for large or changing teams to work together toward a common goal defined in the requirements phase
  • Ensures a disciplined and structured organization
  • Provides a simple method to understand, follow, and arrange tasks
  • Smooth transitions
  • Extremely stable

Drawbacks

  • Design flaws, when discovered, often mean starting over from scratch
  • No consideration for error correction 
  • Lacks flexibility when it comes to unforeseen roadblocks and changes

Example

How Can We utilize this approach?