In my personal opinion I believe the waterfall method is one of the worst methodologies to use when developing larger systems because it leaves is no room for mistakes. As the name implies the waterfall methodology does not allow for projects to go back up stream to recover from design errors, missing and/or limited requirements. In addition, hidden bugs are not usually found until the testing phase. This can prove to be very costly and time consuming to the developer and the client.
According to NCycles.com, the waterfall methodology structures a project into separate stages with defined deliverables from each phase.
- Document and Maintain
The advantages found by Ncycle.com to this methodology are:
- Ease in analyzing potential changes
- Ability to coordinate larger teams, even if geographically distributed
- Can enable precise dollar budget
- Less total time required from Subject Matter Experts
The disadvantages found by Ncycle.com to this methodology are:
- Lack of flexibility
- Hard to predict all needs in advance
- Intangible knowledge lost between hand-offs
- Lack of team cohesion
- Design flaws not discovered until the Testing phase