Article ID: 197106
Article Last Modified on 1/23/2007
APPLIES TO
- Microsoft Office Project Professional 2007
- Microsoft Office Project Standard 2007
- Microsoft Office Project Professional 2003
- Microsoft Office Project Standard 2003
- Microsoft Project 2002 Professional Edition
- Microsoft Project 2002 Standard Edition
- Microsoft Project 2000 Standard Edition
- Microsoft Project 98 Standard Edition
This article was previously published under Q197106
SYMPTOMS
In Microsoft Project, when you level resources, tasks may be delayed
differently than in earlier versions of Microsoft Project.
For example, Microsoft Project may add delay to tasks that have less slack
than other tasks.
CAUSE
This behavior occurs because of the way in which Microsoft Project uses
Total Slack and potential delay in the leveling process. This behavior is
by design.
Microsoft Project calculates potential delay by assuming that it moved the
task to take care of an overalloacation. For each task involved in a
leveling operation, Microsoft Project calculates a weighted slack value
equal to the task's total slack minus the potential delay if it moved the
task.
Based on this weighted slack value, if delaying a task with total slack of
zero would result in less delay to the project finish than delaying a task
with total slack greater than zero, Microsoft Project will delay the task
with zero total slack.
WORKAROUND
If you want to change the results of this process, use Priority settings to
change leveling order. To do this, follow these steps:
- Assign a higher priority to the task that you want leveled first:
- Click to select the task.
- On the Project menu, click Task Information and then click the
General tab.
- In the Priority list, click High. Click OK.
NOTE: This step assumes you have not changed any task's priority from
the default (Medium). If this is not the case, select a priority that
is at least one step higher than the priority for the other tasks you
are leveling.
NOTE: Repeat step 1 as necessary for any additional tasks for which
you want to affect leveling.
- Use Priority as the primary criteria for leveling order:
- On the Tools menu, click Resource Leveling.
- In the Leveling Order list, click "Priority, Standard" and then
click Level Now.
MORE INFORMATION
When you select Standard order for leveling, Microsoft Project uses task
criteria in the following order to determine which tasks will receive
leveling delay:
- Predecessor relationships: A successor task will be assigned delay before its predecessor task(s).
- Scheduled Start dates: Tasks with later start dates will be
delayed first.
- Constraints: Tasks without hard constraints will be delayed first.
NOTE: This criteria is also affected by the "Tasks will always honor
their constraint dates" check box (on the Tools menu, click Options,
and then click the Schedule tab). If this check box is selected,
leveling will not delay tasks that have hard constraints.
- Weighted slack: Calculated as Total Slack minus delay (potential
delay, if the task were moved to take care of an overalloacation).
- Task Priority: Tasks with lowest priority will be leveled first.
- Task ID: Tasks with higher ID numbers level first.
When you select "Priority, Standard" order for leveling, Microsoft Project
changes these leveling criteria to the following order:
- Task Priority.
- Predecessor relationships.
- Scheduled Start dates.
- Constraints.
- Weighted slack.
- Task ID.
The weighted slack value is a comparative measure of how much impact
delaying a given task will have on the project duration. It is the value
Microsoft Project uses for slack to help determine leveling precedence. If
weighted slack values are equal, then Microsoft Project will level tasks by
task ID in descending order (higher ID numbers level first) (see Example
1). If weighted slack values are not equal, Microsoft Project will level
the task that will have the least impact on project duration first, even if
that task has zero total slack before leveling (see Example 2).
Example 1
Two tasks in a project, Task1 and Task2, are scheduled to begin on the same
date. The tasks have no successors, and both tasks have a constraint type
of As Soon as Possible. The same resource is assigned to both tasks. The
duration of Task1 is four days, and the duration of Task2 is two days. Task1 therefore has two days total slack and Task2 has zero total slack. To level the resource on these two tasks, either Task1 would have to be delayed four days, or Task2 would have to be delayed two days.
Before leveling:
ID Duration Delay Free Slack Total Slack
Task1 1 2d 0 2 2
Task2 2 4d 0 0 0
When leveling, Microsoft Project calculates weighted slack, representing
potential delay to the project, as follows:
Task1: weighted slack = 2 days slack minus 4 days delay = -2
Task2: weighted slack = 0 days slack minus 2 days delay = -2
Because weighted slack is equal for these two tasks, Microsoft Project
delays them in descending task ID order:
After leveling (using Leveling Order Standard):
ID Duration Delay Free Slack Total Slack
Task1 1 2d 0 4 4
Task2 2 4d 2 0 0
If you used the Priority settings as described in the "Workaround" section,
the result would be as follows:
After setting Task2 Priority to High and
leveling using Priority, Standard order:
Duration Delay Free Slack Total Slack Priority
Task1 2d 6 0 0 Medium
Task2 4d 0 2 2 High
Example 2
Two tasks in a project, Task1 and Task2, are scheduled to begin on the same
date. Task2 has one successor task, Task3. Task1 and Task2 each have a
constraint type of As Soon as Possible, and the same resource is assigned
to both Task1 and Task2. The duration of Task1 is 10 days, the duration of
Task2 is 1 day, and the duration of Task3 is 4 days. Task1 therefore has
zero Total Slack and Task2 has five days total slack. To level the resource
on Task1 and Task2, either Task1 would have to be delayed 1 day, or Task2
would have to be delayed 10 days. Before leveling, total project duration
is 10 days.
Before leveling:
Duration Delay Free Slack Total Slack
Project 10d -- -- --
Task1 10d 0 0 0
Task2 1d 0 0 5
Task3 4d 0 5 5
When leveling, Microsoft Project calculates weighted slack, representing
potential delay to the project, as follows:
Task1: weighted slack = 0 days slack minus 1 day delay = -1
Task2: weighted slack = 5 days slack minus 10 days delay = -5
Because delaying Task2 would therefore extend total project duration by 5 days,
compared to only 1 day for Task1, Microsoft Project will delay Task1:
After leveling (using Leveling Order Standard):
Duration Delay Free Slack Total Slack
Project 11d -- -- --
Task1 10d 1 0 0
Task2 1d 0 0 6
Task3 4d 0 6 6
NOTE: That if you leveled the same tasks in Microsoft Project 4.x, the task
with zero Total Slack would not be delayed, resulting in a longer project
duration:
After leveling in Project 4.x (using Standard order):
Duration Delay Free Slack Total Slack
Project 15d -- -- --
Task1 10d 0 5 5
Task2 1d 14 0 0
Task3 4d 0 0 0
Additional query words: PRJ2002 PRJ2003 PRJ2007 prj2000 PRJ
Keywords: kbbug kbnofix KB197106