勘と経験と読経

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

複雑なシステムはどのようにして失敗するのか(How Complex Systems Fail)

How Complex Systems Fail – Perspectives の記事で紹介されていた「複雑なシステムはどのようにして失敗するのか(How Complex Systems Fail)」という論考が興味深かったので紹介する記事。

詳細はリンク先のPDF参照だが、紹介されている18条だけ簡単に紹介しておく(DeepL翻訳)。

  1. 複雑なシステムは本質的に危険なシステムである
  2. 複雑なシステムは故障に対して重く、うまく防御されています
  3. 大災害は複数の失敗を必要とする - 一点の失敗では十分ではない
  4. 複雑なシステムには、その中に潜んでいる欠陥の変化する混合物が含まれています
  5. 複雑なシステムは劣化モードで動作する
  6. 破局は常に角を曲がったところにある
  7. 事故後の事故を「根本原因」に帰属させることは根本的に間違っている
  8. 事故後の人間のパフォーマンスの評価に後知恵のバイアスがかかる
  9. 人間のオペレータには二重の役割がある: 生産者として & 失敗に対する防御者として
  10. すべての実務家の行動はギャンブルである
  11. 先端の行動がすべての曖昧さを解決する
  12. 人間の実務家は複雑なシステムの適応要素である
  13. 複雑なシステムにおける人間の専門知識は常に変化する
  14. 変化は新しい形態の故障を導入する
  15. 「原因」の見解は、将来の事象に対する防御の有効性を制限する
  16. 安全はシステムの特性であって、コンポーネントの特性ではない
  17. 人は継続的に安全を創造する
  18. 失敗のない運用には失敗の経験が必要である

論考の著者であるRichard Cook氏は医療事故、複雑なシステム障害、そしてこれらのシステムの頂点に立つ人間のパフォーマンスに関する第一人者だそうだ。主な著作は以下。

しかし、著者は異なるのだけれども、日本語だとこの本に書かれている内容とだいぶ重なっている印象である。複雑系と密結合によって誕生したシステムがどのように問題を発生させるかが論じられた良書だと思う。