How would you feel about someone else doing a job for you and not charging you a penny? I am sure we’ve all had moments when this would sound pretty good, but what if this person botched up the job or did something that you just couldn’t understand? Well, then you would likely be pretty angry.
The resource leveling feature in MS Project is somewhat similar. You will fall in love with it if it works for you, but in most cases, it frustrates people to no end. It can optimize a project’s resource utilization if you use it judiciously; however if you are not careful, it will just spoil your project schedule.
Resource leveling is a hotly debated topic among MS Project experts. Some people say that no one should ever use it, while others say that you should use it only if you understand the consequences. So, what is the reality?
Resource leveling is an advanced feature in MS Project. In my opinion, you should not dabble with it unless you understand it properly. I have written this article to tell you how you can use resource leveling to optimize your project schedule. You can also read best practices of Resource leveling for a deeper understanding of the subject.
Why should you Use Resource Leveling Feature of MS Project?
Resource leveling is used to remove over-allocation of project resources. This is done by adjusting the scheduled dates of project activities. This may sometimes delay a project’s completion date. There are several methods to employ, which we will consider in the following paragraphs.
The Manual Method
Resource leveling can be done manually by analyzing various different views of MS Project simultaneously and then adjusting the dates of tasks to remove over-allocation. You can use views like Resource Usage, Resource Graph, Task Usage, and Gantt Chart for manual leveling.
The manual method of analyzing various views simultaneously is cumbersome and tedious. It requires a lot of time and effort. Resource leveling is not just about delaying a task; it involves analyzing scheduled dates of predecessor and successor tasks also. Delaying a task can delay many other dependent tasks that are assigned to other resources. This can over-allocate other resources and eventually spoil the whole project schedule just as is possible with the automated option.
In my opinion, the manual method is generally not advisable if you have a big project and/or a large pool of resources.
Automated Resource Leveling
Fortunately, there is a better, automated way to do resource leveling through MS Project. It is not possible for a human brain to analyze millions of permutations in a short period of time, but computer software (in this case, Project) can simultaneously look at relationships between hundreds of tasks and calculate a highly optimized schedule in a flash.
In fact, you can save a lot of time by using the MS Project’s Resource leveling feature, but as I stated earlier, you need to know what you’re doing.
How to Automate Resource Leveling Using MS Project?
You should first ascertain that resources are over-allocated before doing the Resource leveling. This can be done by one of the following two ways:
1. Look at the Information column in the Gantt chart view. It will have a red resource icon suggesting the over-allocation of resource(s) in a particular task.
2. Go to the Resource Sheet view. The rows of over-allocated resources will be displayed in red.
3. Once you confirm that some resources are over-allocated, you can go to Level group in the Resource tab to remove the over-allocation.
4. Before leveling the resources, take a look at the Leveling options and change them as needed.
The Leveling options are:
- Automatic vs Manual: MS Project performs automatic leveling as soon as a resource or a task is changed. Manual leveling is done only when you ask MS Project to do so. I would suggest you to use Manual leveling as it is a much safer option. Automatic leveling can be befuddling as MS Project makes real-time changes to your tasks in response your changes without asking you for the confirmation.
- Look for over-allocation on a _____ basis: You can level resources on a minute by minute, hour by hour, day by day basis etc. The day by day option is the most practical option, and it’s suitable for most projects.
- Clear leveling values before leveling: If this checkbox is checked, then MS Project clears the leveling values of existing tasks and starts afresh each time leveling is done. This should be left unchecked if you are doing Automatic leveling as it will hog your computer resources.
- Leveling range: You can either level the entire project or tasks between specified dates.
- Leveling order: There are three options here.
- ID Only: MS Project gives more priority to the higher Task ID. I would suggest you avoid this, as it has no practical utility.
- Standard: MS Project uses a combination of predecessor relationships, slack, priorities, and constraints to level the resources.
- Priority: MS Project gives higher precedence to tasks with priority and then uses the Standard algorithm for leveling the resources.
After setting the Leveling options, you can level resources in one of the following ways:
1. Level resources allocated to the selected tasks.
2. Level a particular resource.
3. Level all the resources in the project.
Automated Resource leveling is a great feature, as it optimizes resource usage in a matter of seconds. However, it has some limitations. In those cases, manual leveling becomes useful. MS Project does not change the resources assignments of a task. It is important to note that because of changes to the tasks, leveling can delay the finish date of some tasks and consequently, the project’s finish date. Sometimes, it is more prudent to assign free resources rather than remove the over-allocation.
Secondly, automation can level work resources only. It cannot level other type of resources, such as material and cost resources.
Have you done Resource leveling in your project? Did you use a manual approach or automated method? What was your experience? I would love to hear your comments below.