Waterfall Model

The Waterfall Model is a step-by-step software development process where each phase must finish before the next one starts.

It’s like water flowing down a waterfall — once it goes down, it can’t go back up.

Phases of Waterfall Model

  1. Requirement Gathering – Collect all requirements from client.

  2. System Design – Plan the software architecture & design.

  3. Implementation (Coding) – Developers write the code.

  4. Testing – QA team tests the system against requirements.

  5. Deployment – Software is released to users.

  6. Maintenance – Fix bugs, update system after release.

ATM machine example:

  • Requirement: Bank wants an ATM system.

  • Design: Plan how ATM will interact with bank servers, UI, cash dispenser.

  • Implementation: Developers code login, withdrawal, balance check.

  • Testing: QA tests all features.

  • Deployment: ATMs are installed.

  • Maintenance: Fix issues, update PIN policies, etc.