Oct 132012
 
Share...Tweet about this on TwitterShare on FacebookShare on Google+Share on StumbleUponShare on LinkedInPin on PinterestShare on TumblrShare on RedditDigg this

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 Estimation - Question

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.

One rule to keep in mind is: More detailed is the task, easier will be the estimation.

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 + 4m + b) / 6

particularity 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 = (ba)/6

SD value is usually represented with the Greek letter sigma (σ).

The standard deviation is can be represented with the diagram:

(c) Wikipedia

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 + (4 x 5) + 10) / 6
E = (3 + 20 + 10) / 6
E = 33 / 6
E = 5.5

calculating the standard deviation

SD = (10 – 3) / 6
SD = 7/6
SD = 1.167

Conclusion:

5.5 days would be our estimation for the given task.
By knowing that +-1 sigma represents 68% possibility, we could conclude that:

With confidence of 68% we need from 4.33 to 6.667 days (5.5 +- 1.167) 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 = (3 + 5 + 10) / 3
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.

    Share...Tweet about this on TwitterShare on FacebookShare on Google+Share on StumbleUponShare on LinkedInPin on PinterestShare on TumblrShare on RedditDigg this

    I'm a Software Developer and Solution Architect interested in Software Development, Object-Oriented Design and Software Architecture all this especially bound to the Microsoft.NET platform.Feel free to contact me or know more in the about section

      10 Responses to “Easy task estimation with Three-point estimation technique”

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

    2. Shouldn’t that be:

      SD = 7/6
      SD = 1.167
      not
      SD = 1.67

    3. how do you calculate confidence level or percentage

    4. 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

    5. 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 😉

    Leave a Reply

    raymos_hoa meireles@mailxu.com