Humans are notoriously optimistic, and in particular, we forget about all the things we have to do in order to achieve the things we want to do. (I have been reading some research on this lately).
I used to harbour the "build it in a weekend" suspicion about everything, and then I started building things. The world is a damn mess, is what it is.
I've been working on a tool for making PERT estimates easier and, consequently, done a bunch of reading about PERT, wherein lots of the work is of a statistical or mathematical nature. But I also ducked across to the psychological research to get a feel for the human factors. Psychologists consider estimation problems under the heading of "the planning fallacy". I intended to write a series of articles for SEO purposes but so far I only have two fairly light-weight ones done[0].
Most PERT method research is out of the Operations Research community. There's some interesting stuff there about how estimates can be wrong. For example, if you accept that there's a range of probabilities on every node in a PERT graph, then managing the "critical path" by itself is very risky. There's a whole bunch of what you might call subcritical paths lurking, and one step in risk management is to find the parts of your project where they might be lurking[1].
Another thing that pops up. In the classic PERT formula, the divisor is 6. Why 6? It turns out that nobody is quite sure, but it roughly assumes that events follow a double-triangular distribution[2]. This is a heroic assumption, to say the least, but how do you best account for it? In my prototype code I've made the distribution configurable with the idea that advanced customers could change it; or perhaps some regression across all customer data could provide a better fit.
But then comes a bit of a bombshell from the psychologists, who operate in a carefree world, innocent of project management problems. They've found that decomposing a task improves estimation performance. It's called the "unpacking effect".
In a series of experiments Kruger & Evans established that you can improve estimation performance on a main task simply by asking people to list the subtasks required to achieve it. How long will it take to get ready for a date? If you ask this question by itself, the answer will be wrong. If you first ask "What do you need to do to prepare for a date?" and then ask how long, the answer is still wrong, but it is less wrong. Read their paper, it's absolutely fascinating [3].
To me this raises the fascinating possibility that the improved performance of PERT estimates over expert judgement derives mostly or wholly from the enumeration of subtasks rather than the statistical stuff that comes along for the ride.
[0] http://confidest.com/ (I know it looks very ordinary, my CSS chops are very ordinary).
[1] Richard J. Schonberger, "Why Projects Are 'Always' Late: A Rationale Based on Manual Simulation of a PERT/CPM Network", Journal of the Operational Research Society
[2] T. M. Williams, "What Are PERT Estimates?", Journal of the Operational Research Society
[3] Justing Kruger and Matt Evens, "If you don't want to be late, enumerate: Unpacking reduces the planning fallacy", Journal of Experimental Social Psychology.
I used to harbour the "build it in a weekend" suspicion about everything, and then I started building things. The world is a damn mess, is what it is.