Projects are unique. That is one of the differences between projects and processes. This uniqueness often creates uncertainty. Uncertainty because the activity is unique to the project, or the activity is being accomplished by a resource that is not a practiced expert, or the interaction of this activity with other project activities is unique in this project. All of these can create problems when estimating effort, time or resources.
Uncertainty in one aspect of an estimate leads to uncertainty on the other aspects. If the effort needed to complete the scope is uncertain - for instance the number of hours of work needed to complete an analysis - the time and resources needed will be uncertain. If the timing of when an activity starts or ends is uncertain, the resource availability and amount of effort required may change. If the resource assigned to an activity is uncertain, the number of hours required to complete the activity and the timing of the availability of the resource will be uncertain.
However, the good news is that not all project activities are uncertain. In many cases, the activity is one that is well defined and the organization routinely accomplishes it. When possible a project team is formed so that an expert is doing the work and the availability of the expert is predictable. In those cases an accurate estimate can be quickly generated.
I'll discuss three types of activities and what type of estimating approach should be used with each of them. Those are the Stable Activities, the Dependent Activities, and the Uncertain Activities. Of course there is a fourth category which is the unknown activity. These can't be estimated but must be accounted for in the project reserves. A Traditional or Discovery project often will have a small reserve (or possibly none at all) - at least for that portion of the project that is approved. Whereas an Adaptive or Extreme project may need a large reserve. Also, as complexity increases typically the level of reserve increases since there is a greater possibility of unrecognized activities. After discussing the three types of activities, I will explain some of the more common techniques for estimating project activities and their strengths and weaknesses. The techniques will include Analogous, Parametric Modeling, 3 Point Estimate, Expert Judgment, Published Data Estimates, Vendor Bid Analysis, Reserve Analysis, Bottom Up Analysis, and Simulation. A discussion of estimating the cost of completing a project that is underway is addressed in the page on Earned Value Analysis. Finally, I will discuss how to estimate a project when the key boundary condition is the End Date or the Total Cost of the project and the effort is tailored to fit this constraint.
Stable Activities
Stable Activities are those that are well understood and predictable. For activities in this category, the estimating is usually straightforward. I will typically use analogous, expert judgment, a parametric model, or published estimating data for these types of activities. Based upon the information available to the project team members, use the appropriate technique and set the estimate.
Dependent Activities
Dependent Activities are thole activities where the time or effort is highly dependent upon some project attribute or characteristic that is not yet know or knowable at the time the original estimate is furnished. For instance, the amount of time needed to complete testing will depend upon whether the test is successful on the first try or whether a retest is required. For these types of activities, an assumption is made that will drive the estimated effort, time and resources. This assumption is a risk and should be tracked on the Risk Register. If the assumption is incorrect, the time or money required to do the activity may be very different from the estimate. If a conservative estimate is used, this is a positive risk. If an agressive estimate is used, this is a negative risk.
For these Dependent Activities, I often use the 3 Point Estimate, Expert Judgment, or Analogous Estimate. Also, if a project activity is outsourced and it is a Dependent Activity, I will consider what assumptions are used by the supplier and do a Vendor Bid Analysis. If there are a large number of Dependent Activities in the project, I will factor that into the project Reserve Analysis.
Uncertain Activities
Uncertain Activities are the most difficult to estimate. There is often very little data to support a precise estimate. In addition, there are many factors that could effect the estimate so I can't just make one assumption and track that in my risk register. An example of an Uncertain Activity is a requirements definition task on a Complex project. There are numerous stakeholders who have different opinions of what is needed. Getting all of them to agree on the requirements will be an iterative process with the number of iterations being completely unpredictable. Yet if this task is not done well, there are likely to be major problems later in the project getting the stakeholders to agree that the project deliverables have been met. Uncertain Activities typically are listed in the Risk Register since the timing and cost are impossible to estimate accurately.
For these Uncertain Activities, I often rely on the 3 Point Estimate to set the activity boundaries, although Published Data or Parametric Models can also be used to do this. Then I use Analogous or Expert Judgment to set the actual estimate. These activities must be considered in the Reserve Analysis. Often the estimate on these activities can be improved by decomposing the work of the activity and conducting a Bottom Up Analysis on that work. This will isolate the uncertain portions of the activity and allows for accurate estimates where possible.
Analogous Estimating
Analogous Estimating is one of the most common forms of estimating project activities. This technique uses the experience from previous projects and extrapolates that onto the current project. This technique is appropriate for those cases where the type of work is similar and the resources doing the work are the same between projects. Its advantage is that it is quick and, when the conditions are appropriate, it is usually fairly accurate. The disadvantage is that the organization must have similar projects for comparison.
Parametric Model Estimating
Parametric Model Estimating is a very accurate and easy estimating technique. A formula is developed for estimating the time or resources needed to perform a project activity. The formula is usually based upon a great deal of historical experience. A PMO will often develop the parametric model based upon having done lessons learned on many projects. A classic example from construction projects is the parametric model for estimating resources and time based upon the number of square feet of new construction. The advantage of parametric model estimating it is quick and accurate. The disadvantage is that models don't exist for activities until there is a large experience base for the activity.
3 Point Estimating
The 3 Point Estimating technique is used to understand the level of uncertainty embedded within an estimate. In this technique three estimates are generated for the project activity using three different sets of assumptions. The first estimate is a best case or optimistic estimate. The second estimate is a worst case or pessimistic estimate. The third estimate is between the other two and is the most likely estimate. The way those estimates are developed is by using one of the other techniques such as Analogous or Parametric Model. However, because of the high degree of uncertainty due to the risk assumptions, the three estimates are used to create a boundary on expectations for the activity. A variation on this technique, the PERT analysis, uses a weighted average of these estimates to create a PERT estimate. When using this approach, the most likely estimate is normally what is put in the project plan but the optimistic and pessimistic estimates are used during the reserve analysis. Also, an activity that has a great deal of difference between the optimistic and pessimistic estimates is an uncertain activity and should be tracked in the Risk Register. The advantage of this technique is that it provides boundaries on expectations. The disadvantages are that it takes more work - since three estimates must be created not one - and the most likely is still very much a guess - the actual could be significantly better or worse.
Expert Judgment Estimating
Expert Judgment estimating is easy to do - provided you have an expert on the project. This technique looks to the expert to create an estimate based upon their understanding of the project requirements. Many, if not most, project estimates are created in this fashion. The advantage of this is that it is quick and if the expert is knowledgeable, it is often the most accurate estimate for uncertain activities. The disadvantages are that you may not have an expert available and even if you do, the expert often can provide no solid rationale for their estimate beyond, "That's what I think it will take to do this."
Published Data Estimating
Published Data Estimating is an excellent technique for those activities for which there is published data. In this technique, the activity is compared to the activities for which data exists and the actual cost or durations of the closest comparable activity is selected from the data and used as the estimate. The advantage of this technique is that it is very accurate when the project conditions match the conditions under which the published data was generated. The disadvantages are that data does not exist for many activities and that the published data that does exist is based upon the characteristics of the organizations who compiled and published the data - which may not correspond with your organization's characteristics. (For instance you may have individuals on your project who are either much more or much less experienced than those who were in the projects comprising the data.)
Vendor Bid Analysis
The Vendor Bid Analysis is a technique used when working with suppliers on uncertain activities. The analysis considers the assumptions the vendor worked with and does a sensitivity assessment on those assumptions. In addition, for effort that the buying organization does not have experience with, they can contract with a consulting firm that has experience to do a "Should Cost" analysis. This "Should Cost" estimate is compared to the suppliers quote to identify any shortcomings. The advantages of this technique is that it exposes supplier risk that can be accounted for in the reserve analysis and it increases the confidence in the supplier's approach. The disadvantages are that this can take a fair amount of time and if a consultant is used to create a "Should Cost" it adds to the cost of the project.
Reserve Analysis
The Reserve Analysis is a fundamental technique for estimating. This technique considers the level of uncertainty and risk in the project and establishes a reserve pool of time, resources, or possibly performance that can be drawn upon to offset the unestimated issues that arise. With respect to schedule reserve, I will allocate the path float that I have on non-critical path tasks to provide a buffer around those tasks with the most uncertain estimates. For critical path tasks, I will either use a conservative estimate or include a "reserve" task that is used to resolve any problems that arise. (An example of a reserve task is "bug-fixing" on a software development project. I have been asked, "Why don't you just write software that doesn't have bugs. Then you won't need that task." Of course I don't intend to write software with bugs. However, experience has shown that the software is likely to have some, so I add a "bug-fixing" task as a reserve task to address the bugs. The specific bugs are not known when the task is created, but based upon the level of uncertainty in the software develooment, an amount of time and resources are set aside to resolve software development problems.) With respect to resource reserves, I will set the level of reserve based upon the uncertainty in the project and the risks. It is common to have resource reserves of 10% to 20% over the estimated cost of a project for those projects with high uncertainty. Although projects with low uncertainty might have 0% to 5% reserve. Again I allocate that reserve to the areas of highest uncertainty. I also will allocate a portion of the resource reserve to each phase in a phased project. This is to better match the actual the planned timing for the use of the reserve with when it is likely to be used. This avoids unnecessary variance reports. The use of performance reserves is when task deliverables are expanded to address unknown issues. For instance, we would typically design with a 50% design margin on our mechnanical device designs so that if there was a slight error in calculations or material properties, the design would still be robust enought to perform as needed. At the end of the day, the reserve analysis is a guess on the part of the project manager and stakeholders. If your organization has policies regarding reserves, use them. If not, use your best judgment.
Bottom Up Analysis
A Bottom Up analysis is a technique to improve the accuracy of the overall project estimate. This technique requires the project team to decompose the work into very small work packages. Generally, the smaller the project activity, the easier it is to estimate because the work scope is very small. All of these estimates of small activities are added up into subgroups and finally into the project total. The advantage of this technique is that the estimate is usually more accurate since the work is better understood. The disadvantages of this technique is that it is very time consuming, and it may be impossible to decompose activities that cannot be easily defined.
Project Simulation
A Project Simulation is a way of combining the uncertainty in 3 Point Estimates and Reserve Analysis to understand the likely project outcomes. This requires that the project be entered into a project management software application, being careful to identify all relationships between activities. For those activities that have uncertainty, the degree of uncertainty must be modeled and entered into the project management software also. The method for doing this will vary based upon the software being used. A simulation add-on is then used to run the software through a Monte Carlo routine. The result will be a distribution of project time lines and costs. Based upon the organization's risk sensitivity, the overall project time line and budget can be set. The advantage of this approach is that it provides a global perspective on overall time line and cost uncertainty. The disadvantages are that it can take months to do this on a large project and the resulting estimates are only as good as the assumptions that are allowed by the software. In my experience, the software is seldom able to truly model all of the uncertainty and relationships.
Estimating Based Upon Project End Date
In some cases, the project end date is set even before the scope and deliverables are defined. (I am reminded of Y2K projects.) In those cases, a high-level time line is created starting from the end date and going backward to the present time. Given the amount of time allocated for the major activities, the project team considers the needed deliverables and available resources during the time period. Essentially, the schedule side of the triangle is fixed and the scope and resource sides are varied so as to create a viable project. Often this will require an iterative estimating approach. Once the high level plan is established, estimates for the activities are developed and then iterations are done varying resources and scope until a viable estimate can be created. The Risk Register will be dominated by schedule risk items. Sometimes, an estimate cannot be created. In those cases, the project should not even be initiated, since it is doomed.
Estimating Based Upon Project Total Cost
In some cases, the project total cost is set even before the scope and schedule are defined. (I am reminded of construction projects funded by bank loans.) In those cases, a high-level allocation of the budget is created between the likely project deliverables. Each major activity is then estimated and if the estimate is greater than the allocated cost, the timing of resources or scope and deliverables are varied until the project is able to meet the budget goals. This is often an iterative process that may take many iterations until it completes.