## PRJ4: Allocating, Scheduling, and Leveling Resources

Q113993

The information in this article applies to:

- Microsoft Project for Windows, version 4.0
- Microsoft Project for the Macintosh, version 4.0

## SUMMARY

This article discusses how Microsoft Project allocates and schedules resources and provides suggestions for how best to resolve resource conflicts.

## USING THE PLANNINGWIZARD OPTION TO HELP YOU ALLOCATE RESOURCES

Microsoft Project 4.0 for Windows introduces PlanningWizard, an intelligent assistant that monitors your actions as you work in Microsoft Project. The PlanningWizard helps you create better schedules by giving you tips on how to work more efficiently and by helping you identify and correct potential problems. To turn on the PlanningWizard option, click Options on the Tools menu and click the General tab. On the General tab, under PlanningWizard, click to select the Advice From PlanningWizard check box (and make sure that the Advice About Scheduling check box is selected).

## ALLOCATING RESOURCE WORK

When you assign a resource to a task, you need to specify which resource you are using and how many units of that resource you want to allocate to the task. When you specify resource units, you allocate the workload for that resource, and you also allocate a percentage of time that the resource is available.

## HOW THE WORKLOAD IS CALCULATED BASED ON THE UNITS YOU SPECIFY

When you first assign a resource to a task, Microsoft Project determines the amount of work assigned to the resource, using the following formula involving the task duration and the number of units allocated to the task:

       Resource Work = Task Duration x Resource Units

For example, if you create a task with a duration of 2 days (using the default setting of eight hours per day) and assign a resource at .7 units, Microsoft Project will calculate 11.2 hours of work for the resource.

## HOW THE AVAILABILITY OF A RESOURCE IS CALCULATED

When assigning a resource to a task, Microsoft Project determines the available time for that resource using the following formula involving the units assigned to the task:

       Available Time = Unit x Each Resource's Calendar Hours Per Day

If the resource's calendar in this example operates on a four hour-per-day calendar, the resource will be scheduled to work 70 percent of four hours per day, or 2.8 hours per day, to complete the work assignment of 11.2 hours.
By specifying the number of resource units assigned to a task, you direct Microsoft Project to allocate the equivalent percentage of that resource's available time (determined by the resource's calendar) to that task. The following example illustrates this method of allocating resources:

> If you assign 0.7 units of resource Scott to task 1, you are directing Microsoft Project to allocate 70 percent of Scott's available time to task 1. This leaves a maximum of 30 percent, or 0.3 units, of Scott's available time to be used for work on other tasks. If Scott is working a four-hour day, this will allow him to do 2.8 hours of work on task 1 and 1.2 hours of total work on all other tasks in one day.

Unless you specify differently, Microsoft Project assigns a default of 1 unit, or 100 percent, for each resource assignment.

### Distinguishing Standard and Elapsed Time

One thing to keep in mind when you assign resources is the difference between "standard" and "elapsed" duration.
Standard Duration: Standard duration refers to available working times only. Because these times may vary from one project to another, Microsoft Project allows you to change the default values for standard duration from project to project. To specify the default values for hours per day and hours per week, click Options on the Tools menu and click the Calendar tab. Unless otherwise noted, all examples in this article will use the following default values for hours per day and hours per week:

       1 day (1d)   =   8 hours
       1 week (1w)  =  40 hours

Elapsed Duration: In Microsoft Project, an elapsed duration refers to a continuous block of time; that is, there are no breaks for nonworking periods such as overnight hours or weekend days.

       1 elapsed day (1ed)   =   24 hours
       1 elapsed week (1ew)  =  168 hours

When you enter a task with an elapsed duration, Microsoft Project automatically fixes the task's duration (that is, the resource will no longer affect the task's duration).
For more information about fixed-duration tasks, search on "Fixed- Duration Scheduling" in Microsoft Project Help.
With the difference between standard and elapsed duration in mind, look at the following examples of work calculated with the resource work formula:

       Task 1 has a duration of 2 elapsed days (2ed). If you assign 0.5 units
       of resource Adrian to this task, Adrian's work will be:

          Adrian's work = [(2ed) x (24h/ed)] x .5 = 24h

       Task 2 has a duration of 2 days (2d). If you assign 0.5 units of
       resource Adrian to this task, Adrian's work will be:

          Adrian's work = [(2d) x (8h/d)] x .5 = 8h

