Resource Constraints and Critical Path Method (updated)

By definition, the Critical Path includes the activities with zero Total Float and therefore a delay in any of these activities will cause a delay to the project’s planned completion date.

Total Float is the amount of time that an activity can be delayed from its Early Start without delaying the project finish date. The activities with shorter floats are more critical than those with a longer one.

Early Start is the earliest possible date on which an activity can start, based on the schedule network logic and any Schedule Constraints.

Schedule Constraints include resource constraints, finance and supply constraints, calendar constraints and imposed dates. The word any here makes the difference: the float should be calculated with all schedule constraints, including those deriving from resource usage, and not only with those deriving from the network sequence logic.

Most project management software programs do not calculate true activity floats because they do not consider resource constraints during the backward pass. as the availability of resources is completely ignored.

The resource dependencies is at the core of the Critical Chain Method, a scheduling techniques alternative to the Critical Path. The Critical Chain is the sequence of both precedence- and resource-dependent activities that prevents a project from being completed in a shorter time, given finite resources. If resources are always available in unlimited quantities, then a project's critical chain is identical to its critical path.

The main features that distinguish Critical Chain from Critical Path are:

Resources are required to be flexible in start times, and be able to quickly switch between tasks and task chains to keep the project on schedule.

Activities are scheduled using the Late Start dates, and their duration is estimated in an aggressive way, padding is forbidden.

Use of (often implicit) resource dependencies. Implicit means that they are not included in the project network, but must be identified by looking at the resource requirements.

Lack of search for an optimum solution. A "good enough" solution is enough because:

there is no analytical method for finding an absolute optimum

the inherent uncertainty in estimates is much greater than the difference between the optimum and near-optimum

Identification and insertion of buffers (project, feeding and resources).

Monitoring project progress by monitoring the consumption rate of the buffers rather than individual task performance to schedule.