Monday, September 28, 2015

Ten Steps for Project Estimating

Project estimating is challenging.  Since a project is a temporary endeavour, the specific project activities are often done infrequently.  The company is not able to rely upon a statistically significant set of projects to create estimating standards.  Most projects rely heavily on analogous estimates that are set by team members.  However, analogous estimates depend upon project team member’s experience which is significantly different for each person.  In this environment, estimating is difficult.  So here are ten steps for creating project estimates . 
  1. Divide the project into tasks and activities.  It is easier to estimate small “bite-sized” chunks of project work than to estimate large complex activities with many moving parts.   The project leader and the core team members should start with the project goal and deliverables and create a list of tasks and activities necessary to accomplish the goal and complete the deliverables.   

  2. Estimate effort first; then convert it to duration.  Estimate the amount of work in each task or activity – not the duration of the activity.  Duration estimates are far more inaccurate than the actual work estimates.  Start with effort.  These estimates will typically be created with the units of hours or days of effort.  

  3. Estimate the tasks you know.  The project leader should go through the list of activities and tasks and identify those for which a reliable estimate can be created.  For those cases where standards exist or for which the project management office has a parametric estimating algorithm, the estimate is created.   

  4. Estimate the tasks the project leader and core team members know.  Of the remaining tasks, the project leader and each core team member should review them to identify ones for which they can create a reliable estimate based upon their personal experience on other projects.  

  5. Make “reasonable” assumptions.  Of the remaining tasks, determine which ones are dependent tasks.  By dependent task, I mean a task for which the effort estimate is highly dependent upon some factor that is not known with certainty at the beginning of the project.  For the tasks that fit that category, make a reasonable assumption about project conditions, and create an estimate based upon that assumption.  The assumption should be added to the risk register.  

  6. Assume 75% condition for remaining tasks. For the remaining tasks, the project leader and project team should create a best case and worst case effort estimate for each task.  These may be wild guesses, but they form the starting point for setting the effort estimate.  At this time I average the best case and worst case estimates; then select a value at the 75% point.  These tasks should also be added to the risk register. 

  7. Add “unknown” tasks.  If there are any aspects of the project for which the project leader and core team members have no experience, this will be a high risk area for both estimates and execution and should be prominent on the risk register.  Several tasks or task groups are placed into the project in these areas.  These tasks are “place-holders” to ensure that resources and time are allocated to these areas.  Check online sources or other networks to create an effort estimate for these tasks.  The values will probably be wrong, but they at least ensure that the high-risk area is recognized. 

  8. Create a network diagram.  It is finally time to convert the effort estimates into duration estimates.  A network diagram or flowchart of the tasks and activities is created.  The network diagram is needed to determine sequence of activities and to identify potential parallel paths of project work that could shorten the overall project duration without reducing the duration estimate of any individual task or activity.  If there are numerous parallel paths, use the critical path analysis method to determine the longest and monitor it closely.  I often will place any tasks on the critical path that have uncertain estimates onto the risk register.   

  9. Assign resources to determine duration estimate.  Assign resources based upon resource availability.  Start with the most constrained resource and assign that resource first to the tasks and activities where the resource is required.  Then work through the remaining resources from most constrained to least constrained, assigning them to tasks based upon the network diagram and resource availability.  Based upon the skill set of the resources that are actually assigned to each task, the effort estimate may need to be modified.   Once the assignments are complete, the task duration estimates and project duration estimate is easy to calculate. 

  10. Calculate the cost estimate.  Use the cost rate of each resource and the assignment of the resources to the tasks to determine the cost for each task and activity.  Ensure that any other cost factors that must be applied are included.  Also, include the estimated costs of any purchased tasks or activities.   Include a management reserve cost estimate based upon the number and severity of risks on the risk register.