勘と経験と読経

略すとKKD。ソフトウェア開発やITプロジェクトマネジメントに関するあれこれ。

腐ったリンゴ理論/ヒューマンエラーを理解する

DevOps関連の書籍(DevOps HandbookやEffective DevOpsなど)やPostmortem関連の記事でよく引用されている書籍「ヒューマンエラーを理解する―実務者のためのフィールドガイド」について調べたメモ。

ヒューマンエラーを理解する―実務者のためのフィールドガイド

ヒューマンエラーを理解する―実務者のためのフィールドガイド

The Field Guide to Understanding 'Human Error' (English Edition)

The Field Guide to Understanding 'Human Error' (English Edition)

Bad apples

安全尊重の文化

DevOps推進の文脈でよく出る話が、安全尊重の文化である。そしてこの安全を議論する上で避けて通れないのが「ヒューマンエラー」の誤用である。
例えば「The DevOps ハンドブック 理論・原則・実践のすべて」では次のように記載されている。

4.1 組織的な学習と安全尊重の文化を生み出す
複雑なシステムのなかで働くときには、定義上、自分の行動の結果をすべて完全に予測することは不可能である。そのため、たとえ事前に準備し、注意して仕事を進めても、日常業務のなかで予想外の結果が起きたりすることがある。
こういった事故が顧客に影響を起こしたときには、なぜそのようなことが起きたかを知ろうとする。根本原因はヒューマンエラーだと見なされることが多く、そうすると、管理者たちは問題の原因を作った者を特定し、非難し、恥辱を与えるという反応をとりがちだ。そして公然とそうでなくても、管理者たちはミスを犯した人物を処罰することをほのめかす。そして、ミスの再発を防ぐために、プロセスや承認を増やす。

「ヒューマンエラーを理解する―実務者のためのフィールドガイド」はまさにこの問題について書かれた良書のようだ。「The DevOps ハンドブック 理論・原則・実践のすべて」だけでなく、目につく範囲では

など、繰り返し紹介されている。

冒頭で紹介した通り翻訳書もあるのだが、調べてみるとlearning.oreilly.comで原著にアクセスできるようなのでちょっと読んでみた。

腐ったリンゴ理論

「ヒューマンエラーを理解する―実務者のためのフィールドガイド」では、ヒューマンエラーについて「以前の考え方(Old View)あるいは腐ったリンゴ理論」と「新しい考え方(New View)」を提示している。具体的には次のような対比になっている。

以前の考え方(腐ったリンゴ理論) 新しい考え方
「ヒューマンエラー」はトラブルの原因です 私たちが「ヒューマンエラー」と呼んでいるのは、より深いトラブルの兆候です
「ヒューマンエラー」は恐れられ、戦われるべき独立した行動のカテゴリーです。 「ヒューマンエラー」は帰属、事実の後に我々が下す判断です
「ヒューマンエラー」がターゲットです。人々の行動は私たちがコントロールする必要がある問題です 行動は、人々のツール、タスク、および動作環境の機能に体系的に関連しています
「ヒューマンエラー」は戦争を宣言するためのものです。人々は完璧を練習する必要があります 「ヒューマンエラー」とは、複雑さや実際の仕事の矛盾に人々がどのように対処したか(成功したかどうか)についての情報です
「ヒューマンエラー」は単純な問題です。すべてのシステムが整ったら、人々に注意を向けさせ、順守させます 「ヒューマンエラー」問題は、それを作成するのを助ける組織と少なくとも同じくらい複雑です
より厳格な手順、コンプライアンス、技術、監督により、私たちは「ヒューマンエラー」の問題を減らすことができます 人々の日々の仕事の厄介な詳細をよりよく理解することで、我々は彼らにとってそれをより良くする方法を見つけることができます
私たちは、ゼロエラー、ゼロ傷害、ゼロ事故を達成することができ、そして達成しなければなりません 私たちは人や組織の回復力を高めることができますし、しなければなりません

つまり、腐ったリンゴ理論とは「システムが正しく動いているのならば、腐ったリンゴおよびそこから生じる過ちを全て除去すれば良い」という考え方である。そしてこの考え方は現代の複雑な仕事やシステムには通用しない、というのはエンジニアのみなさんであればご存知の通り(そして常に「古い見方」をする敵に悩まされる)

なお、同書では(改めてみればあたりまえの)以下のような指摘などがされている

  • 腐ったリンゴ理論は有用性に限界があるだけでなく、逆効果になる可能性がある
  • 腐ったリンゴ理論から生み出される拙速な対策(関係者の懲戒、再訓練、手続きの追加など)は組織の学習を阻害し、生産性を悪化させ、かつ対策としても不十分となる

また、同書では航空業界などの様々なトラブル事例分析も添えて、具体的なヒューマンエラーの分析などについて記されているようだ。いつかちゃんと読みたいが、とりあえず今回はこんなところで。