| I’ve come to the recent conclusion that estimating is not so much hard, but uneconomical. The amount of time/effort required to create a reliable estimate would probably double the cost of the completed project (ie, even after taking into account the overshoot on the informal estimate). The number of failed projects as a percentage of all projects would fall, but less projects would even start. We conflate “can’t estimate” with “not willing to do all the work necessary to create an accurate estimate” because we know that it’s easier and more economical to just jump into the code, than it is to do a deep, formal analysis. What’s really happening is that we are giving up accurate estimates to reduce overall cost. Unfortunately, businesses only see the overshoot on time (which they incorrectly equate with project cost) and not the actual undershoot on budget relative to a project that has been fully planned. (Note that I’m not really talking about waterfall. More “plan to build it twice, because you will anyway”) |
I wasn't snarky enough to remind them that shipping is extremely easy when you take no responsibility for maintenance, but I expressed my curiosity about how much time would be devoted to the preparation of the estimation itself.
I appreciated their honesty when they replied that, for a typical 1000-hour project, 250 would be devoted to the estimation.
I then strolled back to my boss and thanked him for letting me enter the Illuminati circle, and showed my impatience for showing him my progress with the next project. I promised him the best estimation he would ever get, and just warned him: "It usually takes us two years to develop a new machine. Next time, just let all of us (~100 people) disregard any other task and focus entirely on the estimation, and in six months top you will know whether the new machine is feasible."
He was not thrilled.