Showing posts with label Project Estimation. Show all posts
Showing posts with label Project Estimation. Show all posts

Saturday, June 07, 2008

Wide Band Delhi using Confidence interval

In my earlier post I talked about Wide Band Delphi. WBD stands of its own when the requirements are clear and there are no possible hindrances. But, how often do you make software in ideal conditions? As Murphy’s Law states, if something can go wrong, it will go wrong.So it’s better to make a range estimate when compared to a point estimate. These are highly useful in cases where the requirements would become gradually clear and not initially.

Here, just like WBD, estimators whose have expertise in the particular field assemble. But unlike earlier, here they provide 3 estimates for each task.



a) Best Case

b) Worst Case

c) Most likely

But we are not done yet. The next step is to assign probability to each of these cases. Let’s say we assign

a) P(Best Case) = 0.2

b) P(Most Likely) = 0.6

c) P(Worst Case) = 0.2


Next step would obviously be calculate the estimated value and of course the Standard deviation as we are mentioning the range.

Expected Value = μ = Sum ( x ) * P ( x)

Standard Deviation = σ = Worst Case * P (Worst Case ) – Best Case * P( Best Case)


You would do this for each of the estimators and take their average to find the cumulative Expected Value and Standard Deviation. We now proceed to calculate (μ-3 σ) and (μ+3 σ) values, which would in-effect, give us a better estimate than the usual WBD method.

We could also calculate (μ-6 σ) and (μ+6 σ) values or (μ-1 σ) and (μ+1 σ) values depending on whether want 68% CI or 95 CI or 99% CI. Now doesn’t this sounds more analytical than the default Wide Band Delphi method ??

Project Estimation : Wide Band Delphi

Software development is inherently unpredictable in nature. Consequently, preparing a project estimate is not the easiest of task to do. It’s much evident from the fact that not more than 20% of software developments around the globe are always out of schedule. It’s true that getting 100% on-time delivery of your work products is a not the easiest of the job, as many volatile factors govern the development process. But, for sure, we can reduce the affects. People often predict the development time and forget the golden rule that, it is project “Estimate” and NOT project “Prediction”. Being part of SEPG group of my organization, this is my journey in studying different Estimation Methods available.

First of all, I am looking at WideBand Delphi. WBD, unlike other methods like COCOMO or Function Point Analysis, doesn’t depend on historical datas.


A team of experts would join together in an estimation sessions and individually estimate the task list of the project. These individual estimations are summarized by the Estimation co-coordinator, commonly in a tabular format and presented back to the expert panel. In the cases (task list) where there is variance (non-convergence) more than a predefined value, the panel would reassess the tasks and if possible break it down further into sub tasks and once again go through the whole process.

As you can see, WBD is a simple method, which underlines the fact that estimation is not rocket science. Its strength lies in fact the estimator has strong domain knowledge and that they are working independently would ensure process is unbiased.

But WBD could be made better, and that’s what we would be looking forward in the next entry. Wide Band Delphi variations like Confidence interval and Neinburg approximation would further enhance this method and making it more analytical.