46 lines
7.9 KiB
HTML
46 lines
7.9 KiB
HTML
<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta charset=utf-8><title>Root Cause Analysis as Storytelling - michaelnygard.com</title>
|
|
<meta content='Root Cause Analysis as Storytelling - michaelnygard.com' property='title'><meta content='Root Cause Analysis as Storytelling - michaelnygard.com' property='og:title'><meta property="og:description" content="Humans are great storytellers and even better story-listeners. We love to hear stories so much that when there aren't any available, we make them up on our own. From an early age, children grasp the idea of narrative. Even if they don't understand the forms of storytelling so much, you can hear a four-year-old weave a linked list of events from her day. We look for stories behind everything. At a deep level, we want the world's events to mean something."><meta property="og:type" content="article"><meta property="og:url" content="https://michaelnygard.com/blog/2017/11/root-cause-analysis-as-storytelling/"><meta property="article:published_time" content="2017-11-08T17:01:06-06:00"><meta property="article:modified_time" content="2017-11-08T17:01:06-06:00"><meta property="article:section" content="blog"><meta name=generator content="Hugo 0.123.7"><link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600" rel=stylesheet><style type=text/css>:root{--main-color:#8C6056;--secondary-color:#AFD5AA;--logo-text-color:#fff;--body-text-color:#3d3d3d;--heading-text-color:#383838;--background-color:#fff}</style><link href=/css/tachyons.min.css rel=stylesheet><link href=/css/styles.css rel=stylesheet><link rel=icon href=/favicon.ico type=image/x-icon><script id=MathJax-script async src=https://cdn.jsdelivr.net/npm/mathjax@4/tex-mml-chtml.js></script><script>MathJax={tex:{displayMath:[["\\[","\\]"],["$$","$$"]],inlineMath:[["\\(","\\)"]]},loader:{load:["ui/safe"]}}</script></head><body class=global-font><nav class="justify-between border-box pa3 pl3-l pr2-l mt1 mt0-ns" id=navbar><div class=flex><a class="f4 fw6 ttu no-underline dim bg-main-color pv1 ph2 br2" id=site-title href=/ title=Home>michaelnygard.com</a></div></nav><main class="center mv4 content-width ph3"><div class="f3 fw6 heading-color heading-font post-title">Root Cause Analysis as Storytelling</div><p class="silver f6 mt1 mb4 post-meta">Posted on <time>08 Nov 2017</time></p><div class="lh-copy post-content"><p>Humans are great storytellers and even better story-listeners. We love
|
|
to hear stories so much that when there aren't any available, we make
|
|
them up on our own.</p><p>From an early age, children grasp the idea of narrative. Even if they
|
|
don't understand the forms of storytelling so much, you can hear a
|
|
four-year-old weave a linked list of events from her day.</p><p>We look for stories behind everything. At a deep level, we want the
|
|
world's events to <span class=underline>mean</span> something. Effect follows cause, and causes
|
|
have an actor to set them in motion.</p><p>Our sense of balance also demands that large effects should have large
|
|
causes, with correspondingly large intent.</p><p>A drunk driver speeds through a red light, oblivious. A crossing car stops
|
|
short. The shaken driver creeps home with a pounding pulse, full of
|
|
queasy adrenaline. She unbuckles her daughter and hugs her tightly.</p><p>A drunk driver speeds through a red light, oblivious. A crossing car
|
|
is in the intersection. The drunk smashes into it, right at the
|
|
drivers' side door. The woman's bloody face is hidden behind
|
|
airbags. Her daughter sits in her new wheelchair for her mother's
|
|
funeral.</p><p>The difference between those stories is a matter of a split second in
|
|
timing. There is absolutely no change in the motives or desires of
|
|
anyone in the two vignettes. The first drunk, if caught, would get a
|
|
jail term and large fine. He would probably lose his driver's
|
|
license.</p><p>But most people would judge the motives of the second driver far more
|
|
harshly. They would condemn him to a lengthy prison term and a
|
|
lifetime ban on driving.</p><p>When we see a large effect, we expect a large cause, with a large
|
|
intent.</p><p>The idea that some vast, horrible events strike randomly fills us with
|
|
dread. People can't bear the thought that a single unbalanced
|
|
<span class=underline>nobody</span> can change the course of a nation's history with one rifle
|
|
shot, so they spend more than 50 years searching for "the truth."</p><p>"Root Cause Analysis" expresses a desire for narrative. With the power
|
|
of hindsight, we want to find out what went wrong, who did it, and how
|
|
we can make sure it never happens again. But because we have the
|
|
posterior event, we judge the prior probabilities differently. Any
|
|
anomaly or blip suddenly becomes suspect.</p><p>People don't look as hard at anomalies when <span class=underline>nothing bad</span>
|
|
happens.</p><p>They don't notice all the times the same weird log message pops up
|
|
before … everything continues as normal.</p><p>When we look for "root cause," what we are really trying to discern is
|
|
not "what made this happen." We are looking for something that would
|
|
have stopped it from happening. We are building a counterfactual
|
|
narrative—an alternate history—where that drunk driver dropped his
|
|
keys in the parking lot and was thereby delayed a few crucial
|
|
seconds.</p><p>Peel back the surface on a root cause analysis and you almost always
|
|
see a formula that goes like this: "factor X" could have prevented
|
|
this. "Factor X" was not present, therefore the bad event happened.</p><p>The catch is that there is usually an endless variety of possible
|
|
counterfactuals. Often, more than one counterfactual narrative would
|
|
have prevented the bad outcome equally well. Which one was the root
|
|
cause? Non-existence of "factor X" or non-existence of "factor Y?"</p><p>Next time you have a bad incident, why not try to focus your efforts
|
|
in a different way? Work on learning from the times that things
|
|
<span class=underline>don't</span> go wrong. And be explicit about looking for <span class=underline>many</span> possible
|
|
interventions that would have prevented the problem. Then select ones
|
|
with broad ability to prevent or impede many different problems.</p></div></main><div class="pagination tc tr-l db fixed-l bottom-2-l right-2-l mb3 mb0-l"><a id=scroll-to-top class="f6 o-0 link br2 ph2 pv1 mb1 bg-main-color pointer" onclick=topFunction() style="color:#fff;visibility:hidden;display:none;transition:opacity .5s,visibility .5s" title="back to top">back to top</a><br><p class="mb0 mt2"><a href=https://michaelnygard.com/blog/2017/08/release-it-second-edition-in-beta/>prev post</a>
|
|
<a href=https://michaelnygard.com/blog/2017/11/keep-em-separated/>next post</a></p></div><footer class="content-width mt0 mt5-l mb4 f6 center ph3 gray tc tl-l"><hr class="dn db-l ml0-l gray w3"><br>Powered by <a href=https://gohugo.io/ target=_blank class="link gray dim">Hugo</a>, based on the <a href=https://github.com/lingxz/er target=_blank class="link gray dim">Er</a> theme.<br>Copyright (c) 2002 - 2026 Michael T. Nygard</footer><script type=text/javascript>var prevScrollpos=window.pageYOffset;window.onscroll=function(){var e=window.pageYOffset;document.getElementById("tag-cloud")!==null&&(prevScrollpos>e?(document.getElementById("tag-cloud").style.visibility="visible",document.getElementById("tag-cloud").style.opacity="1"):(document.getElementById("tag-cloud").style.visibility="hidden",document.getElementById("tag-cloud").style.opacity="0")),document.body.scrollTop>1e3||document.documentElement.scrollTop>1e3?(document.getElementById("scroll-to-top").style.display="inline",document.getElementById("scroll-to-top").style.visibility="visible",document.getElementById("scroll-to-top").style.opacity="1"):(document.getElementById("scroll-to-top").style.visibility="hidden",document.getElementById("scroll-to-top").style.opacity="0"),prevScrollpos=e};function topFunction(){document.body.scrollTop=0,document.documentElement.scrollTop=0}</script></body></html> |