In the elapsed duration example, because the duration of the task is automatically fixed, the task will be scheduled from 2/28/94 to 3/2/94; however, Adrian will be assigned to work from 2/28/94 to 3/7/94. When this situation occurs, you will receive one of the following error messages:

> <Graphic deleted> Figure 1 - Resource assigned outside of dates for task error message

-or-

> <Graphic deleted> Figure 2 - Planning Wizard dialog box

The PlanningWizard allows you to cancel the scheduling conflict or continue. If you continue, Microsoft Project allows the scheduling conflict and will not notify you of this particular conflict again.
To resolve this scheduling conflict, change the duration to 6d, clear the Fixed option, or manually reassign the work for the resource to 2d.

## WORKING WITH FIXED-DURATION TASKS

When a resource assigned to a task is scheduled to work at some time before the Scheduled Start or after the Scheduled Finish of the task, you will receive the error message "Resource is assigned outside of the dates for task <n>." This error message occurs most often with tasks of fixed duration, as in the following example:

> Task 1 has a fixed duration of 2ed with a Scheduled Start of 1/24/94 8:00 AM and a Scheduled Finish of 1/26/94 8:00 AM. If you assign resource Khoa to this task, letting Units default to 1 and letting Microsoft Project calculate Khoa's work, Microsoft Project allocates 48 hours of work to Khoa (2ed x 24h/ed). If Khoa's calendar shows him as being available to work eight hours per day, it will take Khoa six working days to complete this 48 hours of work. Because the task itself has fixed duration and only spans two days, Khoa must be scheduled past the end of the task to complete all this work. Microsoft Project warns you of this problem with the message "Resource is assigned outside of the dates for task 1 for Project 1.

To resolve this problem, reduce Khoa's assigned work, increase his daily calendar working hours, or lengthen the duration of the task.

## VARYING A RESOURCE'S WORKLOAD

You can vary a resource's workload over the duration of a single task in Microsoft Project. That is, you can assign a given percentage of a resource to one portion of a task and a different percentage to a different portion of the same task. To vary the workload of a resource, you can break up the task, or you can delay the resource.

### Example of Breaking up a Task

The following example illustrates how to break up the task into a series of linked tasks with different resource units assigned to each task, and then how to create a summary task to represent the span of the individual tasks.

> Tim is going to work half-time for the first three days of a 5-day task and full-time for the remaining two days. To vary Tim's workload appropriately, you must break this 5-day task into one 3-day and one 2-day task. If the 5-day task is Write Specifications, you could create a schedule similar to the one in Figure 3.

<Graphic deleted> Figure 3 - Varying a workload over a series of linked tasks
NOTE: In the example, Phase 1 and Phase 2 have been linked finish- to-start, and Tim has been assigned to Phase 1 with Units=0.5 and Phase 2 with Units=1.

### Example of Varying a Resource's Workload to Delay the Resource

Tim is going to work half-time for the first three days of a 5-day task and full-time for the remaining two days. You can add delay to the resource using the Task form and format it to Resource Schedule. Delay represents the amount of time between the start of the task and when the resource should start. Tim will be assigned twice to task 1 (Write Specifications). In the first instance, he will be assigned with Units=0.5 and Work=12h. In the second instance, he will be assigned with Units=1, Work=16h, and Delay=3d (as shown in Figure 4).
<Graphic deleted> Figure 4 - Varying a workload over a task using delay
When assigning resources to a task, Microsoft Project calculates the duration based on the resource with the largest amount of work.
If you have a task that is 5 days in duration and you vary a resource's work using delay, Microsoft Project calculates the duration as 3 days, but the Gantt Chart shows the task spanning five days.

## SCHEDULING RESOURCE WORK

Once it has calculated the amount of work for a resource assignment, Microsoft Project must determine when the work is to be scheduled.
When making the resource assignment, Microsoft Project first tries to make changes to the Scheduled Start and Finish of the task if the resource's calendar and the task constraint allow the changes; for example:

> The project Start date is set to 1/20/94 8:00 AM (by clicking Summary Info on the File menu); the project uses the default Standard calendar, and the project is scheduled from the project Start date. If you have edited the Standard base calendar to make 1/20/94 and 1/21/94 nonworking days, any As Soon As Possible tasks will normally be scheduled to start on 1/24/94. If Jeff is assigned to one of these tasks, task 1, for example, and Jeff's Resource Calendar has been edited to allow him to work on 1/20/94 and 1/21/94, the Scheduled Start for task 1 will change to 1/20/94 as soon as Jeff is assigned.

