Among many tasks performed during the project life cycle, one thing that simply cannot be avoided is the** task estimation**. Accurate time estimation is a crucial skill in project management, and it affects all the other phases of the project. The project planning is depending on accurate estimation and Stakeholders often judge if a project was successful or not depending on whether it has been delivered on time and on budget.

### Task List

To get to the estimation, we would typically start with defining a *task list.* In Agile Methodology a task list is called *Product* or *Sprint Backlog*, while in general Project Management is known as *Work breakdown structure (WBS)*.

*Work breakdown structure* is a list of tasks that, if completed, will produce the final product. The way the work is broken down dictates how it will be done. There are many ways to decompose a project into tasks but the point of this blog post is not to go deep into this topic. One thing to keep in mind is that a task we are supposed to estimate has to be **SMART** (Specific, Measured, Approved, Realistic, Time boxed). In general this rule applies to the Goals and Objectives as well. The consistent application of “SMART” attributes, when defining tasks will result in a clear, measurable and verifiable items.

## Three-point estimation

Three-Point estimation is just one of the techniques that could be used to estimate a task. There are many other ways, but the simplicity of the Three-point estimation makes it a very useful tool for a Project Manager, Scrum Master or Developer that need to perform the estimation task.

In three-point estimation, **three** values are produced initially for every task based on **prior experience** or **best-guesses**:

- a = the
**best-case**estimate - m = the
**most**likely estimate - b = the
**worst-case**estimate.

When estimating a task, we need to provide three values, as specified above. The three values identify what happens in an **optimal state**, what is the **most likely**, or what we think it would be the** worst case** scenario.

Let’s see how to use the above three values….

### Double-Triangular Distribution

One known way of using the above parameters is to use the **Weighted Average** or also known in statistics as **double-triangular distribution** technique which uses the following formula:

*E*= (*a*+ 4*m*+*b*) / 6particularity of this method is to put more weight to the “Most Likely” value.

#### Standard Deviation

As with the above double-triangular distribution formula, in reality we are determining a possible and not a certain value, we may derive another value from it, which is a standard deviation value, that could give us the information about the **probability** that the estimation is correct.

The formula to calculate the standard deviation in our above case is the following:

*SD*= (*b*−*a*)/6SD value is usually represented with the Greek letter sigma (σ).

The standard deviation is can be represented with the diagram:

#### Example

Let’s see this with a concrete example:

We think that in the **best case** we need 3 days to finish a task, **most likely** this is going to be 5, but in the worst scenario, in case where we need to perform much more work because not all the details would be provided, we believe that it is going to take 10 days.

a = 3

m = 5

b = 10

By using the formula, this becomes

E = (3 + 20 + 10) / 6

E = 33 / 6

**E = 5.5**

calculating the standard deviation

SD = (10 – 3) / 6

SD = 7/6

**SD = 1.67**

##### Conclusion:

**5.5 days** would be our estimation for the given task.

By knowing that +-1 sigma represents 68% possibility, we could conclude that:

**3.83**to

**7.17**days (5.5 +- 1.67) to finish the task.

### Triangular Distribution

The second way of estimating the task is known as **Triangular Distribution**. The difference with the previous method is simply that we don’t have to weight more the Most Likely value. This generates an arithmetic average of the three points.

This is translated with the following formula:

*E*= (*a*+*m*+*b*) / 3#### Example

Let’s apply the calculation to the previous example.

We think that in the **best case** we need 3 days to finish a task, **most likely** this is going to be 5, but in the worst scenario, in case where we need to perform much more work because not all the details would be provided, we believe that it is going to take 10 days.

a = 3

m = 5

b = 10

By using the formula, this becomes

E = 18 / 3

**E = 6**

So, **6 days** would be our estimation for the given task.

### Conclusion

Three-Point Estimation is really a simple technique that could be used to estimate a given task. This is very useful to the Project Manager in order to lower the risk with a non accurate estimation.

but how will we know that worst case is 10 days while concrete need 14 to 28 days to get its full strength

Shouldn’t that be:

SD = 7/6

SD = 1.167

not

SD = 1.67

how do you calculate confidence level or percentage

[…] Cf: http://www.pmdocuments.com/2012/09/17/pert-three-point-estimation-techni… Cf: http://www.agile-code.com/blog/easy-task-estimation-with-three-point-est… […]

Great article Zoran!

The Standard Deviation looks like an “estimated standard deviation”.

Do you use this estimation due the few data items to analyze?

How long have you applied these techniques on production environment?

Thanks.

Hi Gustavo,

Thanks for commenting!

Actually I heard about this technique in one of the “Project Management” courses I’ve attended last year and then thought that it would be nice to post it. And no, I am not a project manager; at least not “branded” as a such:)

I find this quite useful whenever there are tasks that are really hard to estimate, indeed we call this kind of estimations -> guesstimations. Often I get asked about “how long does it take” without clear requirements, and without any clue what need to be changed, so this kind of range is guessed.

In reality, you won’t really need to do this if you have well defined tasks and by definition tasks should be not more than 5 days work otherwise those need to be split up. As soon as you start analyzing big stories into smaller tasks, this technique is really not needed.

Cheers,

Zoran

Hi,

wondered how you got the standard deviation to be 1.67 as in excel it calculated as 0.89

I can understand the E value given beforehand as a weighted average but not the SD calculation.

Thanks

Duncan

Hi Duncan,

Thank you for your comment. What kind of calculation have you done in Excel?

The given Standard Deviation calculation is expressed in the so called L-estimator.

Please check for more info on wikipedia by following this link: https://en.wikipedia.org/wiki/L-estimator

Cheers

Zoran

@Duncan

I thik that this is an “estimated” standard deviation due the few items to analyse.

@Zoran

How long do you apply these techniques on production software?

Thanks

In Excel the standard deviation formula is for a given population. Triangular and the given beta distribution are estimates based on statistics and they are not calculated the same way. The beta distribution provided is one possibility coming from PERT. I don’t know much more than that. In Excel the formula to use will be beta-something, but I don’t know what parameter (part of the assumption made in PERT) to use to get this specific PERT-beta distribution. Just use it as it is 😉