Oracle ADF Enterprise Application Development:Made Simple(Second Edition)
上QQ阅读APP看书,第一时间看更新

Adding it all up – the final estimate

When you have gathered all of the detailed task estimates, you need to add up the details to a total estimate for the entire project.

As a starting point, you add up all of the expected task efforts. Remember that these are calculated based on your three-point estimates using the formula earlier in this chapter. This total is the total effort most likely needed to complete the project.

Swings and roundabouts

A fairground owner will say: "What you lose on the swings, you gain on the roundabouts." A developer will recognize this: some things take longer (closer to the pessimistic estimate), and some take shorter (closer to the optimistic estimate). However, it is extremely unlikely that everything takes as long as the pessimistic estimate—just as it is extremely unlikely that everything goes swimmingly according to the optimistic estimate.

A statistician will illustrate this fact with a normal distribution curve showing probability or likelihood on the vertical axis and project effort on the horizontal axis. This bell-shaped curve is high in the middle, indicating that it is most likely that your total project effort will be somewhere near the sum of all of the expected task efforts. It drops off toward the ends, showing how likely or unlikely it is that your project duration will be dramatically different from the middle value.

Swings and roundabouts

The shape of the curve is defined by what is known as the standard deviation that can be calculated from your three-point estimates. There is some math behind it, but the net result is that it is 95 percent likely that your total project effort falls within the plus/minus two-standard deviations. (If you're interested in the math, there is a good treatment on Wikipedia: http://en.wikipedia.org/wiki/Standard_deviation).

Calculating the standard deviation for a task

You can calculate the standard deviation for each task using your three-point estimates. Simply use a spreadsheet program like Microsoft Excel and the standard deviation function (STDEVP in Excel). The inputs to this function should be six figures (one optimistic, four likely, and one pessimistic), just like we used when calculating the expected time for a task.

This calculation will show a large standard deviation (and greater uncertainty) if your optimistic and pessimistic values are far from the likely value.

Calculating the standard deviation for a project

To get from the standard deviation of the individual tasks to the standard deviation for the whole project involves a bit of math. What you do is calculate the square of the standard deviation (also called the variance) and then add up the variance values for each task. You then take the square root of the sum of the variances to get the standard deviation for the entire project.

Remember from the preceding context that it was 95 percent likely that the actual value is within plus/minus two-standard deviations from the middle value. So, if your most likely total effort is 1450 hours and the calculated standard deviation for the entire project is 150, you can tell the business: "We expect the effort of the project to be 1450 hours with a 95 percent probability of falling in the interval from 1150 to 1750 hours."

The following table illustrates how to calculate a final estimate. As the entire estimate would take up several pages, this calculation example uses just four tasks from the Work Breakdown Structure. The tasks are detailed as follows:.

The values in the expected column are calculated according to the formula earlier in this chapter. In Excel, it would look something like (B2+4*C2+D2)/6.

Your spreadsheet software can calculate the values in the standard deviation column. In Excel, this would look like STDEVP(B2;C2;C2;C2;C2;D2). This calculates the standard deviation of one optimistic value, four likely values, and one pessimistic value.

The values in the variance column are simply the square of the standard deviation. In Excel, this could look like POWER(F2;2).

Finally, you calculate the sum of all of the variance values and take the square root of this sum to get the standard deviation for the whole project. A statistician can explain to you why you can't just add up the standard deviations. In Excel, this calculation would look like SQRT(G6).

With a total expected time of 153 hours and a standard deviation of 38 hours, you get the following aspects:

  • The expected project effort is 153 hours
  • It is 95 percent likely that the project effort will fall between 77 and 230 hours (plus/minus two times the standard deviation).

If this is too wide a span for the business to sign off on, you need to address the major uncertainties. If, for instance, you were to limit usability testing to a maximum of 100 hours, the expected time for this task drops to 77 hours and the project standard deviation to 22. This leads to an expected project effort of 143 hours with a 95 percent confidence interval of 99 to 188 hours.

Again, this estimation methodology is intended for formal estimates where you need to agree on the project effort upfront. If you do not need to commit to a fixed time and cost at the beginning of the project, Agile development methods might fit your needs better.