Agile Zone is brought to you in partnership with:

Software Developer, Mentor, Architect and UX/UI craftsman. Also, a psychology nut that loves curling. Zac is a DZone MVB and is not an employee of DZone and has posted 66 posts at DZone. You can read more from them at their website. View Full User Profile

Why Some Projects Are Doomed from the Start

  • submit to reddit

All seasoned programmers have lived through and can tell the tale of the lost project. Some of these projects were conscious decisions while others were secret skunk projects. They all suffered from the terminal affliction of "uncertainty" and its polarizing effects. Although each project varies, most follow the same path. In the early stages, knowledge is sparse, estimates are rough, and there is a large amount of uncertainty. As the project progresses, additional research, feedback, and refinement helps reduce the project's risks and uncertainty. In project management this is known as the Cone of Uncertainty. Construx has an excellent diagram illustrating the cone.

Unfortunately, many projects suffer from a lack of respect for uncertainty. Most projects perform fast, rudimentary estimating of tasks or features. This is typically a one time event and is perceived as a necessary evil as it takes away from development time. This is the wrong mindset as the cone only reduces with effort. Projects must be actively and continuously groomed to reduce uncertainty. Each additional review of the process brings with it new insights and provides further refinement. Sometimes these refinements bring to life additional tasks, reduce task load, or help to further outline a project's scope. In the development world, the phrase scope creep is synonymous with frustration and other negative emotions. This can be easily avoided with a continuous drive toward the accuracy of a project's estimates.

Programming methodologies such as Agile's Scrum provides an infrastructure for maintaining proper project focus. Features and ideas are placed in a larger product backlog, then proceed to a short iteration where work is completed. Recurring meetings are held to groom the estimates in the product backlog as new information arrives, feedback is received, or requirements change. It is encouraged to estimate as a team to further vet issues, concerns, and questions. Additionally, estimating is encouraged through numbering/sizing methods such as t-shirt sizes or the Fibonacci sequence. These methods allow for relative "person independent" estimating. This is an excellent framework for any project, Agile or otherwise.

The Cone of Uncertainty is another excellent tool in any developer's toolbox. It can be very helpful in detailing the current status of a project. The simple action of drawing the cone alone can be enough communication to project veterans. For others, it provides an opportunity to educate.

Published at DZone with permission of Zac Gery, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Oleksandr Alesinskyy replied on Mon, 2014/01/27 - 11:24am

Why some projects are doomed right from the start?Tthe answer is simple - because they follow advices from this article. They end up with excellent, reliable estimates but almost without working code. Managers are happy, customers - dissatisfied.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.