The secret to a successful project is smart scheduling and clever resource management. It’s that simple. Yet the process of balancing these things is anything but.
There are plenty of techniques designed to help you perfect the art — the Critical Path Method (CPM) is one of the most enduringly popular. It helps PMs work out which tasks are the most important, as well as the fastest way to complete the project as a whole. It’s often paired with the Process Evaluation Review Technique (aka the PERT chart), which helps PMs plan ahead, manage bottlenecks, and keep stakeholders and other interested parties informed and up-to-date.
CPM and PERT charts are a good starting point. But alongside these two techniques is a lesser-known process known as resource leveling. Not familiar with the term? You’re not alone. Let’s find out what it is, and how it can help you.
What is resource leveling?
You need resources — e.g. labor, equipment, and materials — to complete a project. And you need to allocate those resources effectively across different tasks to a) complete the project on time and b) achieve the desired results with the budget you have. Managing this is tricky, which is where resource leveling comes in.
According to the PM Bible A Guide to the Project Management Body of Knowledge (PMBOK Guide), resource leveling is “A technique in which start and finish dates are adjusted based on resource limitation with the goal of balancing the demand for resources with the available supply.” Or, as Microsoft puts it, it’s “the act of taking a project with people assigned to a bunch of tasks, and making it so that they don’t have to work overtime.”
Resource leveling helps managers get maximum use out of the resources available to them. The goal is to minimize waste and resolve conflicts like over-allocation, delays, budget overruns, or the need to add or remove tasks. You can perform it on individual projects or across multiple concurrent projects.
What happens when you level your resources?
When leveling your resources, you’ll do one of two things:
- If your project doesn’t have time restrictions, you’ll shuffle tasks around so the overallocated resource — say, your designer — works on two tasks consecutively instead of simultaneously. Eventually, the work gets done and your designer is happy because they don’t have to work overtime.
- If there are time restrictions, then you’ll organize tasks so your team can work on them simultaneously by applying more resources (in this case, designers) to the job.
How to perform resource leveling
- First, work out the project completion date. When estimating this, aim for somewhere in-between best and worst-case scenarios. You can use a PERT chart to help you calculate this.
- Next, define the most important activities and schedule these first. You can use the float value of each activity to determine its importance. Although, this doesn’t have to be the only factor.
Float or Slack refers to the amount of time a task can be delayed before it causes an overall delay or impacts the other tasks.
- Then, create your task schedule using the critical path method. Don’t take resource availability into account at this stage — you don’t want to apply constraints just yet.
- Finally, prioritize your tasks. Float is the most common index. But you may have other factors you want to take into account, like budget and other personal preferences.
Now, you can begin calculating your schedule, including a ‘resource leveled’ start and finish dates for every activity. If one activity involves lots of different resources, then it’s a good idea to focus only on those that are most important/trickiest to organize. Including every single resource could lead to a completion date that’s later than it needs to be.
Pro Tip: You don’t have to level all of your resources in a project. You can evaluate as much or as little work as you like.
If the resulting dates are within your initial projected completion date, then you have the right amount of resources for the task. If the leveled date exceeds your projected finish, then that could indicate you either need more time or more resources.
Because you break these timings down task-by-task, you’ll be able to pinpoint where there are scheduling and resource allocation issues more easily.
What leveling looks like in action
It’s kick-off time and you’ve already prioritized your project’s tasks according to float time. If you have two or more tasks that require the same resource, you will schedule the one with the shortest float time first.
If a resource isn’t available, you’ll do one of two things:
- Prioritize limiting your resources. Simply delay the task until the next time slot, and assess it again then. If the resource still isn’t available, repeat the process until it is — even if that means going past the projected end dates.
- Prioritize finishing the project on time. Schedule activities even though it might require more resources than are currently available. You may also split activities, so your team can work on tasks simultaneously.
As your team tackles tasks one by one, you can always stop them or make adjustments manually. This means you’ll need to manage your triple constraint — aka the time-cost-scope triangle — and decide whether you want to hire more help, delay the deadline, or adjust the project scope.
Why use resource leveling?
Resource leveling is a tool. It’s not a substitute for actual project management, and you need to be aware of the risks. Simply letting an algorithm manage the entirety of your schedule/resource management could lead to some problems, especially if the algorithm’s logic is off — which could happen if you put in a wrong value, or over or underestimate the project completion dates.
There’s usually a compromise between finishing the project on time and finding a way to secure more resources. The better your project management software, the more finesse you’ll be able to apply to the allocation-scheduling process. Ideally, you will set a range of primary and secondary priorities and limits, so it’s easy for you to analyze the tradeoffs proposed for each task and time slot.
Remember: always evaluate the solution thoroughly before implementing it. Just because it makes sense mathematically, doesn’t always mean it makes sense in practice. Think of this tool as an assistant. One whose ultimate goal is to help you create a schedule that’s achievable and makes the best use of the resources available to you.