Estimations for Project Success
|Author:||Frederick P. Brooks Jr.|
Not too long ago I had coffee with fellow tweep, Peter Kretzman, at the Zeitgeist Coffee in Seattle. We had a wonderful conversation and shared stories, philosophies, and impressions. In the process we stumbled upon a common literary love—The Mythical Man-Month by Frederick Brooks. I read it for the first time last summer and Peter reads every few years. We both extolled the virtues of the book and lamented at the fact that so many of the items Brooks brings up continue to plague us today.
Daily, we are involved in two acts—developing and following process and generating estimate. We cannot escape them; they are part of the human experience. Processes are required to maintain consistency, accuracy, and abide by regulations. Estimates are required in every task we do. Add people—people with personality, prejudice, and protest—and estimating becomes quite demanding.
Last week I had coffee with fellow tweep, Peter Kretzman, at the Zeitgeist Coffee in Seattle. We had a wonderful conversation and shared stories, philosophies, and impressions. In the process we stumbled upon a common literary love—The Mythical Man-Month by Frederick Brooks. I read it for the first time last summer and Peter reads every few years. We both extolled the virtues of the book and lamented at the fact that so many of the items Brooks brings up continue to plague us today.
Estimates are wrong if you cannot beat them half of the time; they are also wrong if you are not late half the time. Neither condition is one that should make management upset. In fact, matching that score is a great accomplishment. So how can people get so emotional about the statement? The answer is that people do not understand estimates and how they work. Through years of estimates being treated as quotes, we have been brainwashed into thinking our best effort is to meet the date, not better it. Heaven forbid if you are late. This lack of understanding is very evident by the number of blogs on the subject and some of their bewildering comments. The comments point out wildly different views. Some people think that Monte Carlo analysis gives you an estimate that has a 95% chance of being right and others believe that using Agile relieves people from having to make estimates entirely. Both of which are plainly not true.
Why is it that tasks always seem to be late? No matter how much time we allot, there never seems to be enough to complete a task on time. There is one overreaching reason pervasive throughout the enterprise—poor time management. To accommodate the continual barrage of supposedly urgent tasks, we heavily pad estimates. Excessive padding triggers numerous negative work patterns. The extra time and over confidence in estimates allows people to accept other unrelated tasks, introduce low priority features, and strive for perfection. It is unfair, however, to saddle the individual with the entire problem; the work-place culture reinforces and rewards the behavior.
The two most common project attributes that raise the red flag are cost and timeline problems. Both are easily measured and inextricable intertwined. As the timeline extends, there is a commensurate increase in cost; similarly, as cost goes up (usually from increased scope) the timeline increases. However, time is different. Benjamin Franklin said it best, "You may delay, but time will not." Work can stop work (controlling the burn rate) and extraneous features can be removed (decreasing the required work), but time marches on. We cannot control time. Although intuitively obvious, the concept seems to escape a large number of managers and executives.
Estimates are a pain in the... er... butt. Everyone hates doing them. The reason? They are always wrong. They are either too optimistic, when we think we know more than we do, or they are overly padded, trying to account for the unexpected. Other times it is much more subconscious. Some little voice in the back of our heads is working on our conscience to change the perception of the work required. We can be our own worst enemies when it comes to creating estimates and do even more harm when we go to work the task. For now, let us look at a couple factors that influence how we determine the length of time it takes to do simple tasks and save the effects of that estimate for another article. With a little audience cooperation, we will produce a fun answer from a simple mental exercise.
Whether you are a project or a functional manager, estimates are a daily part of your life. Team members need to make estimates for a variety of reasons, these include:
- The amount of time for a task.
- The cost for resources.
- The cost of software, hardware and other materials.
- The time required to finish a task.