Waterfall is a rigid methodology. Your project must go through each of the stages in turn and each stage depends on the output of the one before it.
The stages are:
- Analysis
- Design
- Implementation
- Testing
- Deployment and maintenance
Each stage is concerned with the entire project.
Pros
- Easy to predict deadlines and progress
- Not being bothered by the client for changes
Cons
- Hard to make changes mid project
- No client feedback until the very end
Most developers dislike waterfall because it is so rigid and hard to change once you’ve started. But this is useful for security focussed projects where there needs to be a lot of oversight about any design changes.