- Detailed Planning
- Requirement Analysis
- Design
- Coding
- Acceptance Testing
- Release
- Maintenance

- Most Realistic approach for software development
- The best model for the environment that changes rapidly
- Delivers early partial work solutions
- Promotes teamwork and cross-training
- Functionality that can be developed rapidly and demonstrated
- Resources requirement is minimum
- Easy to manage and flexible to the developers