BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース レジリエンスの源を強化する - QCon LondonにおけるJohn Allspaw氏の講演より

レジリエンスの源を強化する - QCon LondonにおけるJohn Allspaw氏の講演より

原文(投稿日:2019/04/23)へのリンク

QCon Londonで、John Allspaw氏が、"Amplifying Sources of Resilience: What Research Says"と題したプレゼンテーションを行った。要点は次のようなものだ — レジリエンスはシステムが持つ(has)ものではなく、システムが行う(do)ものである。組織内で"適応能力(adaptive capacity)"を創出し維持することは、(明確な正当化の理由がなくても)レジリエンスのある行動だ。サプライズに人々がどのように対処するかについて学ぶことは、レジリエンスの源を見つけるための道である。

Adaptive Capacity Labsの共同創設者で、Etsyの元CTOであるAllspaw氏は、聴衆に対して2つの質問をして、レジリエンス工学の分野から学ぶことの必要性の認知を促した。最初に氏が尋ねたのは、強い困惑を覚えるようなサインやシグナルを伴った運用システムのインシデントに遭遇し、最終的にその原因を合理的に説明することができなかった経験があるか、というものだ。次の質問は、インシデントに対応する時、状況を緩和しようとする行動を取ろうとしたことによって、却って状況を悪化させる可能性がゼロではないのではないか、と不安に感じたことがあるか、というものだった。最初の質問には多くの手が上げられ、2番目の質問に対しては、明らかな失笑が部屋が溢れていた。

レジリエンス工学は、2000年代初頭に認知システム工学から生まれた研究分野で、主に1999年2000年のNASAでのイベントに対応して生まれたものだ。レジリエンス工学にはコミュニティの一面もあり、主としてヒューマンファクタや人間工学、認知システム工学、安全科学、オペレーションズリサーチ、制御システム、その他いくつかの研究分野において、実践を重視する実務家や研究者が構成している。この期間には7つのレジリエンス工学協会シンポジウムが組織されており、その議事録をオンラインで見ることができる。

この分野においては、実務的な研究を出自としない理論が提案されることはほとんどない、とAllspoaw氏は主張する。レジリエンス工学は、航空や建設、外科、軍事機関、法執行機関、そして最近ではソフトウェア工学のような、ハイステークな分野において機能するものなのだ。氏は、レジリエンス工学の分野に関わる人物のリストを公開すると同時に、最近この分野で活動を始めた(そして、公式に研究を始めた)ソフトウェアエンジニアとして、Nora Jones氏、Casey Rosenthal氏、 Jessica DeVita氏、J.Paul Reed氏と、自分自身の名を挙げた。

次に氏は、我々が一般的にシステムと対話する方法について見る上で、そのレンズとして使用できるモデルを提示した。次の図では、"表現線(line of representation)"によって、ラインの下に表示されたシステムアーティファクトと、上に表示されているシステム認識を区別している。図の右下には、製品とサービスのコード、データベース、ユーザが表示されている。左下には、サービスを機能させるために使用するツールが表示される。ここは、エンジニアが多くの時間を費やす場所だ。ただし、ここにばかり注目していると、実際の作業が行われている場所、すなわちラインより上(above the line)を見逃す可能性がある。

表現線の上で作業します。

ラインの上(above the line)に目を移せば、システムとのインタラクションやオペレーションを行う人々の存在が確認できる。個人あるいはグループは、それぞれがシステムのメンタルモデルを持っているが、その内容は自身が関係する責任や、重視する点によってまちまちである。興味深いのは、ひとりとして同じシステムの表現(representation)を持っていない、ということだ。人々は自分たちが構築したモデルを使用して、ラインの上にある自身の認知作業(cognitive work)を実行する。その上で彼らは、ラインの下にあるシステムと、 -- システムそのものではなく -- 一連の表現(representation)を通じてインタラクションを行う。我々が持っている情報は、すべてこれらの表現を発生源としており、すべてのインタラクションではこれらの表現が使用される。ある意味で、ラインより下のものは、技術的には存在していない。つまり、我々がコードの実行を"見る"ことや、システムが実際に動作しているのを"見る"ことはないのだ。

これら一連の表現を通して、見ることができない世界を操作します。メンタルモデルの構築が必要となるのは、そのためです。[...]

それを実行しているのは、ラインの下の世界ではありません。過去に起こったこと、今行っていることを理解するのは、あなたの概念的能力なのです ... なぜそれを行っているのか、その時に何が重要なのか、なぜそれ重要なのか。

レジリエンス工学とその関連分野は、我々が実際にはこのラインより上で"活動している"という考えを採用している、とAllspaw氏は主張する。認知活動は、個人的にも集団的にも、システムと関連組織を機能させるものである。航空や法執行機関など、上述のレジリエンス工学を取り入れてきた分野では、しばらく前からこのレンズを使用しているが、ソフトウェア工学においては新たな概念となっている。レジリエンス工学をソフトウェア工学とデリバリに適用することにより、多くを学ぶことが可能になる。

