If everyone worked eight hours per day on your project, 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 that person works 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, as we all know, those perfect circumstances are not indicative of how work is actually performed. There are many reasons why the duration of the work is different than the effort hours divided by eight. You need to use the following process and techniques if you want to make your schedule estimate as realistic as possible.
- Estimate the productive hours per day. The first step is to determine how many productive hours of work you can count on each person working per day over time. The rule of thumb is to use a factor of 6.0 to 6.5 productive hours per day. This takes into account socializing, ramping up in the morning, going to the bathroom etc.
- Factor in multi-tasking productivity loss for part-time resources. If one person is working on multiple projects, or perhaps a combination of projects and support, you need to take into account a further reduction in productivity. This reflects the fact that if a person is shared on two or more unrelated efforts, it takes time to stop one and start up another. For instance, if a person is on two projects for 20 hours each week, this might result in a 10% loss of productivity on both projects.
- 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).
- Factor in available workdays. Take 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
- Take into account any resources that are not full time. If you have a resource 50% of the time, it will take that resource at least twice as long to do any individual activity.
- Calculate delays and lag-times. Some activities have a small number of effort hours, but a long duration. For instance, if you're 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.
- 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, if you don't have enough resources (you rarely do), you'll find that some of the parallel activities need to be done sequentially, since the same resource needs to be assigned. This results in extending the duration further than what you might initially expect.
- Document all assumptions. You will never know all the details of a project, so it's important to document all the assumptions you're making along with the estimate.