🌊Waterfall
Last updated
Last updated
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.
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:
👍 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
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
📝 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