In large-scale engineering projects, resource constraints are often the primary bottleneck that threatens schedule performance. Whether the project involves civil infrastructure, power generation, or industrial manufacturing, the challenge of allocating a finite pool of skilled labour, heavy equipment, and specialized materials without creating conflicts can derail even the most carefully planned schedules. Oracle Primavera P6 (now Oracle Primavera Cloud) has long been the industry-standard solution for managing these complexities, offering powerful resource leveling and conflict resolution capabilities that help project managers maintain control over both time and cost.

Understanding Resource Leveling in Primavera P6

Resource leveling is the process of adjusting a project schedule to eliminate peaks and troughs in resource demand, ensuring that no resource is overallocated and that the workload remains realistic throughout the project lifecycle. In the context of engineering projects, where a single crane operator or a specialised welding team may be required on multiple concurrent activities, resource leveling becomes a critical risk-mitigation tool.

Primavera P6 detects overallocations by comparing the planned resource usage against the available resource capacity defined in the resource calendar. When a resource is assigned to more hours than it can deliver in a given period, the software flags the conflict with visual cues—typically a colour change or an exclamation mark in the Resource Usage Profile. The leveling engine then proposes schedule adjustments, such as delaying or splitting activities, to bring resource demand back within capacity.

How Primavera P6 Performs Resource Leveling

The resource leveling process in Primavera P6 can be approached in two primary ways: automatic leveling and manual leveling. Understanding the difference and knowing when to use each is essential for effective conflict resolution.

  • Automatic Leveling: The software analyses all overallocated resources and automatically delays activities (while respecting activity relationships, constraints, and priorities) until the resource conflict is resolved. This is a time-saver for large schedules, but it should be used with caution because it can introduce unintended delays and ignore practical constraints like weather windows or site access.
  • Manual Leveling: The project manager uses the Gantt chart or Activity Table to drag-and-drop activities, adjust durations, or reassign resources. This approach offers fine-grained control but requires a deep understanding of the project’s logic and resource dependencies.
  • Resource Usage Profile: A graphical view showing daily or weekly resource hours across the schedule. Red bars indicate overallocation, making it easy to spot trouble spots at a glance.
  • Leveling Priorities and Constraints: Primavera allows users to set priority values on activities or apply constraints (e.g., “Must Finish By” or “Start On Or After”) that guide the leveling algorithm. Activities with higher priority are less likely to be delayed.

In practice, most engineering teams adopt a hybrid approach: they run automatic leveling to generate a baseline solution and then manually fine-tune the output to account for site-specific realities.

Resolving Conflicts Effectively

Resource conflicts in engineering projects are rarely simple. They can arise from shared equipment (e.g., a single mobile crane needed for two separate concrete pours), specialised skills (e.g., a NDT technician scheduled for multiple inspection tasks simultaneously), or material availability (e.g., a steel delivery window that constrains erection activities). Primavera P6 provides several tools to analyse and resolve these conflicts systematically.

Identifying the Root Cause

Before any leveling occurs, the project manager must investigate which resources are overallocated and why. The Resource Usage Profile and Resource Assignment View show all activities assigned to a specific resource, making it possible to see if the overallocation is caused by a handful of overlapping tasks or by a systematic scheduling error (e.g., two major structural lifts scheduled for the same day).

Leveling Options and Parameters

Primavera P6 offers a rich set of parameters that control how automatic leveling behaves:

  • Preserve Scheduled Early and Late Dates: When enabled, the leveling engine will not move activities outside their total float window. This is useful for activities with hard contractual deadlines.
  • Level All Resources: By default, only overallocated resources are leveled. Selecting this option levels all resources regardless of overallocation status.
  • Level Resources Only Within Activity Total Float: Restricts leveling adjustments to the available float, ensuring that the critical path is not impacted unless absolutely necessary.
  • Consider Assignments in Other Open Projects: For multi-project environments, this option ensures that resources are leveled across all projects simultaneously—critical when sharing a common resource pool.

Using Priorities and Constraints to Guide Leveling

Setting activity-level priorities (e.g., a numerical value from 1 to 100) allows the project manager to protect high-impact tasks from being delayed. For example, a structural steel erection activity that is a predecessor to many downstream tasks should receive a higher priority than a less critical finishing activity. Additionally, constraints such as “Mandatory Start” or “Finish No Later Than” can be applied to lock activities in place, forcing the leveling engine to find other solutions.

What-If Scenarios and Sensitivity Analysis

Primavera P6 supports saving multiple “what-if” scenarios using Project Baselines and the Schedule Comparison tool. Before committing to a leveled schedule, the project manager can create a copy of the project (often via a reflection project), run different leveling configurations, and compare the impacts on finish dates, resource utilisation, and cost. This iterative approach avoids the trap of blindly accepting the first automatic solution.

Reports and Dashboards for Conflict Monitoring

Once conflicts have been resolved, ongoing monitoring is essential. Primavera provides standard reports such as the “Resource Usage Report” and “Who Does What When” that show resource assignments over time. Custom dashboards can be built using Primavera P6 Analytics or integrated BI tools to track key metrics like resource utilisation percentage, overallocation count, and leveling-induced delay days. These reports give stakeholders visibility into how resource decisions affect the overall programme.

