Basic estimation techniques
(94 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
− | |||
When managing a project, a manager has to achieve specific objects within time, resources and money. This can often be challenging, as there is a lot of uncertainty in doing so. ''"How can the amount of time for each activity be calculated"? "How many resources are needed to complete every task"? "And how much will the project cost in the end"?'' This article deals with answering all these questions and focuses on how to come up with educated guesses to these uncertainties. | When managing a project, a manager has to achieve specific objects within time, resources and money. This can often be challenging, as there is a lot of uncertainty in doing so. ''"How can the amount of time for each activity be calculated"? "How many resources are needed to complete every task"? "And how much will the project cost in the end"?'' This article deals with answering all these questions and focuses on how to come up with educated guesses to these uncertainties. | ||
− | In the first section, a definition of | + | In the first section, a definition of the estimation process will be given. A variety of standard tools used in the estimation process will then be presented. Some of these tools and techniques are more complex than others and will, therefore, require a more detailed explanation. For every presented technique, advantages and disadvantages, as well as examples on how to apply these, will be given in order to give the reader an understanding of how the methods work and what they can be used for. |
− | Lastly, | + | Lastly, challenges and limitations of using the techniques will be discussed, as these can variate in accuracy depending on the type of the projects and the project phase in which they are applied. The involved risks when estimating will also briefly be covered here. |
__TOC__ | __TOC__ | ||
− | ==Definition and | + | ==Definition and Estimating Approach== |
+ | [[File:Model of estimation process.JPG|thumb|600px|'''Figure 1:''' Model of estimation process, inspired by the one found in "Guide to the Project Management Body of Knowledge (PMBOK® Guide) (6th Edition)"]] | ||
+ | The process of estimating is a common practice within Project Management of predicting a specific value that is not known with relative accuracy. An estimation can serve different purposes, for example, give an indication of the duration for a specific activity or the number of resources that must be assigned to a task in order to be completed in time. Figure 1 shows a model for the estimation process.<ref name="Body_of_Knowledge"> ''Project Management Institute, Inc. Guide to the Project Management Body of Knowledge (PMBOK® Guide) (6th Edition)'' </ref> | ||
− | + | Estimations are based on different '''inputs'''. These can be components from the project management plan such as the scope baseline or the schedule plan; project documents as list of activities, assumptions log, resource requirements, register for learned lessons; enterprise environmental factors as market conditions, organizational culture, resource availability; and organizational process assets as policies, scheduling methods and historical data from similar projects. | |
− | The | + | The result of the estimation process, the '''output''', are the calculated estimate and the detailed documentation that supports the approximation. Furthermore, as a result of carrying out the estimation process, some project documents may also be updated. |
− | |||
− | |||
+ | There are four key phases when for the estimating process:<ref name="Standard_for_project_estimating"></ref> | ||
− | + | *'''Prepare to estimate:''' in this phase the activities that have to be estimated and the stimating team are identified, the estimating techniques are determined, the estimating inputs are prepared, and any constraints to the estimates, such as deadlines or funding limits, are documented. | |
+ | *'''Create estimates:''' in this phase the estimates for the identified activities are calculated and validated. | ||
− | + | *'''Manage estimates:''' after the project work has started, the estimates are continuously monitored and updated. | |
− | + | ||
− | + | ||
− | + | *'''Improve estimating process:''' in this phase the actual data and lessons learned are incorporated into the estimating processes and tools. | |
− | |||
− | + | ==Techniques for Estimating== | |
+ | There exist different estimation techniques. It is important to mention that these are not only limited to the planning phase but can be used throughout the whole project. This chapter will describe some of the most used techniques in managing projects and give examples of their application. The techniques can be used for estimating costs, efforts, durations, etc. | ||
− | + | ===Expert Judgment=== | |
+ | This technique is quite simple and consists in obtaining the judgment of a group or a person with specialized education, knowledge, skill, experience, or training, in the subject that has to be estimated. The expertise can either be provided in the corporation or externally, for example by turning to a professional consulting agency. During the process, it is a good idea to provide documents, data and other relevant information that can help the involved parts with estimating accurately. | ||
+ | An example of carrying this method out could be having a group of experts to estimate how much the cost for a specific construction material will fluctuate in the next five years. The group will have an open discussion and will eventually at the end agree on what they believe to be the most valid prediction. The problem with doing so is that there could be a tendency to be persuaded by the majority opinion or the members with the greatest authority on the matter.<ref name="Delphi_Method"> ''Helmer, O. (1967). Analysis of the future: The Delphi method. The RAND Coroporation, Santa Monica, California.'' </ref> | ||
− | + | A well-known method to overcome these issues is the '''Delphi method'''. According to Helmer (1967), the purpose of this method is to obtain the most reliable consensus of opinion from a panel of selected experts, by questioning them individually around a central subject in a series of rounds, without having the experts confronting each other directly. After every iteration, a host presents the given answers to the group anonymously, thus encouraging the experts to revise their judgement, based on factors other have brought up and that they maybe did not have into consideration during the previous iteration. At the end of the process, the answers are expected to converge towards a more reliable and unbiased estimate for the object of interest.<ref name="Delphi_Method"></ref> | |
+ | ===Analogous Estimating=== | ||
+ | [[File:Analogous estimating model.JPG|thumb|300px|'''Figure 2:''' Analogous estimating model, made by Green, C. (2006) in "Estimating as an art—what it takes to make good art." <ref name=Estimating_as_an_art></ref>]] | ||
+ | An analogous estimation is based on parameters from projects with broad similarities with the considered one. This is a particularly useful technique in the early stages of a project, where there is a little amount of information available and the board wants, for example, an estimate of when the project will be completed and how much it will cost in the end. The technique’s main focus is on the overall activities, as it becomes more difficult to give predictions of specific activities, based on information from other projects. The involvement of specific human resources that have been on similar kind of projects is crucial here, as they can give insight on the experiences and challenges they faced, helping thus the project manager in developing valid estimations. Expert judgement will also be helpful when making analogous estimating in order to establish reusability of the information from similar projects.<ref name="Estimating_as_an_art"> ''Green, C. (2006). Estimating as an art—what it takes to make good art. Paper presented at PMI® Global Congress 2006—EMEA, Madrid, Spain. Newtown Square, PA: Project Management Institute.'' </ref> | ||
+ | |||
+ | The method is very simple and generally costs less in terms of time and effort, compared to many other estimation techniques within project management, although it doesn’t work with creative and innovative projects, as these are quite unique.<ref name="Standard_for_project_estimating"> ''Kanabar, V. & Warburton, R. D. H. (2011). Leveraging the new practice standard for project estimating. Paper presented at PMI® Global Congress 2011—North America, Dallas, TX. Newtown Square, PA: Project Management Institute.'' </ref> | ||
===Parametric Estimating=== | ===Parametric Estimating=== | ||
+ | [[File:Parametric_estimating_model_2.JPG |thumb|400px|'''Figure 3:''' Parametric estimating model, made by Green, C. (2006) in "Estimating as an art—what it takes to make good art." <ref name="Estimating_as_an_art"></ref>]] | ||
+ | Parametric estimating uses mathematical models that are based on historical data and project characteristics (e.g., duration constraints for a specific activity) to calculate an estimate for specific activity parameters, such as cost, effort, duration, etc. Statistical analyses are usually also performed in order to calibrate the historical data in the mathematical model. Besides, benchmark data from the industry can be utilized to set specific objectives and standards for the model, challenging the project team to improve the work on a type of activity. | ||
− | + | The technique's accuracy relies on the quality of the data. So when using parametric estimating ensure all your data are up to date. Below an application example of this estimation method. | |
− | |||
− | + | Imagine you have a project where one of your clients wants you to develop a new software within the next 48 hours. The software consists of three parts, respectively A, B and C. Based on internal historical data from similar projects you have worked on before, you can assume that the A section requires 100 hours, the B section 50 hours and the C section requires 30 hours. The A section can be done independently from the other two sections, but B has to be completed before C. You want to estimate how many programmers you will need to deliver the software in time. The programmers can work on a section simultaneously and are available 8 hours pr. day each. | |
− | |||
The model will consist of the following system of constraints: | The model will consist of the following system of constraints: | ||
+ | * Constraint A: 100 / (8*x) ≤ 48 | ||
− | + | * Constraint B+C: (50+30) / (8*y) ≤ 48 | |
− | + | ||
− | Constraint B+C: (50+30) / (8*y) ≤ 48 | + | |
Line 57: | Line 62: | ||
The solutions for the system are: | The solutions for the system are: | ||
+ | * x = 3,84 ≈ 4 | ||
− | + | * y = 4,80 ≈ 5 | |
− | |||
− | + | meaning you will need a total of 9 (4+5) programmers on your team. | |
− | + | ||
===Three-point Estimating=== | ===Three-point Estimating=== | ||
− | + | Also known as [[PERT]] (Program Evaluation and Review Technique), this method is usually used when going for a more "bullet-proof" estimate, by considering uncertainties and risks. The principle is very simple. Let’s say we want to estimate the duration for a specific schedule. We have tree scenario outcomes: | |
+ | |||
+ | * '''Most likely (M):''' based on what is the most probable duration seen from a statistical point of view | ||
+ | * '''Pessimistic (P):''' based on the worst-case scenario for the activity | ||
+ | * '''Optimistic (O):''' based on the best-case scenario for the activity | ||
+ | |||
+ | |||
+ | The inputs for the different scenarios are provided by the output deriving from other single-point estimation techniques, for example, the parametric estimating. When combining the different scenarios, a more accurate estimate can be expected. This expected value (E) represents the average time the activity would require if it were repeated on a number of occasions over an extended period of time.<ref name="PERT"> ''https://en.wikipedia.org/wiki/Program_evaluation_and_review_technique Last access: 04.03.2019'' </ref> The expected duration (E) can be calculated as a weighted average (PERT Mean): | ||
+ | |||
+ | |||
+ | |||
+ | E = (P + 4*M + O) / 6 [[File:Bottom-up example.JPG |thumb|200px|'''Figure 4:''' Bottom-up example in Microsoft Project for repairing and improving a pipeline, taken from Ten Six consultancy's homepage (2015).<ref name="Ten_Six"> ''https://tensix.com/2015/08/comparison-of-top-down-and-bottom-up-estimates-in-microsoft-project/ Last access: 04.03.2019'' </ref> | ||
+ | ]] | ||
+ | |||
+ | |||
+ | Let's see this with a concrete example. The development of an engineering software is estimated to take 8 months. If it goes wrong it will take 4 months extra, but if everything goes smoothly it will only take 6 months. | ||
+ | |||
+ | |||
+ | E = (12 + 4*8 + 6) / 6 = (12 + 32 + 6) / 6 = 50 / 6 = 8,33 | ||
− | == | + | The expected time to develop the software is 8,33 months. As you can see, the ''most likely'' scenario has a weight of 4, and the other two scenarios are weighted with 1. This way of weighing the parameters is an approximation of a '''beta distribution''', which usually is the one that appeals to projects in general.<ref name="Standard_for_project_estimating"></ref> The method is typically used when there is insufficient historical data on the estimation subject.<ref name="Body_of_Knowledge"></ref> The disadvantage of using it though is that instead of one, the project manager has to make three estimations, which require more work and time than other single-point techniques. |
− | + | ||
+ | ===Bottom-Up and Top-Down Estimating=== | ||
− | + | A well-known technique used when estimating projects is the bottom-up approach. If an activity’s duration or cost cannot be estimated with a reasonable degree of confidence, it can then be broken down to its different components. The individual estimates for these are then rolled up to calculate the overall estimate.<ref name="Body_of_Knowledge"></ref> This technique provides a high level of accuracy, but requires time and money, as an activity can be split up in many subactivities that have to be estimated. Besides, the extent of the approximation's accuracy is proportional to the provided level of details. It's therefore not recommended to use this method in the early stages of a project, as there is not so much information available. | |
− | + | ||
− | = | + | Are more agile approach is the top-down method, which is based on the information currently available. The overall activity is estimated roughly, for example by using an analogous estimation for the task. As the project evolves, new information is then gathered and the previous estimate can then be refined. This method allows the project team to forecast and react quickly in a continuously changing environment.<ref name="Agile_estimation_techniques"> ''Sliger, M. (2012). Agile estimation techniques. Paper presented at PMI® Global Congress 2012—North America, Vancouver, British Columbia, Canada. Newtown Square, PA: Project Management Institute.'' </ref> |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | == | + | ==Limitations== |
− | + | The following have to be considered when estimating: | |
− | * | + | *Having detailed estimations form the beginning of a project can be problematic. If something changes these have to be updated, and this can end up in wasting a lot of time and money. |
− | + | ||
− | + | ||
− | + | ||
*Estimates that are there to give an idea, becomes the targets or the constraints. | *Estimates that are there to give an idea, becomes the targets or the constraints. | ||
− | * | + | *In general, estimates are limited in reliability. They are just educated-guesses that has to be reviewed and updated on a regular basis in order to be valid. |
+ | *Ignoring relevant data, risks and uncertainties can lead to inaccurate estimates. | ||
+ | *When the project is not broken down far enough some of the work can be misinterpreted. | ||
+ | *The human brain has a tendency to be optimistic about the future, and forget about unpleasant past events. In reality, worst-case scenarios are "worse" than the estimated ones.<ref name="Optimism_bias"> ''Meyer, W. G. (2016). Estimating: the science of uncertainty. Paper presented at PMI® Global Congress 2016—EMEA, Barcelona, Spain. Newtown Square, PA: Project Management Institute.'' </ref> | ||
==References== | ==References== | ||
<references /> | <references /> |
Latest revision as of 00:04, 5 March 2019
When managing a project, a manager has to achieve specific objects within time, resources and money. This can often be challenging, as there is a lot of uncertainty in doing so. "How can the amount of time for each activity be calculated"? "How many resources are needed to complete every task"? "And how much will the project cost in the end"? This article deals with answering all these questions and focuses on how to come up with educated guesses to these uncertainties.
In the first section, a definition of the estimation process will be given. A variety of standard tools used in the estimation process will then be presented. Some of these tools and techniques are more complex than others and will, therefore, require a more detailed explanation. For every presented technique, advantages and disadvantages, as well as examples on how to apply these, will be given in order to give the reader an understanding of how the methods work and what they can be used for.
Lastly, challenges and limitations of using the techniques will be discussed, as these can variate in accuracy depending on the type of the projects and the project phase in which they are applied. The involved risks when estimating will also briefly be covered here.
Contents |
[edit] Definition and Estimating Approach
The process of estimating is a common practice within Project Management of predicting a specific value that is not known with relative accuracy. An estimation can serve different purposes, for example, give an indication of the duration for a specific activity or the number of resources that must be assigned to a task in order to be completed in time. Figure 1 shows a model for the estimation process.[1]
Estimations are based on different inputs. These can be components from the project management plan such as the scope baseline or the schedule plan; project documents as list of activities, assumptions log, resource requirements, register for learned lessons; enterprise environmental factors as market conditions, organizational culture, resource availability; and organizational process assets as policies, scheduling methods and historical data from similar projects. The result of the estimation process, the output, are the calculated estimate and the detailed documentation that supports the approximation. Furthermore, as a result of carrying out the estimation process, some project documents may also be updated.
There are four key phases when for the estimating process:[2]
- Prepare to estimate: in this phase the activities that have to be estimated and the stimating team are identified, the estimating techniques are determined, the estimating inputs are prepared, and any constraints to the estimates, such as deadlines or funding limits, are documented.
- Create estimates: in this phase the estimates for the identified activities are calculated and validated.
- Manage estimates: after the project work has started, the estimates are continuously monitored and updated.
- Improve estimating process: in this phase the actual data and lessons learned are incorporated into the estimating processes and tools.
[edit] Techniques for Estimating
There exist different estimation techniques. It is important to mention that these are not only limited to the planning phase but can be used throughout the whole project. This chapter will describe some of the most used techniques in managing projects and give examples of their application. The techniques can be used for estimating costs, efforts, durations, etc.
[edit] Expert Judgment
This technique is quite simple and consists in obtaining the judgment of a group or a person with specialized education, knowledge, skill, experience, or training, in the subject that has to be estimated. The expertise can either be provided in the corporation or externally, for example by turning to a professional consulting agency. During the process, it is a good idea to provide documents, data and other relevant information that can help the involved parts with estimating accurately. An example of carrying this method out could be having a group of experts to estimate how much the cost for a specific construction material will fluctuate in the next five years. The group will have an open discussion and will eventually at the end agree on what they believe to be the most valid prediction. The problem with doing so is that there could be a tendency to be persuaded by the majority opinion or the members with the greatest authority on the matter.[3]
A well-known method to overcome these issues is the Delphi method. According to Helmer (1967), the purpose of this method is to obtain the most reliable consensus of opinion from a panel of selected experts, by questioning them individually around a central subject in a series of rounds, without having the experts confronting each other directly. After every iteration, a host presents the given answers to the group anonymously, thus encouraging the experts to revise their judgement, based on factors other have brought up and that they maybe did not have into consideration during the previous iteration. At the end of the process, the answers are expected to converge towards a more reliable and unbiased estimate for the object of interest.[3]
[edit] Analogous Estimating
An analogous estimation is based on parameters from projects with broad similarities with the considered one. This is a particularly useful technique in the early stages of a project, where there is a little amount of information available and the board wants, for example, an estimate of when the project will be completed and how much it will cost in the end. The technique’s main focus is on the overall activities, as it becomes more difficult to give predictions of specific activities, based on information from other projects. The involvement of specific human resources that have been on similar kind of projects is crucial here, as they can give insight on the experiences and challenges they faced, helping thus the project manager in developing valid estimations. Expert judgement will also be helpful when making analogous estimating in order to establish reusability of the information from similar projects.[4]
The method is very simple and generally costs less in terms of time and effort, compared to many other estimation techniques within project management, although it doesn’t work with creative and innovative projects, as these are quite unique.[2]
[edit] Parametric Estimating
Parametric estimating uses mathematical models that are based on historical data and project characteristics (e.g., duration constraints for a specific activity) to calculate an estimate for specific activity parameters, such as cost, effort, duration, etc. Statistical analyses are usually also performed in order to calibrate the historical data in the mathematical model. Besides, benchmark data from the industry can be utilized to set specific objectives and standards for the model, challenging the project team to improve the work on a type of activity.
The technique's accuracy relies on the quality of the data. So when using parametric estimating ensure all your data are up to date. Below an application example of this estimation method.
Imagine you have a project where one of your clients wants you to develop a new software within the next 48 hours. The software consists of three parts, respectively A, B and C. Based on internal historical data from similar projects you have worked on before, you can assume that the A section requires 100 hours, the B section 50 hours and the C section requires 30 hours. The A section can be done independently from the other two sections, but B has to be completed before C. You want to estimate how many programmers you will need to deliver the software in time. The programmers can work on a section simultaneously and are available 8 hours pr. day each.
The model will consist of the following system of constraints:
- Constraint A: 100 / (8*x) ≤ 48
- Constraint B+C: (50+30) / (8*y) ≤ 48
where x is the number of programmers working on A, and y the programmers working on B and then C.
The solutions for the system are:
- x = 3,84 ≈ 4
- y = 4,80 ≈ 5
meaning you will need a total of 9 (4+5) programmers on your team.
[edit] Three-point Estimating
Also known as PERT (Program Evaluation and Review Technique), this method is usually used when going for a more "bullet-proof" estimate, by considering uncertainties and risks. The principle is very simple. Let’s say we want to estimate the duration for a specific schedule. We have tree scenario outcomes:
- Most likely (M): based on what is the most probable duration seen from a statistical point of view
- Pessimistic (P): based on the worst-case scenario for the activity
- Optimistic (O): based on the best-case scenario for the activity
The inputs for the different scenarios are provided by the output deriving from other single-point estimation techniques, for example, the parametric estimating. When combining the different scenarios, a more accurate estimate can be expected. This expected value (E) represents the average time the activity would require if it were repeated on a number of occasions over an extended period of time.[5] The expected duration (E) can be calculated as a weighted average (PERT Mean):
Let's see this with a concrete example. The development of an engineering software is estimated to take 8 months. If it goes wrong it will take 4 months extra, but if everything goes smoothly it will only take 6 months.
E = (12 + 4*8 + 6) / 6 = (12 + 32 + 6) / 6 = 50 / 6 = 8,33
The expected time to develop the software is 8,33 months. As you can see, the most likely scenario has a weight of 4, and the other two scenarios are weighted with 1. This way of weighing the parameters is an approximation of a beta distribution, which usually is the one that appeals to projects in general.[2] The method is typically used when there is insufficient historical data on the estimation subject.[1] The disadvantage of using it though is that instead of one, the project manager has to make three estimations, which require more work and time than other single-point techniques.
[edit] Bottom-Up and Top-Down Estimating
A well-known technique used when estimating projects is the bottom-up approach. If an activity’s duration or cost cannot be estimated with a reasonable degree of confidence, it can then be broken down to its different components. The individual estimates for these are then rolled up to calculate the overall estimate.[1] This technique provides a high level of accuracy, but requires time and money, as an activity can be split up in many subactivities that have to be estimated. Besides, the extent of the approximation's accuracy is proportional to the provided level of details. It's therefore not recommended to use this method in the early stages of a project, as there is not so much information available.
Are more agile approach is the top-down method, which is based on the information currently available. The overall activity is estimated roughly, for example by using an analogous estimation for the task. As the project evolves, new information is then gathered and the previous estimate can then be refined. This method allows the project team to forecast and react quickly in a continuously changing environment.[7]
[edit] Limitations
The following have to be considered when estimating:
- Having detailed estimations form the beginning of a project can be problematic. If something changes these have to be updated, and this can end up in wasting a lot of time and money.
- Estimates that are there to give an idea, becomes the targets or the constraints.
- In general, estimates are limited in reliability. They are just educated-guesses that has to be reviewed and updated on a regular basis in order to be valid.
- Ignoring relevant data, risks and uncertainties can lead to inaccurate estimates.
- When the project is not broken down far enough some of the work can be misinterpreted.
- The human brain has a tendency to be optimistic about the future, and forget about unpleasant past events. In reality, worst-case scenarios are "worse" than the estimated ones.[8]
[edit] References
- ↑ 1.0 1.1 1.2 Project Management Institute, Inc. Guide to the Project Management Body of Knowledge (PMBOK® Guide) (6th Edition)
- ↑ 2.0 2.1 2.2 Kanabar, V. & Warburton, R. D. H. (2011). Leveraging the new practice standard for project estimating. Paper presented at PMI® Global Congress 2011—North America, Dallas, TX. Newtown Square, PA: Project Management Institute.
- ↑ 3.0 3.1 Helmer, O. (1967). Analysis of the future: The Delphi method. The RAND Coroporation, Santa Monica, California.
- ↑ 4.0 4.1 4.2 Green, C. (2006). Estimating as an art—what it takes to make good art. Paper presented at PMI® Global Congress 2006—EMEA, Madrid, Spain. Newtown Square, PA: Project Management Institute.
- ↑ https://en.wikipedia.org/wiki/Program_evaluation_and_review_technique Last access: 04.03.2019
- ↑ https://tensix.com/2015/08/comparison-of-top-down-and-bottom-up-estimates-in-microsoft-project/ Last access: 04.03.2019
- ↑ Sliger, M. (2012). Agile estimation techniques. Paper presented at PMI® Global Congress 2012—North America, Vancouver, British Columbia, Canada. Newtown Square, PA: Project Management Institute.
- ↑ Meyer, W. G. (2016). Estimating: the science of uncertainty. Paper presented at PMI® Global Congress 2016—EMEA, Barcelona, Spain. Newtown Square, PA: Project Management Institute.