
Gantt charts are invaluable for project managers, but they have a critical blind spot: they don’t account for resource availability.
While their visual task optimization is a game-changer, overlooking double- or triple-booked resources can lead to unrealistic completion dates.
That’s where resource leveling comes in. It is the key to success in balancing resource usage for maximum project efficiency. This technique optimizes the tradeoff between project duration and cost, ensuring smoother execution.
What is Resource Leveling?
Resource leveling is the smoothening of resource usage to increase project efficiency. It is performed to realize a tradeoff between project duration and project cost.
Why Should One Perform Resource Leveling?
Traditional project scheduling techniques do not take resource usage into account, and often produce erratic resource usage profiles that drives up the project budget. Essentially, the resources are overbooked and unavailable for the task when the project schedule assumed they would be.
When Should One Perform Resource Leveling?
Traditionally, resource leveling is performed after gantt chart development. The gantt chart is updated (usually extended) to take into account resource availability.
Software packages like Microsoft Project would take into account resource availability at the task creation stage and build the gantt chart accordingly.
Resource Leveling Example
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?
Resource leveling is usually performed after creating the project schedule, and seeks to extend the schedule where necessary to remove large spikes or valleys in resource usage that cost more than they save. 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.
Gantt Charts
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.
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. For example, there is only one Bob Jones available to the project, so if you have simultaneous tasks that require Bob Jones, he is overextended and the project completion date needs to be increased (or other resources obtained).
Project Scheduling
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.
Project Resources
Resources can be:
- Human
- Facilities
- Equipment
- Tools
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.
Leave a Reply