Resource Leveling enables you to resolve all overallocations with the push of a button.
Once enabled, Structure.Gantt will identify instances of overallocation and automatically delay certain tasks to give you a realistic picture of when they can be completed.
In the above example, tasks with the Leveling Delay icon were delayed to solve the overallocation seen in the first screenshot.
Leveling is a resource-intensive operation. It may take several seconds to dozens of minutes to complete, depending on a variety of factors, including the number of items in a structure, number of resources, number of dependencies, etc.
Starting Resource Leveling
To start Resource Leveling, click the Resource Leveling button in the Structure.Gantt toolbar.
You can then select which resource(s) Resource Leveling should be applied to (or select All Resources) and choose the leveling option you want to apply.
The following leveling options are available:
- Resolve From - Only overallocations that occur after the chosen date will be resolved. By default, Resource Leveling is applied to all overallocations that occur after the project's start date.
- Clear existing Leveling Delays before leveling - By default, if Resource Leveling has already been run on the structure, additional levelings will only address overallocations created since the last leveling. This speeds up the process, but if a delayed task is part of a new overallocation, it may be delayed even further. Selecting this option clears any existing delays, allowing Structure.Gantt to consider all tasks from their original positions when applying the leveling.
- Manually scheduled tasks - By default, manually scheduled tasks will not be adjusted by resource leveling. To include them, check this option. Note that tasks scheduled by sprints are never affected by leveling.
- Tasks with progress - By default, tasks considered in progress (based on the Progress Calculation settings in the Gantt Configuration) are not affected by resource leveling. If this option is selected, these tasks may be moved by leveling if their original estimate results in resource overallocation.
- Completed tasks - If selected, resolved tasks may be moved if they they are part of resource overallocation.
When you click Run Leveling, Structure.Gantt will review your allocation chart to identify every instance of overallocation.
When it identifies that a resource is overallocated, it will delay some of the tasks to the future, based on a variety of factors, including but not limited to:
- Leveling Priority - If this Gantt attribute is set, tasks with a higher assigned priority will be scheduled earlier in the timeline. See Leveling Priority.
- Dependencies - Leveling respects dependencies and avoids any adjustments that would result in dependency conflicts.
- Start time - Tasks with an earlier start date/time will generally be scheduled sooner to limit downtime.
- Task length - Longer tasks receive a higher priority.
- Only one leveling operation can be run per structure at a given time.
- Resource Leveling delays items in the Gantt chart only. It DOES NOT reschedule issues in Jira.
- If a task's scheduling, links or dependencies are changed in the Gantt chart after leveling has been applied, it's leveling delay will be removed. Changes made in Structure or Jira will not affect the leveling delay.
Removing Leveling Delays
To remove leveling delays and return tasks to their original schedule:
- Click the Resource Leveling button again.
- Select which resources you want to remove leveling for, or select All Resources.
- Adjust the Resolve From date as necessary. Leveling delays will only be removed for tasks starting after this date.
- If you included additional types of tasks (Manually scheduled tasks, etc.) in your last leveling, those options will be selected by default. If you uncheck them, leveling will not be reset for those tasks.
- Once you've configured your options, click Reset Leveling Delays.
The amount of time between the original schedule and the new schedule is called the Leveling Delay. You can view or adjust a task's Leveling Delay in the Task Details panel.
To remove an individual task's leveling delay, simply clear the value in this field.
Leveling Delay values are stored in Structure.Gantt storage. They have no effect on Jira.
Leveling Priority allows you to give a higher weight to certain tasks, making them less likely to be moved when Resource Leveling is run. Leveling Priority can be assigned through Gantt configuration | Resources, or adjusted for individual tasks via the Task Details Panel.
Changes made to the Leveling Priority are not applied until after the current leveling is reset and a new leveling operation is run.
If a formula is used for Leveling Priority in the Gantt configuration, any changes to an individual task's priority via the Task Details Panel will be stored inside Structure.Gantt storage.
On larger structures, the leveling process can take dozens of minutes. It is possible to stop an in-progress leveling operation, when necessary. To do so, find and click the Leveling Progress indicator below the Gantt Chart. In the progress pop-up, click Stop Leveling.