Using Work (effort) to Calculate Duration

  Back to Project Management

Many project managers have been taught to estimate the effort that a task requires instead of estimating the duration as is promoted by the views in Microsoft Project. As you recall work (which is the name used for effort in Project), along with duration and units are the components of the work equation that Project applies to resource assignments:

Duration * Units = Work

If the manager has estimated work and has decided not only which resources to assign but also how many units of each will be assigned, then Project can calculate the duration using this version of the formula:

Duration = Work / Units

In this article we will look at how you record the task's total work (leaving the duration at the default "1 day?" for the time being) and then how you create the resource assignments to achieve your objective.

Recording Work at the Task Level

The task Work field records total work for a task. Normally, its value is calculated by Project as the rolled-up sum of work assigned to all resources for the task. But, you can enter the value yourself for Project to distribute among assigned resources. You can add the Work field to any task table. It's already displayed in the Usage table; so we'll just use that table.

If you like working with the Gantt Chart then you can apply the Usage table to that view (instead of the Entry table which is the default). Right-click over the Select All button (the unmarked header above the ID column) and choose Usage.

In the Usage table the Work column is displayed between the Task Name and Duration columns. This table also has the Start and Finish columns, but it does not by default have the Predecessors and Resource Names columns. Top

Note: once you apply the Usage table to the view it will remain the table displayed by that view (at least in the project file you are working in). To return to the standard Gantt Chart view, right-click the Select All button again and choose Entry.

Alternatively, you can simply display the Task Usage view which uses the Usage table by default. It also replaces the Gantt task bars with a grid of timephased data.

You can enter all the task names in this view, just as easily as you can in the Gantt Chart: indenting tasks to create the outline, linking tasks to show their dependency relationships, double-clicking a task name to display the Task Information dialog in order to define other aspects like deadline dates, constraint dates, and so forth. You can also split the window to display the Task Form for creating the resource assignments and further defining the task.

Whichever view you use, display the Usage table and create your task list, entering Work but leaving Duration with the default "1 day?". Project will later calculate the duration when you assign the resources.

Of course if you have a fixed duration task, enter the duration and change the task type to Fixed Duration. If you also have the work for this task, you will have to let Project calculate the units instead of the duration. Top

Assigning Resources to Calculate the Duration

Once you have recorded work for the tasks, you can assign the resources. Since you have defined the total work for the task, then if you plan to assign multiple resources to a task you must make sure that it is Effort Driven.

You don't have to remain in the Usage table, but it's probably wise to stay there for the time being. You might get carried away experimenting with assignments and accidentally change the work value for a task.

Note: this discussion does not cover Fixed Duration tasks - only Fixed Units and Fixed Work. Since we are defining the total work associated with tasks, we also assume the tasks are Effort Driven (but they don't have to be Fixed Work).

You can use the Assign Resources dialog box or the Task Form to assign the resources. As you know, I usually recommend the Task Form because you have greater control over the work equation calculations.

If you're assigning just a single resource to the task, it's very simple. Simply select the task in the top pane, enter the resource name in the Task Form AND enter the units before clicking OK. Note that you must enter the units, even if you want to use the default 100%. If you don't enter the units, since duration and work already have values Project will keep those values (with duration at 1 day) and calculate enough units to do all the work in 1 day.

If you're assigning multiple resources,  and if you want Project to distribute the work evenly among them, then it's just as simple as assigning one resource. Just list all the resources and fill in the units before clicking OK. Project will distribute the work evenly among them.

Note, however, that Project will distribute the total work evenly among them even if they don't all have the same units assignment. Those with more units will be able to finish their work more quickly than those with fewer units.

But, if you're assigning multiple resources with different units and you want Project to distribute the work in proportion to their units, then it's slightly more involved.

For example, suppose you create a task named Design Data Model in a large IT project and estimate it will take 900 hours of work to complete. If you were to assign a single senior programmer named Tony to the task, you could enter the work when you assign Tony, along with the units (for instance 100% ) and Project would calculate the duration for you (assuming the task is not Fixed Duration). However if there's that much work involved you might want to assign other programmers to the task because it will take Tony about half a year to finish.

Suppose that instead of using only Tony you plan to assign three resources:

You want all three programmers to work for the full duration of the task; but you're assigning Tony to spend only half of his time on this task and you want his work hours to be half the amount that is assigned to each of the other two programmers.

To get Project to distribute the work like we want you need to assign just one of the resources first. For instance if you assign Tony at 50% Project will assign all 900 hours of work to him and calculate duration of 225 days. Then you can assign the other programmers, specifying units of 100%, and because the task is Effort Driven Project will redistribute the work among them in proportion to their units contribution (see Table 1). All three resources work for 45 days on the task, with Tony spending only half of each day on this particular task.


Table 1

 

Units

Work

Duration

Tony

50%

180 hours

(45 days)

Programmer 1

100%

360 hours

(45 days)

Programmer 2

100%

360 hours

(45 days)

Task Total

 

900 hours

45 days


Effort Driven calculations only kick in when you change the number of resource names assigned to a task after the initial assignment. For instance, if you were to change Tony's assignment to 100% Project would not redistribute the work among the resources - it would just change Tony's schedule.  Table 2 shows the what project would do if you increase Tony's units from 50% to 100%.  Project just schedules his hours over a shorter time period.

 

 Table 2

 

Units

Work

Duration

Tony

100%

180 hours

(22.5 days)

Programmer 1

100%

360 hours

(45 days)

Programmer 2

100%

360 hours

(45 days)

Task Total

 

900 hours

45 days


So, what can you do to make Project redistribute the work evenly if we make Tony's units the same as the others? As pointed out above, the Effort Driven calculations only work when you add or delete named resources. You would need to delete Tony as a resource, click OK, and then add him back with 100% units.

 Conclusion
Traditional project management training often teaches managers to estimate effort (work) for tasks and to decide what resources will be assigned. The presumption is that the software will calculate the duration and distribute the work in proportion to the assigned units. You can do that in Project, but you need to use this method:

  1. Enter the work at the task level (using the Work field in a task table).
  2. Make sure that the task is Effort Driven (it's the default anyway) and that it is not Fixed Duration.
  3. Assign just one of the resources, being sure to enter the units. Project will assign all the work to that resource and calculate a new duration.
  4. Add the other resources, being sure to enter their units also. Project will invoke the Effort Driven calculations and distribute work in proportion to the assigned units.
  5. If you later want to change the units for one of the resources, delete the resource and than add it back with the new units.

  Back to Project Management

 

[Home] [About Us] [Services] [Events] [Register] [search] [Contact us] [Members] [Web board]