Resource leveling in Project Management is a technique to adjust the schedule by changing the task start and/or finish dates based on the availability of resources and priority. This is a case when you have a resource constraint in a project. This way it helps you to make a realistic, and achievable schedule.
Table of Content
- What is the definition of Resource Leveling in Project Management?
- Importance of Resource leveling in Project Management
- What is the difference between resource leveling and resource smoothing in project management?
- How to perform Resource leveling?
- How to do Resource Leveling Manually by the Scheduler?
- How to do resource leveling in Microsoft Project?
- Precautions need to take while doing Resource Leveling in MS Project
What is the definition of Resource Leveling in Project Management?
According to PMBOK resource leveling is “A technique in which start and finish dates are adjusted based on resource constraints with the goal of balancing demand for resources with the available supply.”
So it must be clear from the above that resource leveling is a technique that we can apply when our project has a resource constraint.
Now, let us understand with a very easy, practical example. Consider that you have three structures in a project. And you have scheduled the excavation work simultaneously in all 3. You have only one excavator at hand, and you can’t engage another. The reason could be budget unavailability or unavailability of the equipment itself in the project location.
Microsoft Project will inform you which tasks in the schedule have an overallocated resource assigned to them, by putting red men in the information column (the left-most column in the scheduling window):
To check the quantum of the overallocation of the resources, click on the ‘Resource Graph‘ tab from the left-most corner menu:
You will get the resource allocation graph of all the assigned resources below. Excavator-01 is overallocated almost every day, working beyond 8 hours.
Well, your schedule is bound to fail in that case, unless you do some crashing. But crashing is not our lookout in this tutorial.
We will solve this problem, but let us first understand the importance of resource leveling in project management.
Importance of Resource leveling in Project Management
While scheduling a project, it is of paramount importance to know your weapons before you plan. If you have a constraint for a particular resource unconsidered, your schedule will not represent the correct picture. Rather it will jeopardize the whole plan without a piece of information, and the Project Management team will wonder why!
If you have the information while preparing the schedule that you are going to get only one excavator, you could prepare the schedule somewhat differently. You could plan the excavations of two structures at the most suitable times. The time that you lost by not being able to do the task simultaneously in two structures could be managed by increasing other resources depending on the reduced duration.
The same is true the other way around. If you know that you are planning for more resources than actually required you can save costs by reducing some.
So let’s check how to do this to get an edge over the other Project Planners.
Read more: How to Show Critical Path in MS Project?
What is the difference between resource leveling and resource smoothing in project management?
Resource leveling is done when scheduling the production of available resources is limited, resources to use in an optimal way.
Resource smoothing is done when time constraints are the biggest factor blocking the progress of the project. The idea is to finish a project on time while avoiding a rise and fall in resource demand.
For example, say you have a requirement of 2 excavators in June, 1 in July, and 3 in August. You should plan in such a way that all 3 months require the same quantity of resources, without much variation in the month-wise requirement.
How to perform Resource leveling?
The solution is obvious, either you must increase the resource, i.e. hire an extra excavator, or allow the project duration (start and finish dates) to adjust depending on the available resources.
Tip:
In Microsoft Project, it is always advisable to adjust the project schedule within the total float of the project.
The total float of a project is the total amount of time that a schedule activity may be delayed from its early start date without delaying the project finish date, or intermediary milestone.
When you level resources, the leveling process should not extend the project duration as projects are time-bound. Hence, adjusting or leveling resources must not defer the project finish date.
In this tutorial, we will show you two methods of resource-leveling. The first one is to do it manually, step-by-step, by understanding the constraint and checking the requirement.
Second, we will use Microsoft Project to understand a real-life example of resource leveling and will show how to deal with it while preparing the project schedule. Microsoft Project has an option to automatically deal with the issues of resource leveling, and we will see in-depth how that works.
How to do Resource Leveling Manually by the Scheduler?
In the example we are talking about in this post, we will see how to do resource leveling manually. In this example, we have assigned 1 excavator to 3 tasks simultaneously, which we cannot practically allocate as the excavator will be able to work in any one location at a time.
So, while doing the leveling manually, we have to:
- identify first, which of the 3 structures is critical for our schedule, and accordingly need to set the priority.
- For example, say that the TG foundation is of topmost priority, followed by the boiler and pump house. Then put the TG foundation first, i.e. start the excavation work from this structure.
- Then link the task of excavation in the boiler and pump house foundations sequentially with the ‘Finish-to-Start‘ (FS) relationships.
Now the schedule will be as below. The start and finish dates of the tasks are now changed and there is no resource overallocation in the schedule.
How to do Resource Leveling in MS Project?
Now is the time to see the magic of MS Project! There is a cool feature of resource leveling in MS Project that enables you to do the resource leveling automatically. Here MSP takes the load by itself, redistributing the resources, and adjusting durations on its own.
Note: Automatic resource leveling in MSP does operate only with the Wrok type of resources. It does not work on the material resources and cost resources. Neither it recommend resources for any task.
To do this, go to the Resources tab in the ribbon and click on the ‘Leveling options‘ as shown in the below image:
You will see the below dialogue box (options checked on or off may vary depending on the settings in your computer):
You can do the resource leveling by overallocation minute-by-minute, hour-by-hour, day-by-day, week-by-week, and month-by-month. depending on a higher duration you select from this drop-down the time flexibility for the tasks. That means, if you select month-by-month, MSP will observe the total engagement duration of a resource within a month. If there is any overallocation is there on a day-to-day basis it will still be there.
For example, say your excavator-01 works for 8 hours/day, and there is an overallocation in a particular week. But in the month the total working hour is less than the total work available for the Excavator for the month.
For smaller projects, day-by-day is advisable, and go for a bigger range, i.e. week-by-week or month-by-month, for the big projects.
If you check the ‘Clear leveling values before leveling’ then MSP will clear any earlier done leveling before performing the current operation.
From the options in the marked area, you can select leveling the entire project, or even for a specific duration of the project, depending on the requirement of resource-leveling.
You can check or uncheck the options given based on your requirement
Level only within available slack: Checking this option won’t allow the leveling process to defer the project finish date. This will only delay tasks that are non-critical.
Leveling can adjust individual assignments on a task.
This is relevant only for those tasks with 2 or more assigned resources. Checking this box will allow changing the task dates for just 1 or more resources, but not all of them.
Leveling can create splits in the remaining tasks.
This option will allow the leveling process to create splits in the task to 2 or more sub-tasks. This means that the part of the incomplete task will be split from the complete part, and have a separate start/finish date.
As we already told you, if the project duration is fixed, level only within the available slack. This will not allow extending the project duration.
You can also level manually scheduled tasks as well by checking the last option in the pane.
Now, to set the priority of the tasks on which leveling operation will perform, we have something interesting. Click on the drop-down beside the Leveling order and the options will be as below:
If you select the ID Only option, MSP will give priority to the sequence of the tasks while leveling resources in the schedule.
If you select the Standard option, MSP first examines predecessor dependencies, float, dates, priorities, and constraints. This is to discover whether and how tasks need to be leveled. This is the default setting.
If you select Priority, Standard option you have a direct scope to set the priority of the tasks. MSP will give priority to the high-priority tasks as set by you for setting the sequence of resource allocation while leveling the resources.
We advise setting priorities in the increment of 50 in the range of 0 to 1000. For a task with 1000 priority, there will be no leveling of resources at all by MSP. MSP will level the resources for the tasks with 0 priority (least priority).
You can set the priority of the tasks as below:
For two tasks having the same priority values, MSP will calculate resource leveling priority as per the Standard option.
Now you have set priorities for the tasks (excavations of various structures in this case). Let’s get back to the resource leveling options pop-up.
Now click on Automatic, and change the leveling order to Priority, Standard. Now click on Level All.
Note: If you check the Automatic option, and then click on level all, then further when MSP will observe any resource overallocation it will do the re-scheduling by resource leveling by itself, depending on the other settings and priorities. You have less control on the actual need of resource leveling and this option. To our opinion, is dangerous for big projects where there are other complexities.
If you check the Manual option, the leveling will occur once you clicks on the “Level All” button. With this option, you have a better control over resource allocations. Although you need to be cautious and every time you change the schedule and/or resources. You need to check the resource overallocations by looking for the red men in the left-most column of the scheduling environment.
Note: If you select OK the settings will be saved, and if you click on Level All the resources will be leveled immediately.
The schedule now becomes resource-leveled. The revised schedule will look as below:
Note that MSP does the resource leveling based on the priority as set by us. We had set the TG foundation with a high priority while giving lesser priority to the boiler foundation, followed by the Pump house.
Precautions need to take while doing Resource Leveling in MS Project
While taking the advantage of the MSP feature of resource leveling (automatic or manual) you need to take precautions. This is required so that you do not end up messing up the whole schedule. Start from manually identifying the overallocation by finding the red men beside the tasks. Set proper priority to the tasks (actually this is some sort of relative priority in MSP).
The whole process of resource leveling is to start only after you prepare the schedule based on the other conditions available. Once you have set the priority of the tasks and complained identified the overallocated resources, then only you should proceed with the resource leveling option.
It is always advisable to keep one copy of the schedule at the ‘before leveling’ stage. This is so that you don’t lose things in case there is an issue with the resource leveling.
For sharing your views, or seeking any help or advanced-level solution please comment below and let us know.