Search “project management resource leveling” or “resource leveling” online, and you will see it described as a resource optimization technique. And resource optimization, the internet will tell you, is a technique project managers use to arrive at a project schedule model, which is the plan that forms the basis for the actual project schedule.
I just told you three things: what resource leveling is, what resource optimization is, and what a project schedule model is. But what I told you is not nearly enough to give you a functional understanding of project management resource leveling.
In this article, I do my best to move beyond the notional towards a functional discourse on resource leveling in project management. I talk about resource leveling’s characteristics, its benefits, and its shortcomings. I also discuss when to use it and how to use it, and I provide examples as needed.
In this article
What Is Project Management Resource Leveling?
The best way to begin a practical discussion of resource leveling is through an example.
Let’s say you need to bake bread. The following are the “activities” you need to perform to get the expected project outcome—i.e., freshly baked bread.
- Activate yeast.
- Combine bread flour with salt.
- Combine the activated yeast with the flour-salt mixture.
- Knead, divide, and shape into loaves.
You plan to start at 6 am and plan to have fresh bread by 10:15 am.
While allocating resources to your activities, however, you realize you are out of bread flour, an essential ingredient in making bread. Your supply of bread flour does not match your demand for bread flour!
You need bread flour in Activity 2. But you cannot start Activity 1 (activating yeast) without being immediately ready to move on to Activity 2.
After analyzing your schedule, you decide to postpone your bread-making project to the next day and instead spend today shopping for groceries, including bread flour.
Congratulations! You just performed rudimentary resource leveling.
So, What Is Resource Leveling?
The simple example above illustrates the essence of resource-leveling. At its core, it is a schedule-adjustment approach to fulfilling resource allocation requirements.
In other words, resource leveling is rescheduling activities when their resource requirements are not available.
Therefore, resource leveling is the process of matching resource availability to resource allocation. When resource availability does not match resource demand, a project manager reschedules the task to another time when the resource supply matches the resource demand.
Technically Speaking, Resource Leveling Is…
According to the Project Management Body of Knowledge Guide, resource leveling is “a technique in which start and finish dates are adjusted based on resource constraints to balance the demand for resources with the available supply.”
The output of the resource leveling process is a resource-leveled schedule or, strictly speaking, a resource-leveled project schedule model.
Resource Leveling As A Resource Optimization Technique
Project management resource-leveling is a resource optimization technique that lets you take advantage of schedule flexibility.
Resource optimization techniques work by balancing resource demand with resource supply. The two popular resource optimization techniques are resource leveling and resource smoothing.
Use resource leveling when you have a flexible schedule. However, you should use resource smoothing when the project’s end-date and critical path are inflexible.
Resource Leveling And The Schedule
In resource leveling, the answer to resolving competing demands on resources is a change in the project schedule model. Resource leveling gives paramount importance to resource availability and only secondary importance to following the original/baseline schedule.
Resource Leveling And The Critical Path
Resource leveling may lead to a change in a project’s critical path.
To illustrate, below is a schedule created using the critical path method. The project has five activities. The nodes or rectangles in red are critical activities, while those in blue are non-critical activities.
The critical path A-C-E, 26 days long, is in red. Notice that the critical path has a positive float of one.
Critical-path activities usually have a float of zero, but this project has a float of one due to a “No Earlier Than” condition. Activity E cannot start earlier than Day 15, perhaps because necessary equipment is available only by that date.
When Resource Leveling Does Not Change The Critical Path
Let’s say that Activity B is waiting for a DevOps engineer who is busy on another software project. Consequently, Activity B gets delayed by two days. Since Activity D is a successor of Activity B, Activity D is also pushed back by two days. See the revised schedule below:
As you can see, the schedule changed. Activity B now starts and ends on the 4th and 8th day, respectively, while Activity D now starts and ends on the 9th and 11th day, respectively.
However, the critical path A-C-E remains unchanged, and the duration of the project remains at 26 days.
When Resource Leveling Changes The Critical Path
Let’s say that the DevOps engineer we’re waiting on for Activity B gets delayed by five more days. The project manager decides to start Activity B seven days from the originally planned start date.
The successor activity, Activity D, is automatically pushed back by another five days. Since Activity E—a critical activity—can start only after Activity D is finished, Activity E also starts two days late.
Note: Activity D had a free float of three days. Thus, the delay pushes Activity E back by only two days.
Resource leveling, therefore, extends the project duration to 28 days.
Let’s assume that the seven-day delay in Activity B means an Activity B engineer assigned to Activity C becomes unavailable. To manage the crisis, the project manager applies more resource-leveling.
Thus, an engineer crucial to Activity D is held back at Activity C to replace the suddenly unavailable Activity B engineer. Consequently, Activity C now has to finish before work on Activity D can commence.
All of these things—project duration is extended by two days, Activity D loses free float, and Activity C becomes a predecessor of Activity D—have changed the critical path. The critical path not only became longer, but it also changed from A-C-E to A-C-D-E.
Resource Allocation According To Priority
If two projects on the same time slot are competing for the same resources, the organization’s resource manager allocates resources according to the competing projects’ order of priority. Thus, the higher-priority project takes the time slot, while the lower-priority project takes a later time slot.
Likewise, if two overlapping activities under one project require the same resources, the project manager allocates the resources according to the competing activities’ order of priority. The higher-priority activity uses the resources first, while the lower-priority activity takes a different schedule.
A Resource Leveling Example
Suppose you have a simple project that has three component activities—Activity A, Activity B, and Activity C—with the following dependencies and estimated duration:
- Activity A, two days, has start for Activity B to start
- Activity B, one day, has to finish for Activity A to finish
- Activity C, one day, can start after Activity A and B finish
As it is, the project has an estimated duration of three days.
- Activity A starts on Day 1.
- Activity B starts halfway through Day 1.
- Activity B finishes halfway through Day 2.
- Activity A finishes on Day 2.
- Activity C commences on Day 3.
Below is a representation of the project on a simple Gantt Chart.
That’s a pretty simple project schedule, don’t you agree? If only project schedules are that simple in real life. Complications arise when resource allocation comes in.
Let’s suppose that our hypothetical project requires the following human resources.
For simplicity’s sake, let’s assume that there are no other project management resource constraints aside from the availability of human resources. There are no constraints on equipment, materials, or even time.
Therefore, human resource availability is the only consideration in coming up with a resource-optimized project schedule.
But Roger and Greg are working on another project aside from this one. They are available for only part of a day: Roger for four hours and Greg for three hours.
For clarity, let’s plot the required human resources’ daily availability against the resource allocation for each activity.
From the above, you should see glaring project resource constraints. The following are a few of them:
- Activity A requires 16 hours of Roger’s time. But Roger can work only four hours per day on this project. Moreover, the planned duration of Activity A is just two days.
- Activity B requires four hours of Roger’s time. But Activity B partly coincides with Activity A.
- Activity A requires eight hours from Minerva. Activity B requires four hours from her. But Activity B partly coincides with Activity A.
In other words, the project’s daily demand for specific human resources far exceeds the daily availability of those resources.
At this point, therefore, we—the savvy project managers that we are—resolve this imbalance between the demand and supply of resources by performing resource optimization.
Since there is project scheduling flexibility, we use the resource leveling technique. Thus, we adjust our project schedule to accommodate resource availability subject to existing task dependencies.
We also consider resource capacity and utilization. Even if Lorraine can work 12 hours on Activity B, that doesn’t mean we should let her do so. We should not tax a resource’s capacity and overutilize it if we don’t have to.
These considerations lead to the resource leveled schedule shown below.
And here is our new Gantt chart.
Resource leveling extended our schedule from three to 11 days. We had to redistribute the resources according to resource availability.
Note that we did not violate any task dependencies. Moreover, while A-C remains the critical path (Activity A’s five days plus Activity C’s six days is equal to the project duration of 11 days), the path has become longer.
When To Use Resource Leveling
Use resource leveling when:
- Required resources have limited availability. A DevOps engineer can work on a software development project for only one week. The project manager adjusts the schedule to accommodate his availability.
- Required resources have to be shared. A quality assurance officer has to split his time between two production lines. The project manager adjusts the QA monitoring and inspection schedules for the two lines to accommodate the QA officer’s availability.
- Required resources are available in limited quantities. A construction project requires two cranes but has only one and no way to get an additional crane. Consequently, the project manager reorganizes the project schedule so that the higher-priority task uses the crane first.
- Required resources are over-allocated. Two overlapping activities need the project’s structural engineer. The project manager reschedules the lower-priority inspection activity so that the structural engineer can perform the higher-priority inspection activity first.
- Resource usage must be level. An activity has an estimated duration of five days, but its resource allocation says Developer A has to work 16 hours for three days and do no work for two days. The project manager performs resource leveling so that Developer A works eight hours per day for six days, thereby extending the activity duration by one day. Mathematically, the adjustment looks like this:
16 hours/day x 3 days = 48 hours = 8 hours/day x 6 days
To summarize, use resource leveling when dealing with resource constraints, but only if there is schedule flexibility. If you have a time constraint, perhaps you should consider resource smoothing.
What Are The Benefits Of Resource Leveling In Project Management?
Resource leveling, as a resource optimization technique, allows you to create an optimal resource utilization plan. Below are the specific benefits of resource leveling.
The main benefit of resource leveling is it lets resource managers and project managers fully utilize available resources while managing competing demands on resources. There is no need to hire more people or acquire more equipment if one can adjust the project schedule to accommodate resource availability.
Example: If two activities require Engineer John, the project manager can give these activities different schedules. This way, the two activities will not compete for the same resource (i.e., Engineer John), and the project manager will not need to hire a new engineer or borrow one from another project.
Engineer John, moreover, will be fully utilized. After finishing the first activity, he can immediately move on to the next activity.
Resource leveling (and resource optimization in general) gives you a systematic way of incorporating project management resource constraints in project schedule planning. The result is a realistic schedule, one with a much higher chance of getting followed than a non-resource-optimized schedule.
If you stubbornly stick to your non-resource-optimized schedule model, you are much more likely to experience setbacks and delays.
Allows For Maximum Resource Optimization
In resource leveling, the availability of resources is the primary consideration. The schedule model is built around resource availability or modified according to resource constraints. Thus, resource leveling allows for maximum optimization of resources.
Higher Chance Of A Successful Outcome
If the necessary resources are available when you need them, chances are that you will deliver expected outcomes. Your project is much more likely to succeed.
Resource leveling gives you a higher chance of success because it allows you to arrange the project schedule according to the availability of project resources.
What Are The Shortcomings Of Resource Leveling?
Resource leveling cannot be used in situations when there is no flexibility in project scheduling. Resource leveling accommodates resource availability conflicts by rescheduling activities and even extending the critical path. You cannot perform resource leveling when you are not allowed to do that.
The fact that resource-leveling changes project schedule models is also its biggest weakness.
In projects where losing time means significant costs or hefty losses, planning the project schedule around resource availability can be costly. In such a scenario, perhaps a better approach would be to bring in new resources to satisfy resource demand instead of waiting around for existing resources to become available.
The Resource Leveling Process
Begin your resource leveling process by dividing your project schedule into manageable time intervals, say one day.
For every time interval in the project schedule, identify the resources (people, materials, equipment) required by the task or tasks scheduled for that day.
- If the resources are sufficient, the schedule remains unchanged, and you move on to the next time slot—i.e., the next day.
- If any of the resources required by the task scheduled for the next day are not available, reschedule that task to another day when that unavailable resource is available.
But what if two activities are scheduled for the same day and are competing for the same resources?
Let’s say you are in charge of a tunnel construction project, and you need to pour concrete at two different places on the same day. The two overlapping activities both require skilled labor, concrete mixers, and truck-mounted concrete pumps.
- If you have sufficient resources to supply the demands of these two overlapping activities, that’s great. Move on to analyze the resource requirements for the next time interval.
- But if you don’t have enough resources, you will need to prioritize one of the two activities by answering this question: which of the two is more important?
Different project managers will arrive at distinct answers depending on their resource leveling criteria. If you deem activities with negative or zero float as more important or of a higher priority, allocate the scarce resources to the negative- or zero-float task, and relegate the competing task to another time interval, say the next day on your timeline.
The resource leveling process is iterative. Thus, you will continue in like manner, going from one time interval to the next, examining resource requirements for each interval.
When faced with project resource constraints, you will reschedule activities as appropriate until you have optimized resources across the board and have arrived at a resource-leveled project schedule model.
Of course, there will be instances when an activity simply may not be rescheduled even if the required resources are unavailable or another task has priority-use of such required resources.
Whenever this happens, you may have no option but to let competing activities remain as scheduled, note the resource insufficiency, and solve the resource constraint some other way.
Tools And Techniques For Resource Leveling
You can do resource leveling manually or automatically.
Manual resource leveling is a great option for small projects with a manageable scope. It can be a tedious job, going through your schedule and analyzing your daily resource requirements, and then rescheduling activities as necessary.
However, a manual approach is more likely to lead to optimal results: a resource-optimized schedule with the shortest possible project duration.
Unfortunately, manual resource leveling is not very efficient in complex projects. In this case, automatic resource leveling or software-assisted resource leveling is the better option.
- Project management software with automatic resource leveling has a resource leveling algorithm that automatically resolves scheduling conflicts caused by the over-allocation of resources. They allow you to designate the ranking factors or the criteria for scheduling and ranking activities whenever resource availability conflicts arise.
- Resource management software will assist with resource planning. It will give you an overall view of your resources and their allocations in your projects and organization.
- Resource scheduling software should help you efficiently schedule resources, especially with tools like the resource histogram and timeline that let you visualize resource availability and allocations throughout your project schedule.
- And project scheduling software will guide you in creating a baseline schedule that you can optimize through resource leveling.
Even if you are a proponent of manual resource leveling, I’m sure you will agree that project and resource management is a lot easier with the help of project management software.
If you prefer manual resource leveling, you can still run your project through a project management software’s resource leveling algorithm. Then you can analyze the resulting schedule and tweak it to come up with a more optimal solution.
Let me summarize what we covered in this article.
Resource leveling is a resource optimization technique that lets you optimize resource usage by adjusting the project’s start and end dates to meet resource allocation demands.
Resource leveling is something you can do only when there’s scheduling flexibility. When you have no such liberty, resource smoothing may be a more suitable resource optimization technique.
You can complement resource leveling with resource smoothing for even better optimization of resources. Read this article on resource leveling related techniques.
With resource leveling, your resource allocation and project schedule are informed by resource availability. Thus, you benefit by coming up with a more realistic project schedule, maximum resource utilization, as lean an operation as possible, and a higher chance of a successful outcome.
You can perform resource leveling manually or automatically. Manual resource leveling is likely to provide you the best resource-optimized schedule.
However, automatic resource leveling with the help of project scheduling software is easier to do than manual resource leveling. It can also be more efficient, especially with complex and complicated projects.
If you prefer manual resource leveling, you can use an automatically resource-leveled schedule as your baseline for manual resource leveling.
Finally, if you can have only one take-away from this article, let it be this one. Resource leveling prioritizes optimizing resource usage over schedule stringency. Thus, it requires a fair amount of schedule flexibility.
When the resources required by a scheduled activity are unavailable, resource leveling dictates that you reschedule that activity to another time when the resources it needs are available. That’s it. That’s resource leveling in a nutshell.
For more on resource leveling and management, subscribe to The Digital Project Manager newsletter.