In recent years Eliyahu M. Goldratt has developed several interesting ideas about project management. One of the more controversial ideas is his theory of critical chains. This is a method of adjusting schedules to reduce the probability of projects being late.
Using the critical chain theory involves delaying activities’ schedules until the activities are scheduled close to their late schedule instead of being scheduled to their early schedule as is traditionally done in scheduling projects. Because the late schedule essentially places all of the activities on the critical path, a buffer is placed into the schedule to allow delays in the project activities without delaying past the promised project completion date.
According to Goldratt, delaying the work of the project to more closely follow the late schedule has the advantage of allowing the project team to learn from the experience and knowledge gained in doing other parts of the project.
Tell me more …
Traditionally, project schedules have four dates associated with each activity: early start, early finish, late start, and late finish. Most project managers use the early schedule dates to schedule their projects. This means that if all the activity work takes place in the early starts and early finish dates, that work is done as soon as possible. It also means that if anything goes wrong, there will be the maximum amount of time available to do the work needed to recover from the problem.
As we saw in our discussion on buffered schedules earlier in this chapter, scheduling without buffer and using the project activity’s most likely durations can have a 50 percent probability of completing the project on the promise date. It made sense to buffer the project completion by two standard deviations and create a promise date that was two standard deviations later than the promise date predicted by the most likely durations.
Goldratt goes one step further in buffering schedules. Most schedules that we see in discussions like this one or in classroom situations are rather simple in comparison to real project schedules. One of the ways they differ is in the magnitude of float. In sample projects, for convenience, examples are given with relatively few activities and short, easy to understand schedules. In reality project schedules are longer and more complicated and frequently have large amounts of float in many activities. In fact, normal projects will have more activities off the critical path than on it. For this reason we need to pay more attention to the activities that are not on the critical path.
To use Goldratt’s terminology, a project schedule has critical and noncritical chains of activities. The critical chain of activities is the traditional critical path but includes the effect of resources on the schedule. This means that the critical chain is the list of activities that have no float after any resource conflicts have been resolved. This is really the definition of the critical path as it is normally used. It is somewhat misleading that nearly all of the examples, including ours, calculate the critical path without showing the effect of resource conflicts.
All the activities in the project that are not on the critical chain are, by definition, noncritical activities and have some float associated with them. In real projects these activities tend to group themselves together to form subprojects within the project. These are what Goldratt calls "feeder chains". The characteristic is that the feeder chains are relatively independent of the critical chain until an activity on the critical chain depends on them. In FEEDER CHAINS AND CRITICAL CHAINS, feeder chain A, B, C, D has quite a lot of independence until the time activity P on the critical chain depends on it. The same is true of other feeder chains.
The other important point here is that the feeder chains in real projects frequently have large amounts of float as well. As projects grow, it becomes more likely that there will be groups of activities that can be thought of as subprojects. These groupings of activities are not likely to take as long as the activities on the critical chain and will therefore have considerable amounts of float.
If the feeder chains are scheduled to their early schedule dates, early starts, and early finishes, there is a disadvantage. The disadvantage is that if changes in requirements, risks, or other problems occur in the project, much of the work in the feeder chains will already be done and will have to be ripped out. This problem can be at least partially avoided by scheduling the feeder chains more toward their late schedule. Delaying the schedule of the feeder chains will also let us take advantage of lessons learned on the critical chain activities. These can be applied to the feeder chain activities.
Of course, if the feeder chains are scheduled to their late schedule dates, this essentially puts all the feeder chain activities onto the critical path. Remembering what critical path really means, the feeder chain activities will cause a delay in the project completion date if they are delayed. We don’t want this, so we need to apply buffers as well.
To set our schedule correctly, taking all of these factors into consideration, we need to do the following:
- Calculate the critical chain of the project after resolving resource conflicts and all of the resource and other schedule constraints.
- Buffer the critical path by calculating a two standard deviation buffer and applying it by starting the project earlier than the early start date or promising the stakeholders a project completion date later than the early finish date of the project.
- Group the feeder chain activities into feeder chains.
- Calculate the two standard deviation buffer for the feeder chain and schedule the activities in the feeder chain according to their late schedule dates minus their buffer.
By scheduling this way the feeder chains have a 95 percent probability of being completed within their buffered schedule and not affecting the critical chain activities. The critical chain activities are also buffered so that the probability of missing the buffered promise date of the project completion is 95 percent.