🌊Waterfall

The Waterfall Model was the first software development life cycle (SDLC) model introduced. It is also known as a linear-sequential model where each phase must be completed before moving to the next phase.

Waterfall Model Phases

Phase👥 Involved📜 Rules💡 Notes

Requirements Gathering and Analysis

👨‍💻 Developers, 👩‍💼 Product Manager

Document all requirements in specification

📝 Capture full requirements early

System Design

👨‍💻 Architects

Design system architecture and requirements

📐 High-level technical design

Implementation

👨‍💻 Developers

Build software in small units

⚙️ Code and unit test each unit

Integration and Testing

👨‍💻 Developers, 👨‍🔬 QA

Integrate units and test system

🧪 Validate before next phase

Deployment

👨‍💻 Operations

Deploy after testing passes

🚀 Release to users

Maintenance

👨‍💻 Developers

Fix issues and release updates

🐞 Support and enhancements

🚰 Pros and Cons

Pros:

  • 👍 Simple and easy to understand and use

  • 📏 Works well for small projects with defined requirements

  • 🗂 Clearly defined stages

  • 📋 Well documented

Cons:

  • 🚫 No working software until late

  • 🔀 Little flexibility to change

  • ⚠️ High risk and uncertainty

🌊 Waterfall Variations

Iterative Waterfall - 🔁 Cycles of requirements, design, code, test

V-Model - ✅ Tests planned early

Spiral Model - 🌀 Highly iterative with risk analysis

📆 When to Use Waterfall

Use when:

  • 📖 Fixed requirements

  • 📏 Product is stable

  • 💻 Understood technology

  • 👥 Resources available

  • ⏱ Short duration

📃 Key Documentation

  • 📝 Requirements

  • 📐 Design

  • 🧪 Test Plans

  • 📖 User Manuals

🚿 vs 🐣 Waterfall vs Agile

  • 🔀 Waterfall is linear, Agile is iterative

  • 📏 Waterfall - rigid phases, Agile - flexible

  • 👍 Agile allows changes, Waterfall is locked

Last updated