3.4: Estimating Activity Durations
- Page ID
- 106424
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)After we define the lowest level of activities in an activity list, each activity is reviewed and evaluated to determine the duration (how long it will take to accomplish from beginning to end) and what resources (e.g., human resources, materials, facilities, and equipment) are needed. An estimate is an educated guess based on knowledge, experience, and inference—the process of deriving conclusions based on assumptions. The accuracy of the estimate is related to the quality of the knowledge and how that knowledge is applied. The person with the most knowledge may not be the most objective person to provide duration estimates. The person responsible for the work may also want to build in extra time. Therefore, multiple inputs into the duration estimate and a more detailed WBS help reduce bias—the making of decisions based on a prejudged perspective.
It is of high importance here to highlight how a milestone is different from an activity. A milestone is a significant point or event in a project. Milestones have zero duration because they represent a significant point or event. A milestone list identifies all project milestones and indicates whether the milestone is mandatory, such as those required by contract, or optional, such as those based on historical information[1].
The unit of time used to develop the activity duration is a function of the level of detail needed by the user of the schedule. The larger and more complex the project, the greater the need for detail, which usually translates into shorter durations for activities. However, it is common to use two types of units – one is days or weeks for activities, and hours to display the work hours.
In this textbook, we can elaborate on five types of estimation methods:
- Expert judgment: The project team consults domain and implementation subject matter experts who have technical knowledge and experience in the areas the project activities are related to. If we are developing a new mobile application, we can consult software engineers, developers and testers, and systems analysts who were involved in activities to develop other mobile applications. They can provide us with the information regarding scheduling estimates for each activity we are planning to carry out.
- Appropriation method (Analogous estimating): Actual durations from similar projects are reviewed, and the same proportions are applied to the current project. However, internal and external factors that affected the previous projects, and those that may affect the current project should be taken into account. Identified risks with their probability and impact considered could have a significant influence on duration estimates for the current project.
- Parametric estimating: In this estimation technique, we can use equations and algorithms to calculate the duration based on the resources we use and how many hours they need to work, or how many of them we need to use. This method is quantitative. We can multiply the quantity of work to be performed by the number of hours per unit of work. If we can estimate the amount of the work, we can divide it by the work that can be done in an hour. For example, let’s assume that, in our m-commerce project, we estimated that software developers need to create 200 lines of code for a module. Based on the previous projects and the feedback we received from the subject matter experts, we have estimated that a developer can finish 40 lines in an hour. Therefore, a developer needs 5 hours to finish all 200 lines. We can also add a one-hour break and two-hour review for this task. Therefore, the total work hours amount to 8 hours which is translated to one day in our schedule. Another example can be regarding the installation of cables in an infrastructure project. If workers can install 100 feet of cable per hour, the duration required to install 1,000 feet would be 10 hours (1,000 feet divided by 100 feet per hour). This technique can produce higher levels of accuracy depending on the sophistication and underlying data built into the model. Parametric schedule estimates can be applied to a total project or segments of a project, in conjunction with other estimating methods[2]. Entering data about the project into a formula, spreadsheet, or computer program produces a duration estimate by extrapolating information from a database of actual durations from past projects.
- Three-point estimates: Duration estimates are done based on three scenarios:
- A realistic estimate (most likely to occur – m)
- An optimistic estimate (best-case scenario – o)
- A pessimistic estimate (worst-case scenario – p)
In the three-point estimation method, two distributions are possible – triangular and beta. In triangular distribution, all three duration estimates get the same weight. In a beta distribution, the realistic estimate gets four-sixths of the weight whereas the other two estimates have one-sixth of the weight.
Triangular distribution:
Beta distribution:
Let’s estimate the duration of Project Charter sub-activities. Our team gathered together in a meeting to review and discuss alternative durations. We also consulted subject matter experts who work in relevant departments in our organization and also external stakeholders who have an interest and/or power. Our organization and the team had implemented software and website development projects as well as several mobile application development projects. Therefore, we have reports including information regarding the realized durations and lessons learned. So, we can start with analogous estimating first. As we have already worked on similar projects, that would facilitate the estimation process both for schedule and budget. We can place the historical information on the Most Likely column. Based on the expert judgment, lessons learned, and discussions during our team meeting, we determined pessimistic and optimistic durations in Table 3.2.
Duration Estimation (in business days) | |||||
Activity identifier |
Activity title | Optimistic | Most Likely | Pessimistic | Duration |
1.3.1 | Develop high-level scope | 3 | 4 | 6 | 4.17 |
1.3.2 | Identify overall project risks | 3 | 5 | 9 | 5.33 |
1.3.3 | Develop high-level schedule | 4 | 6 | 10 | 6.33 |
1.3.4 | Identify main resources and develop a high-level budget | 1 | 2 | 5 | 2.33 |
1.3.5 | Identify key stakeholders and project team member roles | 5 | 7 | 12 | 7.50 |
1.3.6 | Develop project approval requirements and project exit criteria |
3 | 5 | 9 | 5.33 |
The computation of the duration for Activity 3.2 is shown below:
We can roll the duration estimates down or up to the nearest integral number.
- WBS method (Bottom-up estimating): In this method, we start from the lowest level activities in the WBS – work packages. After we estimate the duration for all six activities (Table 3.2), we can find the duration of the parent activity, 1.3 “Preparation of Project Charter”. The addition of duration for all six activities wouldn’t be an operation of adding all numbers (4+5+6+2+8+5), which is equal to 30 days. We must consider the dependencies between the activities, which are detailed in sections numbered 7.4 and 7.5 of this chapter. Hence, we can find 22 days for 1.3. The same bottom-up estimating is applied to the activities (1.1., 1.2, 1.3, 1.4, 1.5), and the duration for “1. Scope” is found as 35 days. “1.6 Completion of the Scope Phase” is a milestone and has a duration of zero. The overall duration for “1. Scope” is computed as 35 days as seen in Table 3.3.
WBS | Activity Name | Duration | Start | Finish | Predecessors |
1 | Scope | 35 days | Mon 5/2/22 | Mon 6/20/22 | |
1.1 | Clarify project purpose and determine project scope | 5 days | Mon 5/2/22 | Fri 5/6/22 | |
1.2 | Secure project sponsorship | 1 day | Mon 5/9/22 | Mon 5/9/22 | 1.1 |
1.3 | Preparation of project charter | 22 days | Tue 5/10/22 | Wed 6/8/22 | |
1.3.1 | Develop high-level scope | 4 days | Tue 5/10/22 | Fri 5/13/22 | 1.2 |
1.3.2 | Identify overall project risks | 5 days | Mon 5/16/22 | Fri 5/20/22 | 1.3.1 |
1.3.3 | Develop high-level schedule | 6 days | Mon 5/16/22 | Mon 5/23/22 | 1.3.1 |
1.3.4 | Identify main resources and develop a high-level budget | 2 days | Tue 5/24/22 | Wed 5/25/22 | 1.3.3 |
1.3.5 | Identify key stakeholders and project team member roles | 8 days | Mon 5/23/22 | Wed 6/1/22 |
1.3.1 1.3.2 |
1.3.6 | Develop project approval requirements and project exit criteria | 5 days | Thu 6/2/22 | Wed 6/8/22 | 1.3.1
1.3.2 1.3.3 1.3.4 1.3.5 |
1.4 | Approval of project charter by the sponsor | 2 days | Thu 6/9/22 | Fri 6/10/22 | 1.3.6 |
1.5 | Secure core resources | 5 days | Mon 6/13/22 | Fri 6/17/22 | 1.4 |
1.6 | Completion of the scope phase | 0 days | Mon 6/20/22 | Mon 6/20/22 | 1.5 |
Estimates have a huge influence on a project and are a large source of project risk. Watch the video on time estimates to learn about how estimates are used for project planning.
Watch this Video: Time Estimates by Prof C [3:04] (Transcript Available).
Top-down estimation | Also referred to as macro, estimation methods are used to determine if a project is feasible, to calculate funding requirements, and to determine the resources needed to complete a project. These methods are not extremely accurate but provide a relatively fast way to make an estimate of the time and costs required for a project. |
---|---|
Bottom-up estimation | Also referred to as micro, estimation methods are used to provide a detailed, and more accurate, estimate and are usually derived from the detailed list of work packages or activities found in the work-breakdown structure. |
As the video mentions, all estimates contain risk. If estimates are too low, then a project will take more time and money to complete than what was budgeted. Obviously, a bad situation. If estimates are too high, then a project will take less time and money than originally estimated. This might seem to be a desirable situation, but good project managers will realize that estimates that are too high will cause an organization to over-allocate resources to a project, thereby preventing other projects from being pursued due to organizational resource shortages. Therefore, it is important to have the most accurate estimates possible. The project team needs to understand the value of accurate estimates and avoid the natural human tendency to pad estimates. Once unbiased estimates for a project have been generated, the project manager can calculate what time buffers and budgetary reserves should be added to the project plan to deal with uncertainty.
Accuracy of Estimates
Prior to project authorization, estimates for project cost need to be given, but these estimates can be rough estimates. As the project progresses, more definitive estimates will be needed and can be generated.
PMI defines the following ranges for estimates:
- Rough Order of Magnitude (ROM). ROM estimates are made at the initiation of the project and can be +/- 50 percent of the actual or final cost.
- Budget Estimate. Budget estimates are used in project planning and can be within a range from -10 to +25 percent of the actual or final cost.
- Definitive Estimate. Definitive estimates are generated as the project progresses and the variability of the estimate is reduced (see Figure 3.1). Definitive estimates are within a range from -5 to +10 percent of the actual or final cost.
“7.1 Time and Resource Estimation” from Project Management Fundamentals by J Scott Christianson is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.