Wednesday, October 24, 2007

Estimating Duration

Whereas effort is normally given in terms of hours, duration is given in terms of days and an end-date. For instance, it could be confusing to say that the duration of a project is three months, since you don't know if this means that the duration is actually 90 days or 60 work days. What you should say instead is that the project duration is 90 days and the estimated end-date is 31 December 2004. If you describe the estimates in those terms, the estimated number of days of duration, as well as the targeted end-date, is clear.

If everyone worked eight hours per day, and was absolutely 100% productive for all eight hours, you could easily calculate duration by taking the number of effort hours, divided by the number of resources, divided by the number of hours they work per day. For instance, if an activity was estimated at 80 hours, and you have one person assigned, and they work eight hours per day, the duration would be (80 / 1 / 8) = 10 days. Likewise, if four people were assigned full time, the duration would be (80 / 4 / 8) = 2.5 days.

However, those perfect circumstances are not indicative of how work is actually performed. Therefore, you can convert effort hours to duration activities using the following process and techniques.

  1. Estimate the productive hours per day. Normally the first step is to determine how many productive hours of work you can count on each person working per day over time. In other words, if an activity is scheduled to take 40 effort hours, it is unlikely that it can be completed in a calendar week, without overtime. Using a factor of 6.5 productive hours per day will help you take into account socializing, ramp-up time, going to the bathroom etc. The 6.5 hours per day reflects the general observation that people are actually productive around 80% of the time they are on the job.
  2. Determine how many resources will be applied to each activity. In general, the more resources you can apply to activities, the quicker they can be completed. Obviously two resources may be able to complete an activity faster than one person, but it may not be twice as fast. Similarly, a third person may allow the task to be completed sooner, but not in one-third the time. However, at some point, adding resources will not make the activity complete any sooner, and in fact, may make it go longer.
  3. Factor in available workdays, taking into account holidays, vacations and training. This was not included in the productivity factor in the first item, since this non-project time can be scheduled and accounted for in advance. For instance, on a three-month project, one team member may be out for two holidays, while another may also have ten days of vacation. To make your schedule more accurate, take into account any days that you know your team will not be available to work on the project.
  4. Take into account any resources that are not full-time. If you have a resource 50% of the time, it will take them at least twice as long to do any individual activity. If you have an activity that has an estimated effort of 40 hours, and you assign a resource that is only available for 25% of his or her time, the resulting duration will be at least five weeks, if not more.
  5. Calculate delays and lag-times. Some activities have a small number of effort hours, but a long duration. For instance, if you are counting on vendor resources, you may need to wait until the vendor is ready before you can begin. Another example is the duration required to get a deliverable approved. You may estimate the effort at only a few hours, yet it may take a number of days or weeks to gain the actual approval.
  6. Identify resource constraints. When you build your initial workplan, you identify the activities that can be done sequentially and those that can be done in parallel. If you have enough resources, all of the parallel activities can, in fact, be done in parallel. However, you can only do the activities in parallel if you have the right resources available at the right time. If you do not have enough resources (you rarely do), you will find that some of the parallel activities need to be done sequentially, since the same resource needs to be assigned to the activities. Even if you think you have enough people, you also need to recognize that not all activities and team members are interchangeable. There may be a set of activities that can be done in parallel; however they need to be worked on sequentially because only one person has the right skills to do the work - even though other resources are available.
  7. Document all assumptions. You will never know all the details of a project. Therefore, it is important to document all the assumptions you are making along with the estimate.