The waterfall model works well when:
1. You can be sure exactly how your customer’s business will operate once the system is successfully implemented.
2. You can be sure of everything the system needs to do and exactly how it needs to do it before you start designing it.
3. You can be sure exactly how the system should be designed before you start building it.
4. You can be sure exactly how people will react to the system before you start building it.
In other words, the waterfall model works well in approximately 0% of cases.