๐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.
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