Root Cause Analysis

From CitconWiki
Revision as of 17:48, 20 November 2011 by Squirrel (talk | contribs) (→‎Questions and Comments)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

09:00 on Saturday, Nov 12, 2011 morning in Space Invaders (the big room)

Squirrel has slides on how to go about doing a root cause analysis (PJ reminder: get the slides from Squirrel to attach to the wiki) (Squirrel: I can't figure out how to attach the slides. Help! In the meantime, you can watch a video that contains the slides.)

"Rules" for root-cause analyses

Really suggestions for discussion. This is how TIM Group do root-cause analyses (RCAs for short).

Target a specific event

If you want to complete the analysis in a short meeting (30-60 minutes) it's best to focus on a specific recent event, such as a production bug or outage. Good to understand what the level of pain is. One person said he had seen a root cause analysis on a "big" event or series of events completed over time (it took a month and was part of a master's thesis).

Everyone affected attends

The "feature" team attends (typically developers) as well as senior managers and representatives from other areas of the business, e.g. client support or operations. Not always feasible to get "everyone" in the room. One technique is to give them results and tasks from an RCA they did not show up for. You can't assign actions to someone not in the room though, so you have to do something like "visit X daily for a week to ensure she does Y".

No blame

Some participants may tend toward blame, depending on your company culture. Need to set it up ahead of time to avoid blame - "inoculate" people against blame with a discussion at the beginning of the session. A related anti-pattern: as long as it isn't MY discipline, then I have gotten what I want out of this session and I don't have to do anything else.

Poll to identify problems

Go around entire room and ask "Please list all the problems event X caused". OK if others have said your items - this naturally happens. The poll ensures everyone gets a say and no one is left out. Other methods include private ballots on post-its or email solicitation. Try to avoid proxies. Get the right people in the room (see above).

Write a lot

When not sure what to do, write! Want to fill the board, and capture all the ideas. OK to have many whys for one item - rare that there is a single chain of whys.

Move down then across

Ask why again and again. People will resist going to the fifth why (it may actually take more). Write down items not in current why chain and promise to return to them later (be sure you actually do so to build trust). Push to get to a cultural or training issue.

If it doesn't hurt, then you aren't doing it right

Typically a big pause before someone says, "Well, maybe it's that we don't value testing highly enough" or something like that. Wait for the pause and let them squirm.

Proportionate tasks

If you are re-writing your entire app because of 3 minutes of down time, then you are not doing the right thing. It's OK to do part of a task ("Write the outline of a training programme for new sysadmins on our Puppet setup and add to induction wiki page") - if the problem occurs again, you can do the next step ("Fill in the deployment section of the outline").

All tasks done in a week

Identify tasks at many levels of the why chain (not just at the fifth why). Every task agreed to:

1) Has to be do-able in one week
2) Has to actually be done in one week

Someone (typically the one running the RCA) has to chase this to ensure it happens. Keeping to one week helps ensure proportionality and completion.

Questions and Comments

How does this compare to retrospectives? Retros are related to teams, the pain is more direct

Other techniques for NOT losing focus? Keep it short term. The next root cause analysis might highlight the "next" step, but for now, "all we have to do now is take this first step"

Vote every day on actions from retrospectives to determine whether or not they are being actioned. Smiley faces or sad faces depending on votes

Bickering can be a problem. Having a senior person present helps defuse these types of arguments.

Good article on what to avoid in an RCA (above process is designed to avoid most of these errors): Cult of the Root Cause by Don Reintertsen.

RCA for Funny Video

  • Building snowmen
  • Squirrel divided up the group into two: Wallace & Gromit
  • Squirrel: Did anyone take a photo of the board? Would be good to include here (sorry I didn't think of it).

Bad things that happened

  • Snowman destroyed - lost good snowman
  • Wallace covered in snowman
  • Got a cold
  • Wasted Gromit time and unhappy

Lost good snowman

  • in wrong place (wallace's garden)
  • Wallace inconsiderate?
  • Couldn't see - didn't look - Hard to look - Van too big - Wanted impressive snowman -

30 to 60 second pause is "good" (it has to hurt a little)

Worked down to Competition and Dog Can't Talk at end of 7 whys

Actions

  • Video, Mirrors, Reverse warning
  • Lightning talk on snowman
  • Board Agenda: Profit Sharing
  • Daily meetings (standups), Sign language classes for gromit

(take volunteers for each action)