So, even if tasks are not normally scheduled on certain days, as determined by the project base calendar, Microsoft Project will schedule work on those days if a resource is available. Scheduling tasks according to resource availability results in tighter, more efficient project schedules.
If a task has any constraint other than Must Finish On or Finish No Earlier Than, Microsoft Project next sets the Scheduled Start for the resource as close as possible to the Scheduled Start for the task, taking into account any conflicts with the resource's calendar, as in the following example:

> Ken is a resource that works 8:00 AM-5:00 PM M-F. If task 1 has a constraint of Must Start On 1/20/94 8:00 AM and Ken is assigned to task 1, Ken will normally be scheduled to start working on task 1 at 8:00 AM on 1/20/94. If, however, you change Ken's resource calendar to make 1/20/94 a nonworking day, Ken will be scheduled to start at the beginning of his next available working day. In this example, Ken would be scheduled to start on task 1 at 8:00 AM on 1/21/94.

In the Task Entry view (that is, a Gantt Chart on top and the Task Form below), the schedule will resemble Figure 5:
<Graphic deleted> Figure 5 - A Task Form with the Resource Schedule format in the Task Entry view
In the Task Form, you can see the Scheduled Start and Scheduled Finish for each resource on a task by clicking Details on the Format menu, and then clicking Resource Schedule.
Once the Scheduled Start for the resource is determined, the amount of scheduled time required to complete the assigned work is computed and, taking into account any nonworking hours set in the resource calendar, is used to find the resource's Scheduled Finish. The amount of scheduled time required is determined using the following formula:

       Scheduled Time = Resource Work/Resource Units

For example, if Ken is assigned to task 1 with three hours of work at 0.5 units, the amount of time needed to complete the three hours of work is 6h (that is, 3h/0.5). So, assuming Ken is starting at 8:00 AM on 1/21/94, his Scheduled Finish on task 1 will be six working hours later, or 3:00 PM. His working hours are calculated as follows:

       1/21/94 8:00 AM-12:00 PM, 1:00 PM-3:00 PM=6hrs

If you assigned Ken 6.5 hours of work on task 1, again at 0.5 units, you would produce a required scheduled time of 13h (that is, 6.5h/0.5).
With Ken starting at 8:00 AM on 1/21/94, his Scheduled Finish on task 1 will be 2:00 PM on 1/24/94. His working hours are the following:

       1/21/94 8:00 AM-12:00 PM, 1:00 PM-5:00 PM=8hrs

       1/24/94 8:00 AM-12:00 PM, 1:00 PM-2:00 PM=5hrs

Thus, the total is 13 hours (8hrs + 5hrs).
NOTE: Because 1/22/94 and 1/23/94 fall on a nonworking weekend, Ken is scheduled for the next available working day, 1/24/94.
If the task has a constraint of Must Finish On or Finish No Earlier Than, Microsoft Project first sets the Scheduled Finish for the resource as close as possible to the Scheduled Finish of the task, taking into account any conflicts with the resource calendar. The Scheduled Start for the resource is then calculated using the same principles outlined above, working backward from the Scheduled Finish.

## LEVELING OVERALLOCATED RESOURCES

The process of resolving resource overallocation is called "resource leveling."

### What Is an Overallocated Resource?

A resource is said to be "overallocated" if at any time it is assigned to work beyond its capacity (where the capacity is determined by the Max Units as specified on the Resource sheet for that resource). When the total number of resource units allocated to tasks exceeds the Max Units for the resource, Microsoft Project will indicate that the resource is overallocated.
You maintain the most control and obtain the most efficient schedules by identifying and resolving these resource conflicts manually as they arise. As an alternative, you can have Microsoft Project resolve any resource conflicts automatically using the Resource Leveling option. For more information about leveling resources automatically, see the "Leveling Resources Automatically" section of this article.

### How Does a Resource Become Overallocated?

There are two ways a resource can become overallocated: one way is if more units of the resource are assigned to a single task than are available in Max Units, and the other way is if the total units assigned across a number of concurrent tasks exceeds the Max Units.

## LEVELING RESOURCES MANUALLY

