1.4 Estimates as Probability Statements
If three-quarters of software projects overrun their estimates, the odds of any given software project completing on time and within budget are not 100%. Once we recognize that the odds of on-time completion are not 100%, an obvious question arises: "If the odds aren't 100%, what are they?" This is one of the central questions of software estimation.
Software estimates are routinely presented as single-point numbers, such as "This project will take 14 weeks." Such simplistic single-point estimates are meaningless because they don't include any indication of the probability associated with the single point. They imply a probability as shown in Figure 1-1—the only possible outcome is the single point given.
Figure 1-1: Single-point estimates assume 100% probability of the actual outcome equaling the planned outcome. This isn't realistic.
A single-point estimate is usually a target masquerading as an estimate. Occasionally, it is the sign of a more sophisticated estimate that has been stripped of meaningful probability information somewhere along the way.
Tip #3 | When you see a single-point "estimate," ask whether the number is an estimate or whether it's really a target. |
Accurate software estimates acknowledge that software projects are assailed by uncertainty from all quarters. Collectively, these various sources of uncertainty mean that project outcomes follow a probability distribution—some outcomes are more likely, some outcomes are less likely, and a cluster of outcomes in the middle of the distribution are most likely. You might expect that the distribution of project outcomes would look like a common bell curve, as shown in Figure 1-2.
Figure 1-2: A common assumption is that software project outcomes follow a bell curve. This assumption is incorrect because there are limits to how efficiently a project team can complete any given amount of work.
Each point on the curve represents the chance of the project finishing exactly on that date (or costing exactly that much). The area under the curve adds up to 100%. This sort of probability distribution acknowledges the possibility of a broad range of outcomes. But the assumption that the outcomes are symmetrically distributed about the mean (average) is not valid. There is a limit to how well a project can be conducted, which means that the tail on the left side of the distribution is truncated rather than extending as far to the left as it does in the bell curve. And while there is a limit to how well a project can go, there is no limit to how poorly a project can go, and so the probability distribution does have a very long tail on the right.
Figure 1-3 provides an accurate representation of the probability distribution of a software project's outcomes.
Figure 1-3: An accurate depiction of possible software project outcomes. There is a limit to how well a project can go but no limit to how many problems can occur.
The vertical dashed line shows the "nominal" outcome, which is also the "50/50" outcome—there's a 50% chance that the project will finish better and a 50% chance that it will finish worse. Statistically, this is known as the "median" outcome.
Figure 1-4 shows another way of expressing this probability distribution. While Figure 1-3 showed the probabilities of delivering on specific dates, Figure 1-5 shows the probabilities of delivering on each specific date or earlier.
Figure 1-4: The probability of a software project delivering on or before a particular date (or less than or equal to a specific cost or level of effort).
Figure 1-5: All single-point estimates are associated with a probability, explicitly or implicitly.
Figure 1-5 presents the idea of probabilistic project outcomes in another way. As you can see from the figure, a naked estimate like "18 weeks" leaves out the interesting information that 18 weeks is only 10% likely. An estimate like "18 to 24 weeks" is more informative and conveys useful information about the likely range of project outcomes.
Tip #4 | When you see a single-point estimate, that number's probability is not 100%. Ask what the probability of that number is. |
You can express probabilities associated with estimates in numerous ways. You could use a "percent confident" attached to a single-point number: "We're 90% confident in the 24-week schedule." You could describe estimates as best case and worst case, which implies a probability: "We estimate a best case of 18 weeks and a worst case of 24 weeks." Or you could simply state the estimated outcome as a range rather than a single-point number: "We're estimating 18 to 24 weeks." The key point is that all estimates include a probability, whether the probability is stated or implied. An explicitly stated probability is one sign of a good estimate.
You can make a commitment to the optimistic end or the pessimistic end of an estimation range—or anywhere in the middle. The important thing is for you to know where in the range your commitment falls so that you can plan accordingly.
No comments:
Post a Comment