What We’re Talking About When We Talk About “Root Cause”
The concept of “root cause” has come under a lot of stress in certain parts of the software industry. For instance, take this blog post by Lorin Hochstein from 2021: Root cause of failure, root cause of success.
Lorin notes that what people seem to mean when they talk about searching for or identifying the “root cause” of an issue some event that triggered a change in the system’s quality. He likens it to rolling a boulder up hill. Once there that precariously perched boulder, teetering upon some supports, is hit by a ball. That projectile upsets the tenuous balance and the boulder tumbles; the impact from the ball was the “root cause.”
Further along Lorin points out that it’s really people who provide the support, whether that’s by immediately holding the boulder or by keeping tools in sufficient condition to do so. (It doesn’t have to be people - other organic beings can do something similar - but we’ll go along with it.) “Hail the Maintainers” indeed. (Buy the book)
That effort to control the boulder and keep it in position is, in fact, a result of many efforts large and small. There are constant tremors and gusts and more subtle shifts that keep the boulder from standing perfectly still. Sustaining that position means attaining homeostasis, or keeping it in a state of dynamic stability. Because of the dynamism all of the supports must adjust to its changes and retain structural integrity amongst themselves through space and time. In this way “responsibility” is spread throughout the whole of the supporting structure and amongst all the people. It’s impersonal - fundamentally not isolatable.
So it seems we can’t pinpoint a specific thing “at fault” to call the root cause. Yet we can and do talk about “root cause.” The ball hit a support, artificial or otherwise, and caused it to fail and thus boulder to fall.
So “root cause” here is an event which it is determine is the one which caused the boulder to lose homeostasis. More particularly it’s to go beyond some acceptable boundary. We know this because we already determined that the boulder wasn’t perfectly still but was jostling around; just not enough to bother us. Therefore we can say that the “root cause” is where the dynamic stability of the boulder went from acceptable to unacceptable.
And with that we’re in a position to understand what we’re talking about when we talk about “root cause.” We’re talking about our values. Going from acceptable to unacceptable implies a Before and an After, turning upon a significant point. And significance is precisely within the axiological domain. It’s a revealing of preferences.
So don’t ever make the mistake of believing that their “root cause” is some disinterested, value-neutral determination. Instead, take it as a revealing of their preferences and information about them. That will, I expect, prove much more useful in your endeavors.