Question: When I try leveling in a project that has over-allocation of resources, I’m never sure what to do with the options I’m shown during the process. Can you explain the basics of leveling? — B.B., Redmond, WA
Answer: Leveling is a function that confuses most people, so I’m glad to see this question submitted by a reader. Leveling is an action that will help level out the workload of resources assigned to tasks. The leveling options selected will influence how the leveling process will perform. There’s always the option to remove the leveling that occurs, which means you have nothing to lose in trying the function. Most people feel they get questionable results. They don’t want the end date of the project to change, yet they want their resources leveled. The reality is that leveling can’t find more time for your resources to work; they still have limited availability controlled by their resource calendars and the percentage of a resource is assigned to a task. Therefore, I believe the best leveling is a process that you actually do manually. Before trying the programmatic leveling function, try some of these techniques:
- Remove a critical resource from a non-critical task.
- Break up a task — can pieces be assigned to lesser talented resources?
- Ask yourself if a resource really needs to be involved in a task. If not, remove him or her from the task.
- Extend the workday for the resource on his or her calendar.
- Increase the percent of the assignment on a task.
- Can more resources of the correct skill type be obtained?
- Cancel vacations until after the project is over (not a very popular option!).
- Eliminate unnecessary tasks.
Before starting this function, you must decide if you are leveling tasks or resources. If you want to level specific resources, go to a resource screen and select the resources to level. If you want to level specific tasks, go to a task screen and select the specific tasks. Or you could level all resources or all tasks.
Always check the resource sheet for red resources to see where over-allocations exist. The best view to be in during the leveling process is either the Resource Allocation view or the Leveling Gantt View. The latter will show the leveled project in blue and what it was before the schedule was leveled in green, so you can see the effect on the schedule.
I would also recommend noting the schedule ending date before starting any leveling process. Performing leveling on a copy of the active schedule and not the active schedule itself is also a good practice.
Note: Take a look at the Resource Usage view before starting this process. Often you’ll see resources that are in red (over-allocated), yet they’re only booked two hours in a day. What’s occurring is that the same hour of the day is double booked. This is common, particularly if you’re using recurring tasks. I don’t consider these resources to be overallocated; but Microsoft Project does and they’ll be affected by the leveling process.
The leveling function has several options that will control how the leveling process functions:
- Automatic or Manual: Most people function better with manual. This allows you to control when leveling occurs. If you use the automatic option, the schedule will level every time you change a task. This can be memory-intensive, particularly for a large schedule.
- Look for over-allocations on a <selection> basis: I suggest the week by week basis. If you choose day by day, the program will try to make sure that all resources aren’t overbooked by even one minute during any day. This is unrealistic. Week by week is saying that some days can be up and some days can be short, but the total for the week will match the availability calendar and the percentage assigned to the task.
- Clear leveling values before leveling: If you have leveled before, this option will clear that previous leveling.
- Entire project or range of dates: If it’s a long project, you might want to select a range of dates — probably a six to eight week window. How far in advance can you really predict a resource assignment? On the other hand, I have client who opens all of their projects and levels fully across all of them to try to figure out when they are all going to be completed. So you must decide on your goals. Are you looking for short-term assignments or when the project is really going to be completed? If you choose the entire project option, make sure your resource availability calendars are up to date.
- Level within available slack: Do you have any slack in your schedule? Insert the Total Slack column in a task table and take a look. If there’s zero slack or negative slack, the result of leveling will always be that your ending date will push out.
- Leveling can adjust individual assignments on a task: This wording has always been a bit odd to me. Leveling can never remove or replace a resource on a task. This option refers to the concept of keeping all resources together on the task or deciding that they perform their work individually. This option is being set for the entire schedule, which might not be the case. Some tasks can be scheduled at different times and others might have to be scheduled together. A field on each task, called Level Assignments, controls this option. To make this a task level value, insert the column Level Assignments.
- Leveling can create splits in remaining work: Does the remaining work on a task have to be scheduled together or can it be split? Again, you set this value for the entire schedule or control it per task by using the task field Leveling Can Split.
- Resources with Proposed booking types: This affects Microsoft Project Server users only. If you have resources that are proposed for your project, but not committed to it, do you want to include them in the leveling process?
Note: To clear leveling, you should be in a task based screen. Also Help can really be helpful.
You might not get the results you would like. In many cases you may have a case to take to management to let them see that you just don’t have enough resources to get the job done in the timeframe allowed. Leveling will also allow you to see problems sooner than later in your schedule.