Steve McConnell is CEO and chief software engineer at Construx Software, but you're more likely to recognize his name as the author of Code Complete and several other books that made him a software development rock star. He has a new book out, Software Estimation: Demystifying the Black Art. Recently, we found a few minutes to chat in IM, about topics ranging from the reasons behind project failures, to the best way to get the right information from software developers. "Estimation has been a strong interest of mine for many years," McConnell says, "and I think there's a tremendous opportunity for the software industry to improve in this area."
Steve McConnell: The Standish Group published its first CHAOS report in 1994, which is the report that's most often cited. The Standish Group has updated its report every two years since then. In round numbers, the Standish Group's data says that about one-quarter of all projects fail outright (are cancelled before completion), about one-quarter succeed fully (deliver most intended functionality on time and on budget), and about half are "challenged"—overrunning schedule, budget, or both. The results have fluctuated somewhat year to year. Some people see a trend, but I see only fluctuation.
Does this constitute failure? The quarter that fail outright seem to fit that bill. The quarter that succeed don't. So what about the half that are challenged? The root causes of why half the projects are late are complicated. They are over budget and schedule partly because they are poorly managed, partly because they experience a lot of untracked requirements growth, and partly because the original "estimates" weren't what I would call a valid estimate in the first place. Rather, they were business targets that weren't grounded in any kind of meaningful technical estimate.
So at the end of the day, I think some projects genuinely do overrun, but there is also a significant percentage of projects that were never really estimated in the first place. You can say those projects failed to meet their business targets, but it wouldn't be accurate to say they failed to meet their estimates. How the half of projects in that category break down into "missed targets" vs. "missed estimates" is hard to say.
Esther Schindler, cio.com: To miss a target you have to know where you're aiming. And to reach one you need to know when you hit the target.
McConnell: If you aim at a target 200 feet away and miss, that's one thing. If you aim at the moon, that's a different matter entirely.