The following examples discuss ways your resources may become overallocated and how you can manually resolve these overallocations.
If More Units of the Resource Are Assigned to a Single Task Than Are Available in Max Units
Microsoft Project allows you to assign more resource units than are actually available to a single task without issuing a warning message. This type of overallocation will often happen in situations where a resource-driven task needs to be completed in an amount of time that cannot be satisfied by the available number of resources, as in the following example:

> Task 1, Paint Walls, must be done in one day to avoid delaying the project. There are 12 hours of work involved in completing this task but only one painter is available, and she works an 8-hour day. To complete task 1 in one day, you must assign 1.5 units of resource Painter to the task. However, because the maximum number of units available for Painter is 1, the resource is overallocated.

NOTE: If you encounter a similar situation when you are leveling resources automatically, Microsoft Project will generate the following error message

> <Resource name> is assigned at more than the resource's maximum units on <task> on <date> in <project>.

where <resource name>, <task>, <date>, and <project> are the specific resource, task, date, and project you are working with.
To manually resolve this type overallocation, use either of the following methods:

- Increase the Max Units field (in this example, that means you must hire another painter).
-or-
- Reduce the units of Painter on task 1 to 1. (In this example, another solution is to assign the painter to four hours of overtime work to allow the task to be completed on schedule.)

If the Total Units Assigned Across a Number of Concurrent Tasks Exceeds the Max Units
If a resource is assigned to a number of current tasks and the sum of the resource's allocated units for all these tasks is greater than the resource's Max Units, the resource is overallocated. In the following example, all tasks are scheduled to begin on 1/24/94. Resource Tami has a Max Units of 1 and is assigned to task 1 at 0.6 units, task 2 at 0.5 units, and task 3 at 0.8 units. The units of Tami assigned on 1/24/94 are greater than 1 (0.6 + 0.5 + 0.8 = 1.9); therefore, Tami is overallocated on this day.
<Graphic deleted> Figure 6 - Example of overallocated resource
Similarly, on 1/25/94, 1.1 units (0.6 + 0.5) of Tami are assigned, so she is overallocated on this day as well.
To resolve this type of overallocation, you can increase the Max Units for the resource or decrease the number of units assigned to individual tasks as before; however, because the units are assigned to more than one task in this case, you can also decrease the number of units assigned at one time by rescheduling one or more of the tasks involved in the overallocation. In this example, you could link all three tasks finish-to-start to prevent the tasks from overlapping, you could manipulate the order of the task's schedules by adding Constraint Dates or Delay, or you could delay the resource to compensate for the other days on which Tami is overallocated.

> TIP: A convenient way to identify which tasks are contributing to a resource overallocation is to use the Resource Allocation View (see Figure 6). This view is a dual-pane view with Resource Usage in the top pane and the Delay Gantt Chart in the bottom pane. To use this view, click More Views on the View menu, then click Resource Allocation, and click Apply.

<Graphic deleted> Figure 7 - The Overallocation view
When you select a resource from the top pane of the Resource Allocation view, the Delay Gantt Chart in the bottom pane will display only those tasks that have the selected resource assigned to them. From this view, you can scroll the timescale in the Delay Gantt Chart to see which dates resource overallocations occur on, and which tasks contribute to the overallocation.

## LEVELING RESOURCES AUTOMATICALLY

Microsoft Project attempts to resolve overallocations, or resource conflicts, by rescheduling tasks that contribute to the overallocations. It does this by delaying some of these tasks, as in the following example:

> Task 1 and task 2 are both 1-day-duration tasks that start on 1/24/94 8:00 AM. The constraint on both tasks is As Soon As Possible, and 1 unit of resource Glenn (Max Units = 1) is assigned to each task. Because there are 2 units of Glenn assigned at the same time on 1/24/94, this resource is overallocated. To resolve this conflict, Microsoft Project can add one elapsed day (1ed) to the Delay field of either task. For example, if 1ed of Delay is added to task 2, it will then be scheduled to start on 1/25/94 8:00 AM and will no longer cause a conflict with the resource assignment on task 1.

To see how much delay has been added to a task, use the Delay Gantt view (Figure 8):

1. On the View menu, click More Views.
2. Click Delay Gantt, and click Apply.

<Graphic deleted> Figure 8 - The Delay Gantt view
If Microsoft Project is unable to resolve all resource conflicts, you will receive the following error message:

> <Graphic deleted> Figure 9 - Cannot Resolve Overallocation error message

