# 動的安全モデル (Dynamic Safety Model)
## 定義
動的安全モデルは、Jens Rasmussen の Dynamic Safety Model(Rasmussen, "Risk Management in a Dynamic Society," *Safety Science* 27(2-3), 1997)をソフトウェアエンジニアリングの文脈に応用したモデルである。経済性(Economics)・ワークロード(Workload)・安全性(Safety)という3つの特性にゴムバンドでくくりつけられたエンジニアを思い浮かべる比喩で表され、エンジニアは勤務中ゴムバンドの範囲内を自由に動き回れるが、いずれかの特性から遠ざかりすぎるとゴムバンドが切れてゲームオーバー(インシデント)になる。エンジニアは経済性とワークロードについては暗黙の直感を持ち、自らゴムバンドが切れる境界を越えることはない一方、安全性についてはこの直感を欠いており、視界に入りやすい経済性・ワークロードの最適化にばかり注意が向いた結果、気づかぬうちに安全性の境界へ近づいていく。カオスエンジニアリングは、実験による経験的証拠を通じてこの欠落した安全性の直感を養う一助となる。(Source: [[@2022__OReillyJapan__カオスエンジニアリング - Chapter 2 複雑なシステムの舵を取る]] §2.1-§2.1.3)
## 横断的知見
- **一次資料(2章)は、既に本ページ以外に集約されていた二次資料(『SREの探求』14章)の記述を裏付けると同時に、「なぜ安全性だけが直感を欠くのか」の具体的な理由を補う**: [[カオスエンジニアリング]] ページは既に、Rosenthal が『SREの探求』14章で Rasmussen の経済・ワークロード・安全性という3境界モデルを引き、安全性だけがシグナルを欠くためシステムは無自覚に安全性境界へ漂流すると説明し、Chaos Monkey がこの欠落した安全性シグナルを人為的に生成する仕組みだったと位置づける記述を集約している。原典である本書2章はこの要約をゴムバンドの比喩とともに詳述し、経済性・ワークロードに直感が働く具体的な理由(誰も初出勤日にクラウド上へ100万インスタンスを立ち上げないという常識的なコスト感覚、ラップトップ規模のシステムをデプロイしようとしないという暗黙のワークロード理解)を示す。ただし、なぜ安全性だけが構造的に直感を欠くのかという認識論的な理由そのものには、原典・二次資料のいずれも踏み込んでいない。(Source: [[@2022__OReillyJapan__カオスエンジニアリング - Chapter 2 複雑なシステムの舵を取る]] §2.1.1-§2.1.3, [[@2021__OReillyJapan__SREの探求 - Chapter 14 初めにカオスありき]] §14.4)
- **1章が示す3つの「誰のせいでもない」障害実例は、2章の動的安全モデルによって理論的な説明を与えられる**: 『カオスエンジニアリング』1章は3つの機能停止実例(ビジネスロジック不整合・顧客起点のリトライの嵐・休暇シーズンのコードフリーズ)を通じて、妥当な設計判断をした有能なチームであっても複雑なシステムでは障害が生じ、それは「誰のせいでもない」と3度にわたり結論づける。2章の動的安全モデルは、なぜこれが構造的に起こりうるのかを説明する枠組みを与える——エンジニアは経済性(コスト最適化のスケールダウンポリシー)とワークロード(容量計画)には直感を持つが安全性には直感を持たないため、視界に入りやすい2特性の最適化に無自覚に向かい、安全性の境界へ気づかぬうちに近づいていく。1章の実例(いずれもコスト・容量最適化の観点では合理的だった設計判断)は、2章の枠組みで読み直すと「経済性・ワークロードの最適化に向かった結果、安全性から意図せず遠ざかった」事例として整合的に説明できる。同一書籍内で、1章が現象(なぜ誰のせいでもない障害が起きるか)を提示し、2章がその理論的な機構(なぜ安全性だけ直感が欠けるか)を提示するという役割分担が見える。(Source: [[@2022__OReillyJapan__カオスエンジニアリング - Chapter 1 複雑なシステムとの出会い]] §1.2.1-§1.2.3, [[@2022__OReillyJapan__カオスエンジニアリング - Chapter 2 複雑なシステムの舵を取る]] §2.1.3)
- **10章は動的安全モデルを個々のエンジニアの直感形成の枠組みから、組織そのものが遷移する動的過程へと横滑りさせ、「固体化する(going solid)」という2章未収載の用語を導入する**: 2章(既出)はゴムバンドの比喩で、経済性・ワークロード・安全性という3特性の境界を個々のエンジニアが(意識的・無意識的に)越えないよう振る舞う様を描く。10章の著者 Andy Fleener は同じ Rasmussen の動的安全モデルを引きながら、「成功と失敗を分けるものは、システムの動作点がパフォーマンス障害の境界、いわば転換点を越えるかどうかです」と述べ、Rasmussen 自身がこの転換点を「固体化する(going solid)」と呼んだことを紹介する(原注: R. Cook and J. Rasmussen, "'Going Solid': A Model of System Dynamics and Consequences for Patient Safety," *BMJ Quality and Safety Healthcare*, 14, 2005——2章が引く 1997 年の *Risk Management in a Dynamic Society* とは別の、Rasmussen 本人による 2005 年の姉妹論文)。10章はこのモデルの適用対象を技術システムの設計判断から**組織そのもの**へ広げ、「意識的に自分たちの組織システムの失敗状態を探せば、私たちは境界に慣れ親しむようになる」と述べて、境界を積極的に探索することで境界線を明確化し押しやれると主張する。2章が安全性境界への"直感の欠如"という認知的な問題を扱うのに対し、10章は境界そのものへ意図的に接近する組織的な"実践"を扱っており、同じモデルが認知論(2章)と実践論(10章)という異なる層で使われていることが2ソースを並べて見える。(Source: [[@2022__OReillyJapan__カオスエンジニアリング - Chapter 2 複雑なシステムの舵を取る]] §2.1-§2.1.3, [[@2022__OReillyJapan__カオスエンジニアリング - Chapter 10 人間的なカオス]] §10.2.2)
- **書籍全体の結び(21章)は、2章がゴムバンドの比喩で要約していた Rasmussen の主張を、原文に近い形の直接引用として改めて提示し、"境界の可視化"がもたらす実務上の含意を明示する**: 2章(既出)は Rasmussen のモデルをゴムバンドの比喩で紹介するのみで、Rasmussen 自身の文章そのものは引用しない。21章「おわりに」は同じ Rasmussen 1997 論文("Risk Management in a Dynamic Society")から「リスク管理の改善における最も確実で一般的なアプローチは、安全な操作における境界線を明確に特定し、関係者に見えるようにした上で、境界線への対処のしかたを学ぶ機会を与えることです」という一節を直接引用し、この結論から「インシデントレビューと回復力の特性にコンテキストを与えると、『根本原因』を探したりルールを強制したりするよりも実用主義的で行動に移せる形になる」という実務上の含意を導く。2章が個々のエンジニアの認知(なぜ安全性の直感が欠けるか)を説明する枠組みとして本モデルを提示したのに対し、21章はそれを組織のインシデントレビュー実務(根本原因探索・ルール強制からの転換)に接続し直しており、同一原典を異なる実務的帰結へ展開する使われ方の違いが2章と21章を並べて見える。(Source: [[@2022__OReillyJapan__カオスエンジニアリング - Chapter 2 複雑なシステムの舵を取る]] §2.1-§2.1.3, [[@2022__OReillyJapan__カオスエンジニアリング - Chapter 21 おわりに]])
## 未解決の問い
- なぜ安全性だけが経済性・ワークロードと異なり直感を欠くのか、その認識論的な理由は2章原典・『SREの探求』14章のいずれにも明示されていない。組織的・認知的な要因の分析は他の資料(レジリエンスエンジニアリング文献等)で補えるか。(Source: [[@2022__OReillyJapan__カオスエンジニアリング - Chapter 2 複雑なシステムの舵を取る]] §2.1.3)
- 動的安全モデルの3特性間のトレードオフは定量化可能か。エラーバジェットのように安全性の余裕を数値化する試みは、この3境界モデルとどう対応づけられるか。
- Rasmussen の原典(*Risk Management in a Dynamic Society*, 1997)における3境界モデルは、本書2章が紹介する簡略版とどこまで一致するか。原典は未確認である。
- 10章が引く「'Going Solid'」論文(Cook and Rasmussen, 2005)と2章が引く「Risk Management in a Dynamic Society」(Rasmussen, 1997)は、同一著者による関連論文だが、"転換点を越える"という同じ主張がどちらの論文に由来するのか、あるいは両論文で独立に展開されているのかは未確認である。原典を突き合わせる必要がある。(Source: [[@2022__OReillyJapan__カオスエンジニアリング - Chapter 10 人間的なカオス]] §10.2.2)
- 10章は「境界を積極的に探索すれば境界線を押しやれる」と主張するが、組織という人間的なシステムで安全性境界を"押しやる"とは具体的に何を意味するのか(採用によるキャパシティ増強か、プロセス変更か)は本章では明示されない。
## 関連
- 概念: [[カオスエンジニアリング]] / [[レジリエンスエンジニアリング]] / [[複雑性の経済的支柱]]
- source: [[@2022__OReillyJapan__カオスエンジニアリング - Chapter 2 複雑なシステムの舵を取る]] — 本モデルを紹介する一次資料
- source: [[@2021__OReillyJapan__SREの探求 - Chapter 14 初めにカオスありき]] — 同一著者(Casey Rosenthal)による二次的な要約。Chaos Monkey の理論的正当化として位置づける
- source: [[@2022__OReillyJapan__カオスエンジニアリング - Chapter 1 複雑なシステムとの出会い]] — 本モデルが説明する「誰のせいでもない」障害の現象面を提示する章
- source: [[@2022__OReillyJapan__カオスエンジニアリング - Chapter 10 人間的なカオス]] — 動的安全モデルを組織という人間的なシステムへ適用し、「固体化する(going solid)」概念を導入する章
- source: [[@2022__OReillyJapan__カオスエンジニアリング - Chapter 21 おわりに]] — 書籍の結びで Rasmussen の同一論文を直接引用し、境界の可視化がインシデントレビュー実務に持つ含意を示す章
## 出典
- Casey Rosenthal, Nora Jones, 「複雑なシステムの舵を取る」, Casey Rosenthal・Nora Jones 編『カオスエンジニアリング ― 回復力のあるシステムの実践』, オライリー・ジャパン, 2022, 2章(§2.1-§2.1.3)。原注: Jens Rasmussen, "Risk Management in a Dynamic Society," *Safety Science* 27(2-3), 1997.
- [[@2021__OReillyJapan__SREの探求 - Chapter 14 初めにカオスありき]] — Casey Rosenthal, 「初めにカオスありき」, David N. Blank-Edelman(編)『SREの探求』, オライリー・ジャパン, 2021, 14章(§14.4)
- [[@2022__OReillyJapan__カオスエンジニアリング - Chapter 10 人間的なカオス]] — Andy Fleener, 「人間的なカオス」, 同書, 2022, 10章(§10.2.2)。原注: R. Cook and J. Rasmussen, "'Going Solid': A Model of System Dynamics and Consequences for Patient Safety," *BMJ Quality and Safety Healthcare*, 14 (2005).
- [[@2022__OReillyJapan__カオスエンジニアリング - Chapter 21 おわりに]] — Casey Rosenthal, Nora Jones, 「おわりに」, 同書, 2022, 21章。原注: Jens Rasmussen, "Risk Management in a Dynamic Society: A Modelling Problem," *Safety Science* 27(2/3), 1997.