« IDE Wish List | Main | Waltzing with Bears: Part Deux »

August 18, 2004

Waltzing With Bears

This text on risk management by Demarco and Lister has certainly opened my eyes about the key concepts behind risk management on IT projects. I don't really want to do a full review as I'm not well versed in other contemporary works on the same topic, but I will say it's a very accessible book that presents a compelling argument (through both the recount of real-life project examples and theory) for taking risk management very seriously when managing IT projects.

If (as a developer) you take nothing else from the book, pay very special attention to the sections on "N-Based scheduling" and how just using estimates to set expectations surrounding project completion is almost guaranteed to result in disappointment (i.e., failure to meet the deadlines).

However, the key point I wanted to make was that I've been struck by how well-suited some aspects of Agile/XP development are to the risk management strategies presented within. One of the key concepts they mention early in the book is that of the "transition indicator". A transition indicator is a notification that a risk (i.e., something that will have a negative impact on the cost/schedule of the project if it occurs) has materialized and is in need of attention.

Successful risk management involves identification of appropriately visible transition indicators for each risk and keeping an eye out for their appearance throughout the course of a project. Two recurring risks on any non-trivial IT project are the introduction of new/unfamiliar technology and the omnipresent fear of estimates overruns. Agile/XP provides transition indicators for both of these risks:

Spike

XP demands a short technical feasibility study (a "spike") is conducted for any piece of work where a solution is not immediately obvious. The failure to successfully complete a spike for a new persistence framework (for example) is a transition indicator that the identified risk of "new persistence framework may not be suitable" is becoming a reality. Time to mitigate or contain that beastie!

Iterations

Short iterations are eminently suitable as transition indicators for estimate overruns. Given early overruns are - contrary to the eternally optimistic outlook of the typical developer - unlikely to be recouped in the future, the failure to complete early iterations is an indicator that risks along the lines of "developer estimates may be hopelessly optimistic" are materializing.

Pair Programming and Testing

Although not a transition indicator, the successful use of pair programming and/or rigourous automated testing are both excellent mitigation strategies for another classic IT project risk, that of key personnel leaving the project prior to completion.

Posted by Andy Marks at August 18, 2004 10:00 AM

Comments

I've been meaning to read Waltzing with Bears for a while now (having gotten around to reading a couple of other DeMarco books recently), so I'm glad to hear it's a good read.

On the agile side once, I read a quote from Cockburn on the XP Mailing List about two years ago. It went along the lines of "XP [and most agile practices] doesn't have a risk management strategy for the same reason that fish don't have a word for water"; a very real way to look at things is that XP _is_ a risk management strategy.

Posted by: Robert Watkins at August 18, 2004 05:18 PM

Post a comment

Thanks for signing in, . Now you can comment. (sign out)

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)


Remember me?