In our last post we briefly mention waterfall development and why in client work, it’s important to avoid that method when managing a project. To explain why, we want to go into a little more detail on what waterfall development really means.
It is typically defined by seven linear stages: conception, initiation, analysis, design, construction, testing and maintenance. Some of these stages can last months and are usually marked by big milestones. It is only upon the completion of these milestones that the customer or client is reengaged for review.
The advantage of this method is that the customer has to really think about what he wants before software engineers spend time coding. And it allows for predictable, top-down management of engineers from the project manager’s perspective. But the biggest disadvantage of this method is that if the product starts to veer, or if too many project interpretations are wrong, it is a long time before the customer knows it. There is the potential for vast amounts of rework and very unhappy customers.