Critical Chain Scheduling

Critical Chain Scheduling

Up to now, we have talked only about the classical project management scheduling techniques (PERT, CPM, PDM, etc). Now that you have grounding in what "classical PM" is all about, let's consider some recent thinking in the scheduling field. Since the 1950s when PERT and CPM were introduced, there really weren't any major new developments in scheduling technology until 1997, when Dr. Eliyahu Goldratt applied his theory of constraints (TOC) to the practice of project management producing a book called Critical Chain.

TOC is a way of thinking and problem solving similar to TQM, and is applicable to just about any discipline. It is derived from systems theory, and from the knowledge that all systems have constraints within them. The trick is to identify the constraints and arrange the system to concentrate on and exploit the constraints in any way possible, thereby reducing the constraints and improving the whole system. There are five steps to Goldratt's TOC focusing method:

1.    Identify the system's constraints.
2.    Decide how to exploit the system's constraints.
3.    Subordinate everything else to the above decision.
4.    Elevate the system's constraints.
5.    If a constraint has been broken, go back to Step 1.

The idea is to focus on increasing the throughput of the total system by reducing work-in-process (WIP) and operating expense (the cost of running the system). Goldratt makes much of the fact that most of us concentrate on optimizing the pieces of a system, and not the system itself. He faults our accounting conventions for treating inventories (WIP) as assets, when in fact they are big liabilities because they decrease throughput. The manufacturing improvement concepts of "just-in-time" production introduced in the 1980s are a reflection of that fact. He also faults many production optimization techniques like manufacturing requirements planning (MRP) and line-balancing for focusing on local optimizations at the expense of the total system's throughput.

Goldratt's theory of constraints was introduced in 1984 in a book called The Goal, where he applied it to a factory production situation. The book was very well received as it was written like a novel instead of a textbook or theory paper. In 1990, he wrote the Theory of Constraints to detail the principles of the theory.

In 1997, Goldratt wrote Critical Chain in which he applied TOC to project management and scheduling. It also is presented as a novel and is easy to read. Others have begun to expand on his writings, such as Robert Newbold's Project Management in the Fast Lane: Applying the Theory of Constraints of 1998.

In Critical Chain, Goldratt says that a project schedule is a lot like a factory, except that a progress line of work is moving through a number of activities, instead of a product being made in a sequence of machines. He explains some common problems with the way project scheduling has been handled in recent years, such as yielding to the student syndrome, and doing too much multitasking to get optimum organizational throughput.

He focuses on handling the uncertainties in any project plan, which is just good risk management, and advocates putting contingency buffers in strategic places in a project schedule.

One main focus is on handling scarce resources. Goldratt observed that an organization is a system, and like every system, it has constraints. In fact, every software development organization seems to have a few bottlenecks, whether they are key technical individuals who seem to have a large role in most of the active projects, or a sub-group such as testing, that paces the total engineering throughout potential of the whole organization. These key constraints tend to be on the critical path in every project they are involved in. If these bottlenecks could be alleviated, then the throughput of the whole organization could be improved.

Identifying key constraining resources (which Goldratt calls "Herbies" after the slowest scout in a Boy Scout troop hiking anecdote mentioned in The Goal), and wrapping the activities around their availability, with appropriate buffers for activities feeding their work, will yield better results than simply trying to schedule all activities to occur as soon as possible (the default scheduling condition in most scheduling tools today).

Goldratt's approach is to construct a project schedule from the final end deliverable backwards toward the beginning of the project, focusing on utilizing the "Herbies" as efficiently as possible, even if it means others in the organization might be idle for a time. He argues that it is better for them to be idle, and be ready to perform when the "Herbie" is ready and available, than to get involved in something else, possibly causing a slip in a critical path activity. Goldratt calls the chain of activities where "Herbies" are involved, the "Critical Chain", noting that it is OK for certain machines in a factory line to be idle, as long as the pace of the constraining machine remains optimized.

Figure 1 shows how a critical chain schedule might look. In this project, the critical chain is indicated as a heavy line through numerous activities and stops at the Early Finish Date (it does not go through the project buffer). Some of these activities have been identified as critical through a CPM analysis, and some are critical because the resource required for them demands it. For example, the resource required for 1B, 2B, and 3B is the same, so those activities cannot be done at the same time. CPM analysis would not have them on the critical path. Instead, these resource-constrained activities are shown serially, with a special buffer in front of them. These "feeding buffers" are designed to protect the critical chain activities from slippage of the preceding activities (1C, 2A, and 3A) due to student syndrome or the uncertainty of the future. If they do slip, there should be some time to absorb the slippage before their output is required for the critical chain activity, else a non-critical activity might cause the whole project schedule to slip.

Critical Chain Schedule Construction

It is important to understand that the critical path and the critical chain are not the same thing. The critical path is the longest path through the network when only activities are considered. A critical chain is the longest path through the network considering both activities and resources.

Buffer sizing and management are important issues in critical chain scheduling. How big should a buffer be? The general guideline is to make them 50 percent of the total time for all the preceding activities that they buffer, if those activities were estimated with only a 50 percent probability of achievement. If the probability for each activity was conservatively estimated at closer to 95 percent, then the buffers should be much smaller, around 5 percent. Remember, the purpose of the buffers is to absorb the inevitable uncertainty of planning future events. The more of it that you can manage at the feeding and project levels, the better the project can control deliverable dates. We'll look at how to use these buffers for monitoring and controlling the project in Project Tracking and Control.

Goldratt's techniques are not new, but his fresh approach to the common problems we see today has breathed new life into how we view activity scheduling with constrained resources. He focuses us on the resource-constrained schedule instead of the activity-constrained schedule, and on uncertainty management (buffer placement) - the right places to focus for optimum project throughput.

Unluckily, most PM tools today don't understand uncertainty very well. PERT incorporates a probability distribution around any task due date, but the computations get very messy in a large schedule, so PM tools generally use CPM instead (fixed task estimates). Neither incorporates the concept of resource constraints very much, or the use of buffer management to handle uncertainties. Only a few tools are emerging to focus on the CPM ideas of the critical chain and buffer management. See the Web resources in Considering Dependencies for links to some of these.

On the other hand, you can unambiguously handle uncertainty in your project schedule by inserting buffers as activities at strategic points. Figure 2 illustrates one possibility for inserting buffers at the ends of major work stages.

Critical Chain Schedule Constructiion


toc, buffer sizing, project schedule, chain schedule
The contents available on this website are copyrighted by TechPlus unless otherwise indicated. All rights are reserved by TechPlus, and content may not be reproduced, published, or transferred in any form or by any means, except with the prior written permission of TechPlus.
Copyright 2018 SPMInfoBlog.
Designed by TechPlus