Over a million developers have joined DZone.

Yet Another “Why Waterfall Doesn’t Work” Post

· Agile Zone

Learn more about how DevOps teams must adopt a more agile development process, working in parallel instead of waiting on other teams to finish their components or for resources to become available, brought to you in partnership with CA Technologies.


Lately I have been plunged back into an extreme waterfall project and it is eating away at my soul.  Don’t get me wrong.  I don’t really believe in a soul and I have never done a text book agile project, but the longer I’m on this project the more I feel like I’m in an infinite loop.  Document.  Review.  Document. Review.  At some point we may do some coding.

The biggest problem with waterfall projects is that you can always add more detail to design documents.  I have actually seen some documentation which had pseudo code for almost every line that the developer needs to type.  Of course these are extreme cases, but they put a spotlight on the issue.

All of this would be less costly to refactor as we code than it would be to continue to refine the design document.  A minimum of documentation to make sure we hit all the key requirements and make sure that the overall architecture is sound is really what a project needs.  Spend your time finding the problems by writing code instead of theorizing and discussing.

Moral: Waterfalls are pretty to look at, not run projects with.

Discover the warning signs of DevOps Dysfunction and learn how to get back on the right track, brought to you in partnership with CA Technologies.


Published at DZone with permission of Tim Murphy, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}