Microsoft KB Archive/197106

= Delay calculation different than in earlier versions =

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.</li> In the Leveling Order list, click "Priority, Standard" and then click Level Now.</li></ol> </li></ol>

<div class="moreinformation_section">

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:
 * 1) Predecessor relationships: A successor task will be assigned delay before its predecessor task(s).
 * 2) Scheduled Start dates: Tasks with later start dates will be delayed first.
 * 3) 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.
 * 1) Weighted slack: Calculated as Total Slack minus delay (potential delay, if the task were moved to take care of an overalloacation).
 * 2) Task Priority: Tasks with lowest priority will be leveled first.
 * 3) 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:
 * 1) Task Priority.
 * 2) Predecessor relationships.
 * 3) Scheduled Start dates.
 * 4) Constraints.
 * 5) Weighted slack.
 * 6) 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. <pre class="fixed_text">  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: <pre class="fixed_text">  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: <pre class="fixed_text">  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: <pre class="fixed_text">  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. <pre class="fixed_text">  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: <pre class="fixed_text">  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: <pre class="fixed_text">  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:

<pre class="fixed_text">  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

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.