You’ve hit that magical point. Your knees are weak, you’re nervous and your palms are sweating. Yes, it’s time to level your schedule. But there’s different leveling buttons and beyond that there are also leveling controls. Which options should be set? Which leveling button should be used?

The answers to those questions depend upon what you are trying to accomplish.

Microsoft Project provides three leveling controls and three functions, all designed to allow you as project manager to control what’s leveled. I’ve already touched on some of these mechanisms in prior articles; but in this article we bring them all together and take a comprehensive look at controlling the resource leveling function.


Participate in Daryl Deffler’s two-part webinar series on resource leveling, taking place October 25 and November 8, 2017. (Already past that date? Watch his presentations on-demand!)

Read Daryl’s articles in this resource leveling series here:
“Scheduling vs. Leveling”
“Problem Indicators”
“Leveling Mechanics”
“Leveling Hierarchy, Part 1”
“Leveling Hierarchy, Part 2”
“Resolution Options”
“Understanding Split Task Options”
“Leveling Fields”
“Limitations”
“Preparing to Level”
“Resource Leveling: It’s Time to Level Your Schedule”
“Resource Leveling: The Leveling Cycle”
“Resource Leveling: Recommendations”

Also, download a resource leveling “cheat sheet” in PDF format!


Leveling Controls

Leveling controls are override options enabling the project manager to fine-tune the leveling scope. There are three controls, and all leveling functions abide by the constraints these controls establish.

“Leveling Range”

Leveling Range defines the leveling date range. The “Level entire project” option tells Project to level tasks regardless of their date range — basically, all tasks. “Level From: / To:” tells Project to level tasks only within the defined date range. Tasks outside the defined range will be ignored, and tasks delayed past the “To:” date will simply be dropped on the next work date regardless of any resulting over allocations.

This option can be found in the Resource Leveling window, which is accessed by clicking the Leveling Options icon in the Resource ribbon. I discuss it more in “Resource Leveling: Leveling Mechanics.”

“Level resources with the proposed booking type”

By default, Project will only level resources with a booking type value of “Committed.” When you check this option, resources with a booking type value of “Proposed” will also be included in leveling.

This option is also found in the Resource Leveling window. It is discussed in more detail in the Resolution Options article.

“Can Level”

This resource level field designates a resource as excluded from leveling. The default value for this field is “Yes,” meaning the resource will be leveled. If the project manager selects a value of “No,” the resource won’t be leveled.

This field can be added to any resource view. I discuss it in more detail in “Resource Leveling: Leveling Fields.”

Leveling Functions

There are three leveling functions, shown below, available in the resource ribbon. Let’s go over each.

“Level All”

This is the simplest of the leveling functions because conceptually it levels all tasks and all resources across the entire project duration.

Only committed resources are leveled unless overridden by checking the “Level resources with the proposed booking type” option; and

All tasks are leveled, but the Leveling Range control determines any date range limitations.

With these two controls set appropriately, this function will level all tasks and all resources.

“Level Selection”

This function levels selected tasks. The icon is only available when multiple task rows are selected and the selected rows are tasks, not summary tasks. It doesn’t work if you select a summary task row, assuming Project will include all sub-tasks underneath it. Selected tasks can be a contiguous block, such as Task IDs 1-10, or they can be random tasks such as Task ID 3, 9 and 37. You must select any task rows to be leveled.

When this function is used, resources assigned to the selected tasks are leveled only against the resources assigned to the other selected tasks. Let’s say a schedule contains tasks 1-3 and Bob is assigned to all three tasks. The project manager selects the task 2 and 3 rows and clicks the Level Selection icon. Bob’s assignments on Task 2 and Task 3 are leveled against each other, but Bob’s assignment to Task 1 is completely ignored. Stated another way, selecting a task with Bob assigned does NOT mean all of Bob’s tasks will be leveled — just those selected tasks.

