This Focused Performance Weblog started life as a "business management blog" containing links and commentary related primarily to organizational effectiveness with a "Theory of Constraints" perspective, but is in the process of evolving towards primary content on interactive and mobile marketing. Think of it as about Focusing marketing messages for enhanced Performance. If you are on an archive page, current postings are found here.

Monday, January 26, 2004

Estimates and Buffers in Critical Chain (Part 2 - Calculating Buffers) -- In the first part of this series, I started with a bit of Critical Chain "buffer basics." Today, we move back a step to describe the various means of sizing these buffers. There are three common methods, all supported in one form or another by most CCPM-friendly project scheduling software solutions...

The earliest proposed method, found in Eli Goldratt's original introductory book Critical Chain, is to take the estimated duration of the chain in question, cut it in half to account for the assumed task-embedded safety, and put half of what was cut back into the promise in the form of a buffer; project buffer if the chain of tasks in question is the project's critical chain, feeding buffers where non-critical chains feed into or merge with the critical chain. This obviously assumes that the original task estimates contain a non-trivial amount of safety within them to start with. For want of a better name, I'll refer to this method of buffer sizing as the "Half the Chain" approach. (The pros and cons of this approach, as well as the others, will be covered in detail in the third part of this series.)

Example of "Half the Chain" -- In a single chain project of ten tasks, with "safe" estimates totaling 200 days, the chain would be cut to 100 days, and half of what was cut -- 50 days -- would be added back as a buffer, for a maximum duration promise of 150 days.

The other two approaches to buffer-sizing start with a 2-point range estimate for project tasks. In both cases, the larger of the two estimates would be a "safe" estimate that the performer would be comfortable committing to, with a confidence level of 80-95% that it will be long enough for the anticipated work. This estimate respects the concerns of the person estimating (and ideally, doing) that anticipated work.

The second estimate is more "aggressive." It is typically described as one with about 50% confidence...half the time it will be beat, half the time it will be missed. I like to ask for an near "best-case" situation when soliciting this smaller estimate, suggesting the performer/estimator approach it with the assumptions that it is the only thing they are working on, that they are protected from interruptions, that all their inputs are ready and of good quality, that their boss is on vacation during the work, and that the task is done with minimal problems. It should be short enough that they're not really comfortable with it as a commitment, but long enough to allow them to consider striving for it (and not just blow it off).

(Note: Some Critical Chain practitioners are uncomfortable characterizing the smaller estimate as "aggressive." Given it's typically median position in the range of confidence levels, they prefer to refer to it as an "average" or "expected" time. All things being equal, I would agree, but all things aren't necessarily equal. I like the "aggressive" nomenclature due to the fact that in overcoming the memory of performance hindered by Parkinson's Law and multi-tasking, the historical "average" times can also be equated too closely with longer estimates as "safe" self-fulfilling prophecies of their experience. Also, considering the common and long-standing use of estimates as commitments, the "average" times that we are looking for are indeed "aggressive.")

It is not uncommon that the ratio of these "safe" and "aggressive" estimates is 2:1 or greater. (That said, if there is no real uncertainty associated with the task in question, they could also be very close, or even equal.)

As I said, the other two approaches to buffer sizing start with these "safe" and "aggressive" estimates. The most common approach is the "Half the Safety" approach. The project network is built and leveled using the smaller, "aggressive" estimates and buffers are sized with half of the difference between the sum of the two estimates for the chain of tasks in question.

Example of "Half the Safety" -- In our previous single chain project of ten tasks, with "safe" estimates totaling 200 days, the solicitation of the "aggressive" estimates result in a total chain length of 90 days.

The safety associated with this chain is 110 days of the 200. With the chain sized based on the "aggressive" 90 days, the buffer is added as half of the safety removed (55 days), for a total maximum duration promise of 145 days.

The third approach to buffer sizing is rooted in the statistical justification for why the other approaches provide a "good enough" buffer, and is known as the "Root Square Error," or more commonly, the "Square Root of Sum of Squares" approach (SRSS). It suggests that the minimum buffer size for a set of tasks that have been described by a pair of "safe" and "average/aggressive" estimates can be derived by taking the square root of the sum of the squares of the differences in these estimates. If the safe estimates are in the 90-95% confidence area, then the buffer size derived by this method should provide similar 90-95% confidence for the promise of the chain. Admittedly this approach makes some assumptions about the distribution of uncertainty and independence of the tasks in question, but still provides a mathematically discussable and reasonably "good enough" view of the minimum buffer size one should consider using.

Example of "SRSS" -- In our previous single chain project of ten tasks, with "safe" estimates totaling 200 days, the solicitation of the "aggressive" estimates result in a total chain length of 90 days.

With the chain sized based on the "aggressive" 90 days, the buffer is added as the square root of the sum of the squares of the differences (37 days), for a total maximum duration promise of 127 days.

The first two methods in the example suggest 50 and 55 days for buffer size (well within the "noise" for total project promises of 150 and 145 days), while the SRSS formula provides a suggested minimum buffer of 37 days for a 127 day schedule. The implications, pros, and cons of these methods will be discussed in the next part of this series.