ソフトウェアのデリバリに関するインシデントをよく観察すると、状況を改善しようとして、多くの人が"登場する"ことに気付く。彼らはそれぞれ、自分の考えや知識、見解を持っている。それぞれが自身の在職期間やドメインの専門知識、詳細な過去の経験などに基づくものだ。この状況は、起きている"こと"は何なのか、"出血を止める"ために何ができて何ができないのか、アクションの権限を持つ人は誰か、システムを緩和ないし修復するために試みるべきでないことは何か、といった点について、さまざまな見解をもたらすことになる。そこには多くの場合、問題の検出、仮説の生成、調整といったさまざまなアクティビティが存在する。それらは、時には順次に、特には並行的に実施に移される。どのアクティビティが生産的で、どれが非生産的か、ということが分かるのは、すべてが終わってからだ。

インシデントは厄介です。残念ながら、カンファレンスで見たような、あるいは本で読んだような、"ステップ1、ステップ2…"には従いません。

この種の状況への対処は通常、時間的なプレッシャーと大きな影響を伴うので、認知モデルと意思決定プロセスを理解するためには、インシデントを研究することが有益である、とAllspaw氏は論じている。これは"デバッグ"や"トラブルシューティング"ではない。このような問題を解決する上で必要なアプローチを説明するには、これらの用語では不十分なのだ。正式な用語では、"動的障害管理における異常対応(anomaly response in dynamic fault management)"となる。

"レジリエンス"を定義するために、Allspaw氏は、"レジリエンスではない"ものについて説明した。予防設計、フォールトトレランス、冗長性、カオスエンジニアリング(ただし、システムの障害時の反応を理解する上で実験を行う必要があるという意味で、部分的に一致する部分はある)、ソフトウェアやハードウェアに関する問題、システムが持つ特性、といったものは、レジリエンスではない。

レジリエンスは、不測(unforeseen)、予想外(unanticipated)、想定外(unexpected)の、根本的に驚くべき状況に対処できるように、条件を設定し、維持することを目的とするものです。

もっと詳細に言うならは、レジリエンスとは、"準備のできていない、経済的に正当化不可能な状況に準備する"ことを目的とした積極的活動であり、状況が変化しても将来的に適切な行動の可能性を維持することである。システムが持つものではなく、システムが行うことなのだ。レジリエンスに対する他の考え方としては、"持続的適当能力"、あるいはRichard Cook氏の定義による"適応する姿勢"などがある。

適応する準備が整いました。

レジリエンスの源を見つけるということは、認知作業を見つけて、それを理解することに他ならない。"すべての障害には悪化する可能性がある"のであり、レジリエンス工学とは、"その悪化を防ぐことのできるものは何か(人、手段、知識など)"を問うものだ、とAllspaw氏は言う。インシデントが見直される場合の多くにおいて、"Safety-I"の視点が"すべてのギャップを見つけて埋める"ことであるのに対して、"Safety-II"の視点では、"通常時にこれらのインシデントの発生を防止できるものは何か"を問うている。この問いに対する答が、"適応能力"と呼ばれるものなのだ。

驚きの度合いは高いが影響が深刻ではないようなインシデントを見つけて、適応能力を探す方法をAllspaw氏は推奨した。そうすれば、それが起こりうるほど悪くはならなかった理由について、詳細に検討することが可能になる(と同時に、そこで見出した原因を認識し、明示的に対処する必要がある)。重大な結果をもたらすインシデントを検討することは推奨されない。面目を保ちたいと考える関係者の目が、詳細な調査を妨害する可能性があるからだ。"中程度"のインシデントであれば、その潜在的な利益に対して、人々の視点に関する詳細な情報を取得するためのコストは、相対的に低いものになる。

意思決定、プロセス、適応能力の可能性についての情報を提供できるコンテキストソースには、次のものがある。

  • 組織内の奥義や専門知識
  • 新たな状況に対応するための柔軟かつ動的な人員配置
  • 役割を超越して移行することが期待される権限
  • "通常の"仕事を掘り下げさせる、"常に感じる不安"
  • ニアミスの把握と情報配信

要約すれば、レジリエンスはシステムが持つものではなく、システムが行うものである。組織において適応能力を創造し維持するということは、それを具体的に正当化することはできなくても、レジリエントな行動なのだ。"システムの柔軟な要素"である人々が、どのように驚きに対処するかが、レジリエンスの源泉を見つける手段となる。"レジリエンスとは、発生しなかったシステム障害の物語である"というCooks氏の言葉を引用して、Allspaw氏はプレゼンテーションを締め括った。

Allspaw氏の講演"Amplifying Sources of Resilience: What Research Says"[PDF]のスライドが、 QCon LondonのWebサイトで公開されている。プレゼンテーションのビデオも、数週間以内にInfoQで公開される予定だ。

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT