Say you're running down to the wire on your project, and you've just discovered that the developer you need to work on a landing page is double booked. What do you do?
If you find yourself running into issues with overallocation of resources or resource conflicts, resource leveling might be the solution you're looking for.
What Is Resource Leveling?
Resource leveling is the process of rescheduling project tasks and activities when the resources that have been allocated to work on them aren't available.
If the team member you need is busy working on another, higher-priority task, you can reschedule the task to another time when the resource supply (who's available to work on a task) matches resource demand (who's required to work on a specific task).
Use resource leveling when you have a flexible project timeline. However, you should use another technique called resource smoothing when the project’s end-date and critical path are inflexible.
Typically resource leveling can be managed through resource management software.
When To Use Resource Leveling
Use resource leveling when:
- Required resources have limited availability. Say a DevOps engineer can work on a software development project for only one week. You adjust the schedule to accommodate his availability.
- Required resources have to be shared. Say a quality assurance officer has to split his time between two production lines. You adjust the QA monitoring and inspection schedules for the two lines to accommodate the QA officer’s availability.
- Required resources are available in limited quantities. Say a construction project requires two cranes but has only one and no way to get an additional crane. You reorganize the project schedule so that the higher-priority task uses the crane first.
- Required resources are over-allocated. Say two overlapping activities need the project’s structural engineer. You reschedule the lower-priority inspection activity so that the structural engineer can perform the higher-priority inspection activity first.
- Resource usage must be level. Say an activity has an estimated duration of five days, with Developer A working 16 hours for three days and no work for two days. After resource leveling, Developer A works eight hours per day for six days, extending the activity duration by one day.
Mathematically, the adjustment looks like this:
16 hours/day x 3 days = 48 hours = 8 hours/day x 6 days
4 Benefits Of Resource Leveling
Resource leveling, as a resource optimization technique, allows you to create an optimal resource utilization plan. Below are the specific benefits of resource leveling.
1. Lean Operation
It lets you, the project manager (or resource manager), fully utilize available resources while managing competing demands on resources. There is no need to hire more people or acquire more equipment if you can adjust the project schedule to accommodate resource availability.
2. Realistic Scheduling
Resource leveling gives you a systematic way of taking resource limits into consideration in the project planning phase. The result is a schedule that is more likely to be followed than a non-optimized schedule. If you stick to your non-optimized schedule, you are more likely to experience delays.
3. Allows For Maximum Resource Optimization
In resource leveling, the availability of resources is the primary consideration. The schedule model is built around resource availability or modified according to resource constraints. Thus, resource leveling allows for maximum optimization of resources.
4. Higher Chance Of A Successful Outcome
If the necessary resources are available when you need them, chances are that you will deliver expected outcomes. Resource leveling gives you a higher chance of success because it allows you to arrange the project schedule according to the availability of project resources.
Limitations Of Resource Leveling
- It cannot be used in situations when there is no flexibility in project scheduling. Resource leveling accommodates conflicts by rescheduling activities and extending the critical path. You cannot perform resource leveling when you are not allowed to do that.
- It changes the project schedule. In projects where losing time means significant costs or losses, planning the schedule around resource availability can be costly. A better approach is to bring in additional resources instead of waiting around for existing resources to become available.
Resource Leveling Example
Suppose you have a simple project that has three component activities—Activity A, Activity B, and Activity C—with the following dependencies and estimated duration:
- Activity A, two days, has to start for Activity B to start
- Activity B, one day, has to finish for Activity A to finish
- Activity C, one day, can start after Activity A and B finish
Below is a representation of the project on a simple Gantt chart.
Roger and Greg are working on another project aside from this one. They are available for only part of a day: Roger for four hours and Greg for three hours.
Let’s plot the resources’ daily availability against the allocation of resources for each activity.
- Activity A requires 16 hours of Roger’s time and the planned duration is 2 days. But Roger can work only four hours per day on this project.
- Activity B requires four hours of Roger’s time. But Activity B partly coincides with Activity A.
- Activity A requires eight hours from Minerva. Activity B requires four hours from her. But Activity B partly coincides with Activity A.
The project’s daily demand for specific human resources far exceeds the daily availability of those resources.
You should adjust the project schedule to accommodate resource availability subject to existing task dependencies. Consider resource capacity and utilization as well, and avoid taxing a resource’s capacity and overloading it if it's not necessary.
These considerations lead to the resource leveled schedule shown below.
The Resource Leveling Process
- Divide your project schedule into manageable time intervals, like one day.
- For every time interval in the project schedule, identify the resources (people, materials, equipment) required by the task or tasks scheduled for that day.
- If any of the resources required by the task scheduled are not available, reschedule that task to another day when that unavailable resource is available.
- If two project activities are scheduled for the same day and are competing for the same resources, prioritize one of the two activities by deciding which of the two is more important.
- If you deem activities with negative or zero float as more important or of a higher priority, allocate the scarce resources to the negative- or zero-float task, and relegate the competing task to another time interval.
The resource leveling process is iterative. When faced with project resource constraints, you will reschedule activities as appropriate until you have optimized resources and have at a resource-leveled project schedule.
Of course, there will be instances when an activity simply may not be rescheduled even if the required resources are unavailable or another deliverable has priority-use of such required resources.
Whenever this happens, you may have no option but to let competing activities remain as scheduled, note the resource insufficiency, and solve the resource constraint some other way.
Popular Resource Leveling Tools
Here are some resource leveling techniques and tools you can use as you're carrying out this process on your projects.
- Use Gantt charts. As you saw in the example I outlined above, Gantt charts are super handy for visualizing tasks and finish dates or project durations, as well as identifying dependencies that impact resource demand and allocation.
- Use project management tools such as project management software (for managing all aspects of projects) or resource management software (drills down on managing and planning resources), which provide views of resources and allocation. They often come with algorithms that automatically resolve scheduling conflicts according to criteria that you designate.
- Identify the critical path (aka the critical path method, or CPM). Because resource leveling may lead to a change in a project’s critical path, it's important to know exactly what it looks like in advance. This way, you can alert the client or stakeholders early if the critical path (and the project completion date or project deadline) might change.
5 Resource Leveling Best Practices
- Continuously monitor resource allocation: Resource leveling is not a 'one-and-done' situation. Keep monitoring your resource plan for conflicts throughout the project (ex. last minute requests on other projects, unexpected absences like sick days, etc.)
- Aim to distribute work evenly: As much as you can, try to spread work out evenly amongst the team members. This will avoid burning out certain team members or leaving others with nothing to do.
- Be transparent about changes: When you need to make changes to timelines or who is allocated to a task, keep both the stakeholders and team informed.
- Have a back up plan: If a specific team member isn't available, or you absolutely cannot move a deadline, have a plan B—assign the work to a different team member, crash the schedule, etc.
- Create a feedback loop: In addition to monitoring your team's workloads through a software tool, make sure you're talking to them regularly about their workload. Sometimes you'll uncover details that aren't reflected in the software (ex. other projects that weren't entered in the software, etc.)
Have more questions about resource leveling? Join the conversation in Slack with 100's of other digital project managers with DPM Membership!