Root Cause Analysis

Mark Kampe
$Id: rootcause.html 150 2007-11-20 01:59:42Z Mark $

You find a bug, you fix it, and you move on to the next bug. Right? What do you do if you figure out that most of your bugs are coming from a single person? Wouldn't it be more efficient to fix the broken person than to continue fixing their bugs?

Root Cause Analysis is a critical element of most continuous improvement methodologies. A few notions underlie this process:

There are many approaches to root cause analysis. Some (e.g. 6 Sigma) are rich formal methodologies, while others (e.g. 5 Whys) are simple enough to be driven by a two-year old. Most of them, however, involve:

A root cause might be in our process, our materials, the training of our people, the type of product we are building, the way we identify potential customers, or any other aspect of our operation. Root cause analysis does not presume where the roots of the problem will be found.

We might, for example, start with the observation that we are having a great many security penetration incidents.

We might consider the last few of these to be root causes of hundreds of penetration bugs. Once we have identified a few causes that explain a large number of problems, we can set about attacking those causes:

Sometimes, as Sigmund Freud once conceded, a cigar is just a cigar. We should, however, stop periodically, look at what we are doing, and attempt to ascertain whether some of the problems we are fighting might more effectively be addressed closer to the source.