A foundation concept in project management is the triple constraint of scope, schedule & cost (sometimes other knowledge areas such as quality are incorporated as additional constraints). This simple equation worked well in a time when projects were primarily constrained by scope & cost however as we are experiencing now, resource availability is a primary constraint and source of risk to most projects.
We might have fixed scope and cost, but without good estimates of resource availability, the likelihood of achieving predictable schedule outcomes is laughable.
Given this, it is questionable whether project scheduling functionality such as effort-driven scheduling really adds value. Just because I’ve added an extra resource to a task, the duration of that task might not be reduced proportionately when you take into account factors such as ramp up time, context switching between all the tasks the resource already has as well as aligning that resource’s availability with the staff already assigned to that task so that you achieve synergies or economies of scale.
Another unfortunate outcome is that the traditional approach to developing an accurate project schedule in which task start dates are primarily driven by dependencies has given way to the modern approach of developing an optimal project schedule based on dedicated resource availability and then modifying it using a combination of resource calendars and task constraints to provide a realistic forecast of schedule performance.
As soon as this is done, schedule optimization is next to impossible. Furthermore, many project managers may not recall the rationale for a scheduling constraint once a project has got underway and hence they have little ability to go back and improve on their schedules should resources be available earlier than planned.
So what is the solution – obviously the best case is to get resources dedicated to one project at a time or at least to reduce multi-tasking to a degree that will ensure that resources are available when required to work on a project’s tasks.
Barring this, my suggestions are to:
1. Develop & maintain an “ideal” schedule based on optimal resource availability that is updated based on the actual completion dates for tasks with minimal use of constraints as well as creating & maintaining the more realistic “reporting” schedule that reflects expected resource availability. This way, you are always able to attempt schedule optimization in the “ideal” schedule and then are able to compare that against the “reporting” schedule to determine what if any improvements can be made.
2. Document the justification for all constraints in your “reporting” schedule – that way, if a resource substitution is feasible you are not tied to the “planning debt” based on when the schedule was originally developed.