Reasons Microsoft Project May Not Be Able to Successfully Level Your Resources
Microsoft Project cannot delay tasks that have any of the following:

- An actual start date not equal to "NA"
-and/or-
- A constraint other than As Soon As Possible
-and/or-
- A priority of Do Not Level

Because Microsoft Project attempts to level resources by delaying tasks, if your project contains many tasks that meet these conditions, Microsoft Project may not be able to resolve all the resource conflicts. You should evaluate any tasks that have these attributes and change them, if possible, to give Microsoft Project more flexibility when it attempts to level resources.
You can quickly determine if any tasks meet these conditions by using appropriate filters. For example, to use the predefined constrained filter to find any tasks that have constraints other than As Soon As Possible, follow these steps:

1. From either the Task Sheet view or Gantt Chart view, click Filter For on the Tools menu, and then click More Filters.
2. In the More Filters dialog box, select the Tasks With Fixed Dates filter, and click Apply.

Microsoft Project will display only tasks that have constraints other than As Soon As Possible and Actual Start dates other than NA.
To display tasks that have an Actual Start date set, but have not yet been completed, use the In Progress Tasks filter.
Microsoft Project cannot resolve a conflict that is caused by either of the following:

- Too many resource units assigned to a single task. If a resource has, for example, a Max Units value of 1, and 2 units of the resource are assigned to a single task, it is not possible to resolve this overallocation by delaying other tasks. This type of conflict must be resolved manually by either increasing the Max Units of the resource or by reducing the number of units assigned to the task.
-or-
- The Delay Only Within Slack option has been selected (by clicking Resource Leveling on the Tools menu). In this situation, Microsoft Project may not be able to delay some tasks enough to remove all the conflicts. To avoid this problem, clear this option and then try to level your resources again.

What You Can Do to Help Microsoft Project Successfully Resolve Resource Conflicts

- In general, it is best to set the Leveling option to Manual in the Leveling dialog box (click Resource Leveling on the Tools menu). When you want Microsoft Project to level your resources, you can click Resource Leveling on the Tools menu, and then click Level Now.
  NOTE: When you click Level Now, Microsoft Project will add delay to tasks only if necessary; it will not remove any previously added delay. To remove any previously added delay, select the Automatically Remove Delay option in the Resource Leveling dialog box before you try to level your project.
- When you add a task with an As Soon As Possible constraint to a project that is already in progress, do either of the following:
  Manually add enough delay to these tasks to bring their Start dates up to the Current date.
  -or-
  On the Tools menu, click Options, and then click the Schedule tab. On the Schedule tab, set the Change New Task Start On option to Current Date. This prevents the tasks from conflicting with other tasks already in progress (Microsoft Project cannot always resolve conflicts with in-progress tasks).
- Always put the most flexible possible constraint on your tasks. For example, use a Finish No Earlier Than constraint instead of a Must Finish On, if possible. This allows Microsoft Project more flexibility when it tries to reschedule tasks. Use the As Soon As Possible constraint whenever possible.
- Use task relationships as much as possible, instead of leveling, to establish the initial ordering of tasks. For instance, if you have a resource assigned to two tasks at the same time, it makes more sense to link the two with a Finish-To-Start relationship. Linking this way will automatically eliminate any conflict between the two tasks and will not add any extra delay between the tasks as leveling does.
- If Microsoft Project cannot resolve all conflicts when leveling across all resources at once, try leveling one resource at a time. To do this, select a resource view, such as the Resource Sheet, and select a single overallocated resource. When you click Resource Leveling on the Tools menu and then click Level Now, Microsoft Project will ask you if you want to level the entire resource pool or the selected resources only. Choose to level selected resource only and see if this produces better results. You can then repeat this procedure for any other overallocated resources.

Remember that although resource leveling is a powerful feature of Microsoft Project, it is only helpful in providing a rough ordering of your project tasks. You will obtain tighter schedules and maintain a higher degree of control over your project if you manually resolve as many conflicts as possible before asking Microsoft Project to resolve the rest.

Additional query words:

Keywords : kbdta
Issue type : kbinfo
Technology : kbHWMAC kbOSMAC kbProjectSearch kbProject400Mac kbProjectMacSearch kbProject400

Last Reviewed: November 5, 2000 © 2001 Microsoft Corporation. All rights reserved. Terms of Use.