Multiproject Resource Leveling – Some Advanced Considerations

Yesterday I watched this short (2:45) video by Jennifer Bridges on the important topic of multiproject resource scheduling. I absolutely recommend it for an audience learning the basics, as it’s a good primer on the topic, with some important reminders.

However, one can only say so much in any short video. So in keeping with the general approach of this blog, I thought I would add some considerations that more sophisticated project management professionals should keep in mind. All of these (and more) are explored in depth in my book Managing Projects as Investments: Earned Value to Business Value – but I thought a quick thumbnail list might be of interest.

  1. Always optimize CPM schedules (using critical path drag and drag cost) before you plug them into the resource library and start automated resource leveling. Why? Because the software’s resource leveling algorithm resolves bottlenecks by delaying activities, never by pulling them earlier. Take as an example the case where a resource is only available the first week of each month. If your CPM schedule has that activity scheduled for the second week in April, it will slip to the first week in May. However, if your schedule optimization process had pulled it in to the last week in March, the resource-limited leveling algorithm would schedule it for the first week in April, shortening that path by a whole month. If that path is the critical path, how much is gaining a month worth? And all without increasing the budget by even a dollar.

  2. A shorter schedule is not necessarily a better schedule. What is the value/cost of time on your project? If you know that, you can justify the cost of resources when they are profitable and refuse them when they are not.

  3. Just because Project X has a bigger budget, or greater expected value, or even is managed by the CEO’s brother-in-law, does not mean it is the one that should get an over-allocated resource. The determining factors should be:

  • The amount of time that not getting the resource when it’s needed will cost in total across all the competing projects; and
  • The value/cost of that time on each project.

These factors must be quantified (i.e., monetized) and the decisions made on the basis of greatest benefit to the overall organization.

  1. The amount of time that a project is delayed due to resource bottlenecks is, in Total Project Control terms, called resource availability drag (RAD), i.e., the project delay caused by insufficient resources. But the value lost through such delay is called the cost of leveling with unresolved bottlenecks (the CLUB). That dollar value, if known to the project manager, can be used to justify targeting the needed resource to their own project.

  2. The CLUB for a particular resource, on all projects over a period of time (a quarter, a year) can add up pretty quickly. Organizations are not tracking this vital metric for “rightsizing” an organization’s staffing levels. This is a crucial function that a good PMO can serve, greatly justifying its existence for the next time the “costcutters” want to get rid of it.

  3. Finally, remember that the resource-leveling algorithms in project management software packages can vary greatly in terms of functionality and robustness. Some automated resource leveling algorithms are woefully inadequate, adding time needlessly to a project schedule. A good project manager can often improve the post-leveling schedule by eyeballing it and making intelligent decisions.

I explore this subject much more thoroughly in my two books.

Fraternally in project management,

Steve the Bajan

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s