Theory of Constraints Handbook - James Cox Iii [50]
Step 4 results in the insertion of the project buffer. The size of the buffer, technically, is half the number of time units (days in this example) of safety that were removed from the activities that comprise the Critical Chain. Most practitioners understand that it is half the total length of the Critical Chain. The project buffer is placed at the end of the Critical Chain, thus pushing the end date past the apparent end point of the last task.
Figure 3-4 demonstrates the first four steps in CC scheduling: (1) using shortened or dedicated task times, (2) resource leveling, (3) the identification of the Critical Chain, and (4) insertion of the project buffer. The Critical Chain is identified with white stars beside the task identifications in Fig. 3-4.
Note that the project buffer in Fig. 3-4 (Step 4) has no task or resource assigned. The project buffer can be used to manage the time lost in those tasks that do not complete in their shortened (dedicated) time. Rather than having safety in individual tasks where it may not be required (and typically is wasted due to the student syndrome, sandbagging, and Parkinson’s Law), the project buffer protects completion of the project. Note also that we have rescheduled the lower chain of tasks in Fig. 3-4 to start as late as possible without encountering resource contention on Tasks F and H.
The project is now scheduled to complete in 78 days, but there are several more steps. Remember that software is available to perform these steps.
In terms of the TOC Five Focusing Steps (5FS), the CCPM scheduling Steps 1, 2, 3, and 4 would be the TOC focusing Step 1 (identify the constraint) and Step 2 (exploit the constraint).
FIGURE 3-4 Critical Chain incomplete project schedule with only a project buffer.
Merging Paths—Step 5
When non-Critical Chains of dependent activities that merge into the Critical Chain encounter problems, the entire project can be delayed. To provide protection for such possibilities, feeding buffers, Step 5 should be added at the end of each non-critical path at the point where it joins the Critical Chain. Like the project buffer, feeding buffers are blocks of time that do not have assigned tasks or resources.
The size of these buffers is determined using the same logic as with the project buffer. The general rule is to use half of the total estimated, reduced task times of each feeding path. If the feeding path contains a Critical Chain task, the Critical Chain task is excluded from the calculation because the project buffer already protects it. Figure 3-5 illustrates the placement and size of the feeding buffers for our sample project schedule. The feeding buffer for the upper chain (5 days) is half of the time scheduled for Tasks F and G (10 days). The feeding buffer for the lower chain (7 days) is half of the time scheduled for Tasks H and I (14 days).
Figure 3-5 exhibits two important phenomena unique to CC. Notice first that Task A is not on the Critical Chain, but is a predecessor activity for Task B. Since Task A is a 12-day task, it should have a 6-day feeding buffer. However, that amount of buffer would push the start of Task A to 4 days earlier than the start of the Critical Chain, which is illogical even if possible. Therefore, a dark line in the 6-day feeding buffer denotes the fact that 4 days of the 6-day buffer are consumed before the project begins. Some CC scheduling tools add the “days earlier” to the project buffer for additional protection, others simply register the fact that one of the buffers has already been partially consumed, and others push everything out to make room for the buffer. For this example, 4 days have been added to the project buffer, increasing it from 26 to 30 days.
A second item to note is the apparent violation of the practice of starting all tasks as late as possible. In this case, the PM has decided that because Resource 3 on Task I has the possibility of delaying the start of Task C on the CC if Task H and I are delayed more than a total of six