A quick trip to Wikipedia yields the following definition for resource leveling: ‘a project management technique used to examine unbalance use of resources (usually people or equipment) over time, and for resolving over-allocations or conflicts.’ In other words, through resource leveling we can ensure that the project schedule is reasonable and realistic from a resource perspective – that the people or equipment needed to execute the work will be available when and where they are needed.
Sounds simple? The reality is that resource leveling needs to take multiple factors into account and can be anything but simple. And, like anything else that’s really complicated, most of us are looking for better tools to help us accomplish the task. That’s when the question about automatic resource leveling comes up.
While some project scheduling tools provide a process to see if resources are overloaded, others also provide a function that will recalculate the schedule to eliminate any overloads. As exciting as it may sound, in practice, it’s common to see that managers either never use it or even if they do, they don’t use the resulting schedule without making a lot of other adjustments. Why? Because even though automatic resource leveling can quickly ‘resolve’ overloads, it typically does it by delaying tasks until the resource is available. What it cannot do is account for human or project variables; all it does is throw some simple numbers. The solution uses elementary level math to solve a calculus-worthy problem.
While some project managers often take advantage of the speed of automatic leveling they really don’t trust the inferences drawn from the calculation to make their final decisions. They recognize that a resource leveled schedule requires a deeper understanding of the project work and the resource requirement to perform that particular task. It also requires a deeper analysis of more subtle options, tradeoffs, or variables to yield the optimal schedule.
In order to level resources in an efficient, meaningful way, a manager must keep in mind the following:
- Resource leveling is not just a math problem. A project manager must consider more than the singular question of effort required over the duration of a task. Instead, one must also think about what makes sense for the type of work being performed. Some tasks can be completed in less time by adding more people but sometimes splitting up the work canactually increase the time required to complete it, since multiple efforts need to be coordinated and integrated- which makes it even more time consuming. If you have a team member that needs to attend a three-day class, adding another person will not reduce the time for the class to one and one-half days.
- Keep an open mind. There are many different alternatives to consider when resource leveling. Sometimes it makes sense to work on multiple tasks concurrently while for other kinds of work dedicatedeffort is more practical. For example, having a team come together (either physically or virtually) to work through a plan or work through the details of a project deliverable may take less time than going through multiple cycles of email. Conversely, if we expect to have a document out for review, it is entirely reasonable to schedule the same resources that created that document to work on another task. You may also want to consider alternative ways of accomplishing the work – such as rearranging the order of tasks or using technological advances to reduce the time required for a given task. You also need to consider general workload –even though your estimates may indicate that someone can work on 20 tasks simultaneously, you may be building in inefficiency by asking people to juggle too many things at once. Ever tried reading a book in an airport and realize that you’ve just read the same paragraph three times (or more)? The fact is that each time you’re interrupted by a flight announcement, you probably don’t pick up at the exact spot you left off – you end up re-reading from a logical spot. The same happens when we try to rapidly switch between multiple tasks – the very act of switching makes us less
efficient. - Don’t try to be too precise – Remember that everything in the schedule that you’re trying to level is based on estimates – timelines may change along the course of the project. Good resource leveling requires that you keep your eye on the big picture rather than micromanaging or focusing on granularities. Also, keep in mind that the further into the future you go, the less sure you will become of everything. Give up on the notion of leveling to the hour six months into the future – resource leveling is about making a reasonable schedule, not a precise schedule. The more granular you are, the more you will need to adjust when things change.
Resource leveling is an important part of the project management process, but it can’t be done automatically. While an automatic tool may be handy, it is not a substitute for good old-fashioned common sense from a real-live human being. A software package cannot appreciate the need for variation in an individual contributor’s day, nor does it understand, as a good manager would that sometimes tasks must be performed concurrently, and they are other times when it they cannot be. The bottom-line is that an automatic tool can begin the resource leveling process, but it cannot finish it without human help.
On a closing note, if you haven’t read Fredrick Brooks’ book, The Mythical Man-Month: Essays on Software Engineering, now would be a good time.







Hi Claire. It is hard for me to see the benefit of resource leveling in organizations that are utilizing an enterprise PPM tool with an common organizational resource pool. Leveling resources could easily mean getting approval from resource managers based on what the system generated. As you point out, not all (or many) tasks are truly effort-driven. Perhaps resource leveling is only useful when schedules are truly effort-driven and the project manager actually owns the resources. It also assumes that resources are assigned at the activity level, which from a PPM perspective would mean higher project management maturity.
Hi Tim, Thanks so much for your comments. To your last point – resource leveling is dependent upon having effort estimates for your activities and yes, that is one of the typical elements of greater maturity. I also agree that using automatic resource leveling would most likely not yield an optimum schedule that you could use to request resources. That said, some amount of ‘manual’ resource leveling by a project manager is still a reasonable practice even in a PPM environment where you have a shared pool of resources that don’t report to you.
Since one objective of resource leveling is to adjust the schedule to accommodate resource constraints you, as a project manager, need to know what those constraints are. While in a PPM environment you could hypothetically try to level resources across multiple projects, the natural volatility of project schedules make this difficult, if not impossible. This is where resource allocations by the resource managers come in very handy. For example, let’s say that you’re managing a project and, based upon some initial resource estimates, you’ve requested a full time resource from a resource manager. However, the resource manager responds that due to other commitments they can only allocate a particular resource for 20 hours per week to your project. Assuming that there are no other qualified resources and all the other commitments are of equal priority, your only option is to adjust the schedule so that the level of effort required from the resource does not exceed the 20 hour per week constraint.
To take this all one step further, suppose that you have some work that absolutely cannot be leveled within the constraint; for example, you need the resource to conduct a training class and it’s 32 hours of effort within a given week. In this case, you can look at the resource’s other time commitments for that limited timeframe and focus your negotiations with the resource manager or other project managers in a much more focused way.
The counter-argument:
If you do not have any automatic leveling you seem to force a constraint that is resource specific into the task. For example; Consider I have a resource where my maximum allocation can be 50%. I have 3, 5 day (Effort/Work estimation) tasks for her to do that are independent. To avoid over allocation (over 50%) I can create a fixes start date or finish to start constraints or I can auto level. If I auto level then I do not have to edit the tasks when I model using a different resource with a different allocation; I just re-level. If I put the constraints on the tasks I have to remember if the constraints were due to the task or the resource and remove them or not if the other resource has a similar resource profile. It just does not seem right to put constraints in a task that are really associated with the resource. I think you need some sort or auto leveling to model “what if” related to resource changes. I don’t mean the magic bullet press the button and I don’t need to think but I do want the system to assist me.