Best Practices for Resource Leveling in Primavera P6

To get the most out of Primavera P6’s resource leveling capabilities while minimising negative side effects, engineering project teams should follow a set of proven best practices:

  • Define realistic resource calendars and availability. A resource calendar that reflects actual working hours, shift patterns, and planned absences is the foundation of accurate leveling. Never assume 100% availability—include productivity factors if appropriate.
  • Keep priorities current. Activity priorities should be reviewed periodically, especially when the critical path changes. A task that was low-priority in month one may become critical later.
  • Level in iterations, not all at once. Start with a narrow leveling scope (e.g., only a few key resources), review the results, and then expand. This prevents the leveling engine from making sweeping changes that are hard to audit.
  • Maintain a clean project baseline. After leveling, save the result as a new baseline. This allows you to compare the current schedule with the leveled version and track deviations.
  • Document manual overrides. Whenever you manually adjust an activity—splitting it, delaying it, or reassigning resources—add a note in the activity notebook. This documentation is invaluable during dispute resolution or post-project review.
  • Involve resource managers in the review. Engineers and construction superintendents understand the practical constraints that the software may not capture. Their input on whether a leveled schedule is actually executable is essential.
  • Use resource curves for realistic loading. Instead of a linear assignment spread evenly over the activity duration, apply a curve (e.g., front-loaded or bell-shaped) to reflect how resources are typically consumed—especially for activities like commissioning or testing.
  • Update progress regularly. Stale data leads to false overallocations or missed conflicts. A weekly update cycle with accurate percent complete, actual start/finish, and remaining durations keeps the leveling engine working with current information.

Advanced Techniques for Complex Engineering Projects

For projects with thousands of activities and dozens of resource categories, basic leveling may not suffice. Primavera P6 offers several advanced features that can be combined to handle extreme complexity:

Activity Splitting and Resource Curves

When a resource is overallocated across two concurrent activities, Primavera can automatically split one of the activities—pausing it and resuming later—to spread the resource demand. This works well for repetitive or interruptible tasks such as painting or cable pulling. However, splitting is not appropriate for continuous processes like concrete curing; in those cases, manual leveling with constraints is preferable.

Step Duration Units (SDU)

Primavera allows activities to be defined with a fixed duration and variable units, or variable duration and fixed units. For engineering activities where the effort is tied to a deliverable (e.g., “Review 100 drawings”), using a fixed effort type ensures that the duration expands or contracts based on resource availability—a useful property during leveling.

Resource Assignment Types

Each resource assignment can be defined as “Price/Unit” or “Lump Sum,” but more importantly, the assignment can be set to “Units/Time” with a defined limit. By setting a maximum unit/time value on a resource (e.g., the crane can only be used 8 hours per day), the leveling engine will automatically prevent overallocation without needing to adjust the calendar.

Multi-Project Leveling

In programmes where several engineering projects share a central resource pool (e.g., a company’s fleet of heavy lift cranes), Primavera P6 can level across multiple open projects simultaneously. This requires a consistent resource dictionary and careful management of project-level priorities. The Resource Optimization (RSO) module within Primavera P6 EPPM provides additional optimisation algorithms for these environments.

Common Pitfalls and How to Avoid Them

Even experienced planners can fall into traps when using resource leveling. Being aware of these pitfalls can save time and prevent schedule chaos:

  • Over-leveling the schedule: Running automatic leveling repeatedly without reviewing the logic can extend the project duration well beyond what is needed. Always check the critical path after leveling to ensure that delays are justified.
  • Ignoring non-labour resources: Materials, equipment, and even space (e.g., laydown yards) are resources too. If these are not modelled in the schedule, leveling will ignore them, leading to site conflicts.
  • Using unrealistic resource calendars: A calendar that shows 10 hours/day availability for a crew that only works 8 hours/day will cause the leveling engine to underestimate overload.
  • Failing to level across projects: In a multi-project environment, leveling only one project at a time can resolve conflicts within that project but create new ones globally.
  • Not revisiting leveling after progress updates: As work progresses, resource availability changes—crew members leave, equipment breaks down, new priorities emerge. The leveled schedule should be re-run dynamically, not treated as a one-time exercise.

Conclusion

Resource leveling and conflict resolution are not optional activities in engineering project management—they are central to delivering projects on time and within budget. Primavera P6 provides one of the most comprehensive sets of tools for this purpose, from automatic detection and adjustment to advanced what-if analysis and multi-project optimisation.

However, software alone is not enough. Successful resource leveling requires disciplined data management, regular progress updates, a clear understanding of project priorities, and continuous collaboration between planners and site teams. By combining the power of Primavera P6 with the best practices outlined here, engineering organisations can turn resource constraints from a source of delay into a manageable element of the project control process.

For further reading on resource optimisation and Primavera P6 best practices, see Oracle’s official Primavera P6 page, the PMI article on resource leveling techniques, and a practical guide to resource optimisation in Primavera P6.