This function is useful when only specific schedule tasks need to be leveled. For example, if the tasks within the Phase I WBS are in progress, but tasks in the Phase II WBS are only now being entered and debugged, if you select all Phase II tasks, clicking the Level Selection button will only level the Phase II WBS tasks.

“Level Resource”

This function levels selected resources. When clicked, it opens the Level Resources window shown below. One or more resources are selected and when the Level Now button is clicked, the selected resources are leveled across all their task assignments. Other unselected resources on those same tasks are not leveled. Tasks with none of the selected resources assigned are ignored completely.

Selecting a resource in this window with a “Can Level” field value set to “No” is useless. The “Can Level” field takes precedence over any resource selection in the Level Resource window and the resource won’t be leveled.

Generally, when the Level Resources window is opened, no resources are selected. However, this can be controlled. Selecting one or more resource rows in the Resource Sheet view will cause those selected resources to be pre-selected when the Level Resources window is opened.

Tip! In addition to controlling which resources to level, this function can also be useful in debugging schedule problems. While it won’t point to a specific task, you can use it to identify the resource causing the problem. This is done by iteratively leveling the schedule adding one additional resource with each leveling pass. Start by selecting only one resource and level. Add one more resource, then another and another, leveling after each resource is added. When the problem appears, the schedule problem is related to the last resource added to the resource leveling list.

Clear Leveling

While the Clear Leveling button doesn’t level resources, I discuss it here briefly as it relates to each leveling function. Mechanically speaking, Clear Leveling does the same thing as the “Clear leveling values before leveling” option I covered in “Resource Leveling: Leveling Mechanics.” It tells Project to reset or clear the results of the prior leveling process before leveling again.

When the Clear Leveling button is clicked directly, the user is presented with two options: clear leveling for the entire project or only the selected tasks. Based on the option selected, the Clear Leveling function is performed accordingly.

However, when the “Clear leveling values before leveling” option is checked in the Resource Leveling window, it reacts based on the selected leveling function as indicated below.

  • Level All clears leveling results for the entire project
  • Level Selection clears leveling results for only the selected tasks. Other tasks previously leveled won’t be cleared.
  • Level Resource clears leveling results for only the selected resource’s tasks. Other resources’ tasks previously leveled won’t be cleared.

Begin with What You’re Trying to Achieve

Project managers have significant control over the leveling function. Knowing how to set each control and which leveling function to use is simply a matter of understanding what you are trying to achieve with each execution of the leveling function. Are you leveling as part of regular schedule maintenance, to debug a schedule problem or to verify recent schedule changes?

Once the objective is clear, determine which leveling function to use. Do you need to level everything, selected tasks or selected resources? Then look at the individual controls and determine how each should be set to achieve the desired results. To help sort this out, the following table summarizes the relationship of the controls and functions discussed in this article.

 Leveling RangeLevel resources with the proposed booking typeCan level
Level AllWhen a date range is defined, only tasks within that range are leveled; otherwise, tasks are leveled across the entire duration.When checked, Proposed resources are also leveled; when unchecked, Proposed resources are ignored.Resources with a value of No are not leveled.
Level Selection

(Selected Tasks)
When a date range is defined, the selected tasks within that range are leveled; otherwise, the selected tasks are leveled across the entire project duration.When checked, Proposed resources assigned to the selected tasks are also leveled; when unchecked, Proposed resources assigned to the selected tasks are ignored.Resources assigned to the selected tasks with a value of No are not leveled.

Level Resource

(Selected Resources)
When a date range is defined, all tasks for the selected resources are leveled within that range; otherwise, all tasks for the selected resources are leveled across the entire project duration.When checked, all tasks for any Proposed resource selected in the Level Resources window are leveled; when unchecked, any Proposed resource selected in the Level Resources window is ignored and not leveled.Selected resources with a value of No are not leveled.

And in the meantime, don’t be afraid to level. There’s always Undo!