Probability conversions from P10 to P70

1. Nov 30, 2011

dale2k9

I'm a software developer. We do estimates based on a P10, P50, or P90 where the P10 assumes that the actual time to complete a task is going to be the estimated amount or vary by no more than plus or minus 90 per cent. A P50 means that the actual will vary from the estimate by no more than 50 per cent, and a P90 will vary by no more than 10 per cent.

For a large set of projects, approximately 500, we're being asked to provide a P70 but we don't have any statistical data or practice for providing a P70 estimate. We have completed P10s for each of these 500 projects. For the most part, we care about resource planning and budget across the set of projects, not any individual project.

What I would like to know is if there is any standard way or common way in dealing with statistics and probability to convert a P10 mathematically to a P70? What I suggested to my boss is to take the P10 * 1.9 to get the worst case estimate and multiply that by .7 to get to a reasonable P70. So the formula would be P10*1.9*.7 or P10*1.33.

That would not account for the possibility of the actuals for some projects being under by 90 per cent (that's not going to happen); it assumes that all errors are on the up side but I think senior management cares more about that risk than they do about the downside.

Any help or suggestions on how this could be done is greatly appreciated.

Regards,

Dale

2. Dec 5, 2011

Stephen Tashi

There's something ironic about a software developer not having software to solve a problem!

I don't know what approach your company uses in analyzing problems. Some approaches are not based on a mathematical analysis. Instead they use rules of thumb and procedures that have been adopted because of the tastes and experiences of various people. I'm not a software development forecaster, so I can't say how your proposed answer fits into such traditions.

If you want to do the analysis as a mathematical problem, you must know or assume enough "givens" to get an answer. It isn't clear to me whether you have assumed that the time to complete a software project is a random variable that has a probability distribution from a particular family of distributions (such as lognormal distributions). It isn't clear to me what it means to classify something as a "P10". For example if your say "Project Y has estimated time of 60 hrs to complete as a P10", do you really mean that there is exactly zero probability that it will take longer than 60 + (.90)(60) hours? That would rule out using many familiar families of probability distributions (such as lognormal).

If your company has done an analysis of time-spent data from completed software projects, it should know something about the probability distributions involved. What kind of distributions model the data well?