Back in May 2010

**,** I posted an article entitled

Effort Estimation in Agile Software Development - Applying the Pert Weighted Average formula, which has been one of the most popular articles on this blog.

Amongst
the feedback received there were many requests asking me to provide
more details on how to devise the numbers to apply on the formula. This article
expands on the topic by explaining my way of coming up with the numbers
for the

**optimistic, pessimistic and realistic** components of the Pert Weighted Average formula.

As
explained

here, the I use the following formula to estimate the
duration to develop each user story that make up an iteration:

** (Optimistic + (4 * Realistic) + Pessimistic) / 6** .

###
How to apply the formula

**Optimistic**
- I ask each developer to provide me with an estimation of how long it
will take to complete each story they will work on. This is the number
that I use for the optimistic component.

To estimate the
other components of the formula I use a combination of grading user
stories by size and complexity as outlined in the first article.
However it is not as simple as that.

I don't see estimation
as an exact science and therefore blindly applying a formula will not
work under all circumstances. However, the formula does provide me with a
consistent estimation procedure that has worked for at least 10 years
now.

Another variable that I use in estimating the
development effort is my team's velocity. I have a detailed record
of the team's velocity recorded against functionality deployed to production. This
helps me to compare actual duration of completed user stories against the
effort that was originally estimated and use it as a basis to estimate the effort to develop stories that are similar in size and complexity ratings.

So here is how I devise the numbers for the rest of the formula.

**Realistic**
- I search TFS (Team Foundation Server) for
completed stories with similar size and complexity ratings and take the
actual time that it took to develop it as the
realistic component of the formula.

**Pessimistic** - It is hard to estimate what a pessimistic duration would be because of many different variables that
come into play such as risks associated with the particular piece of
functionality, complexity, developer experience
and many other variables. I have met some development managers that double the
duration estimated as the realistic and use it as the pessimistic. I don't blindly assign a number to it, I try to take everything into
consideration in order to come up with an estimation that makes sense.

I don't
think that there is a formula that you can blindly take to estimate
software development effort. It is not as simple as that as there are
many components that come into play in effort estimation, project management and software development.

## 4 comments:

Well, Realistic means the fact and what else it coming up from the actual records available in the tracking system. However, what-if an empty such a system you are owning(I am talking the case when you are on the start-up phase)?

Oops, what should I do now?

Skip it, moving forward to the approach of calculating the Pessimistic number, following your model (P = R x 2 x ROA), it sounds good solution!

Now, it seems that I have a clue to come up with the answer for Realistic number: what do you think if it will be derived from the Pessimistic calculating formula, as such, R = P / (2 x ROA).

Notes:

ROA: Ratio Of Affected Criterion

P: Pessimistic number

R: Realistic number

Please skip the first comment and goes with this one!

---

At a glance of your article already and it raises me following query:

Well, Realistic means the fact and what else it coming up from the actual records available in the tracking system. However, what-if an empty such a system you are owning(I am talking the case when you are on the start-up phase)?

Oops, what should I do now?

Skip it, moving forward to the approach of calculating the Pessimistic number, following your model (P = R x 2 x ROA), it sounds good solution! Oh no, still missing R component to give a result.

Back to the above question: where else the Realistic number is to appear in the case? Any standards in general are applicable?

Notes:

ROA: Ratio Of Affected Criterion

P: Pessimistic number

R: Realistic number

thanks for sharing fantastic tutorial

software Development Indore

That's an interesting way to estimate efforts. As a manager of the design department at ui design company I'll take the formula to the pen. I'm curious to see whether it works or not.

Post a Comment