Stop Promising Miracles 1

Karl E. Wiegers · 2000

Most software professionals must provide estimates for their work, but few of us are skillful estimators. Many of us haven’t been trained in estimation techniques. We’re too optimistic, with short memories that mask the painful overruns from previous projects. We don’t incorporate contingency buffers to accommodate unexpected events or risks that materialize. And we often overlook necessary aspects of an activity, so that when we eventually confront those tasks, we either perform them—thereby exceeding our estimates—or skip them, perhaps compromising quality in the process. There are several ways to become a better estimator. The most basic approach is to record effort, duration or size estimates as well as your estimating processes and assumptions, and then record the actual results from each estimated activity. Comparing actual outcomes to the estimates helps generate more accurate estimates in the future. Estimating procedures and templates that itemize tasks help avoid the common problem of overlooking necessary work. Another approach builds on the principle that multiple heads are better than one. Developed at the Rand Corporation in 1948, the Delphi estimation method asks a small team of experts to anonymously generate individual estimates from a problem description and reach consensus on a final set of estimates through iteration. In the early 1970s, Barry Boehm and his Rand colleagues modified this method into Wideband Delphi, which included more estimation team interaction; see Boehm’s Software Engineering Economics (Prentice Hall, 1981). Mary Sakry and Neil Potter of The Process Group, a Dallas, Texas-based consulting company, later created a repeatable procedure for performing Wideband Delphi estimation on software projects. Using the Wideband Delphi method provides several advantages over obtaining an estimate from a single individual. First, it helps build a complete task list or work breakdown structure for major activities, because each participant will think of tasks. The consensus approach helps eliminate bias in estimates produced by self-proclaimed experts, inexperienced estimators or influential individuals who have hidden agendas or divergent objectives. People are generally more committed to estimates they help produce than to those generated by others. No participant in an estimation activity knows the “right” answer, and creating multiple estimates acknowledges this uncertainty. Finally, users of the Delphi approach recognize the value of iteration on any complex activity.

Read the paper · More papers on PaperTik