Resource leveling is the smoothening of resource usage to increase project efficiency. It is performed to realize a trade off between project duration and project cost.
Traditional project scheduling techniques do not take resource usage into account, and often produce erratic resource usage that drives up the project budget.
For example, let’s say you have a project which involves digging a hole. It takes one laborer plus an excavator 40 hours to perform the task, like this:
Pretty straight forward, right?
But what if you need to dig two identical holes:
You could get the job done in one week, but you need two laborers and an excavator at an hourly rate for 16 hour days. If you only have one laborer available, you would probably want to lengthen the schedule (trade off) so that you only need one laborer:
Hence, you can smoothen or “level” the resources to achieve cost efficiencies at the expense of time.
Traditional project scheduling using network diagrams would create the most efficient schedule without regard for resources. Thus, resource leveling must be performed to make the schedule realistic and achievable.
What Does Resource Leveling Accomplish?
There are two reasons to perform resource leveling:
- Reduce project cost
Project scheduling techniques will minimize the project duration, but it can be advantageous to increase the project duration in order to smoothen out the resource usage.For example, if a project requires 2 laborers for 10 days, followed by zero laborers for 10 days, perhaps the project cost can be reduced by lengthening the schedule slightly, to allow for 1 laborer for 20 days.
- Ensure a realistic schedule
Sometimes a resource is needed elsewhere, making the assigned duration for a task unachievable. The resource becomes overextended during that time and cannot perform the two tasks simultaneously. In this case, the resource usage must be smoothened by increasing the task duration.For example, an excavator requires an operator to carry out an excavation. But if the operator needs to get out of the machine and perform surveying during that time, the excavation task will need to be extended or the project schedule will not be achievable, and the excavator is idle during that time (costing the project more money).
Project scheduling techniques do not take into account the resource availability, that is, they simply assume a resource requires a certain amount of time to carry out a task. Resource leveling looks at the project schedule from the other point of view – Maximizing resource usage. That is, it ensures the resource availability is maximized at the expense of project duration. The correct answer might be somewhere in the middle.
The graphical depiction of a project schedule, using horizontal bars, is called a Gantt chart. This chart is a powerful tool in project management, and most project managers consult it daily. It can be used for project control, that is, ensuring that the project deadlines are met.
However, there is one inherent weakness in Gantt charts that makes resource leveling a constant consideration in most projects. This weakness is in the management of project resources.
You see, the gantt chart does not tell you what resources are needed to carry out the tasks, only how long they should take. If the resources are not available, or available at an unexpected date (or with different quality specifications) you cannot perform the task in the amount of time allocated to it. This is not readily obvious when using the gantt chart.
Most project management software allows you to enter resources for each task, and displays them beside the bar, like this.
This allows to you visually reconcile the availability of the resources with the task. But good project management software will allow you to specify the usage rate of the resource, and level the resources to ensure you are not overextended anywhere.
In traditional project scheduling, a network diagram is produced and a forward and backward pass determines the completion date of the project. This process assumes each task duration is estimated realistically and that the resources are available at the anticipated times to complete the tasks. However, it does not assume that the resources will be used efficiently.
In fact, it is a coincidence if the resources are efficient. Placing two tasks simultaneously simply because they can be performed in parallel does not ensure that the resources are in place to do this. Most project gantt charts should be viewed with a critical eye toward resources, particularly human resources, to ensure they use those resources efficiently.
When there is resource efficiency issue, the project manager has three options:
- Lengthen the duration of a task until the resource usage is acceptable
- Obtain more resources
- Some combination of the above
Project Management Software
Most project management software will allow you to specify resources for each task. Then, a resource usage rate is entered (say, 8 hrs/day for a laborer) which allows you to let the software perform resource leveling (say, maximum 2 laborers on site at any given time).
This is the theory, and there’s nothing wrong with it. But in practice I think this works well for large projects, where you are dealing in tens or hundreds of employees and thousands of hours. For small sub-million dollar projects, resource leveling using project management software involves micro-management that can be invalidated with a few employee sick days, or other unexpected events. Thus for small projects, the project manager should simply ensure that there is enough contingencies in each task to allow for a few people (or other resources) to move around.
Resources can be:
The cost of resources is very often a significant factor in the overall project cost, and minimizing resource costs can easily outstrip project duration to minimize the overall project cost.