ITアーキテクトのひとりごと
第35回 「想定不足」
東日本大震災以降、"想定外"は今年の流行語大賞にも選ばれるくらい、至る所で使われるようになった。想定外という言葉の使い方が正しいかどうかはよく分からないが、システム設計の前提条件として「XXXX は想定していません」「XXXX が壊れると YYYY 業務は停止します」の類の前提条件を付けることは日常的だ。日常的だと言ってしまうとお客様から怒られてしまいそうだが、いろいろなことを想定しすぎると費用が高くなって費用対効果が疑われるだけでなく、最後には「壊れないものを持ってこい」という究極的な言葉が出てくることもある。さすがに、「壊れないもの。。。」は半分、冗談で出てくるので頭をかくくらいで済むが、「このXX システムは壊れないことになっているので、この周りにとりついているサブシステムもその前提で考えるように」なんて言われると完全な思考停止に至る。
「考えてもいけない」とも思えるような言葉を受けると、えっ、ここも、あそこも、あっちも「壊れない」前提でいいんですか、という危険を感じる。これじゃ議論にもならないので、そして、後から「こんなことも考えていなかったの」と第三者から言われないように、リスク分析だけはメモ的にでもいいのでやっておく。この場合は、このリスク分析の出し方が難しい。ここはコミュニケーションとコンセンサス作りの力量が問われるが、言う相手が誰かが一番難しいのかもしれない。
無い袖は振れないので、何でもかんでも想定内、対処済みとはいかないが想定外の事項を想定して「もしも」の時のシナリオと覚悟だけは考えておかないといけない。しかし、そんな格好いいことを言っていても予想外の事態は起こる。
想定外という拒絶的なニュアンスの言葉に比べて、"想定不足"は若干の申し訳なさが感じられるが、予想外はしっかりと予想し、考えた事柄を超えた事態が発生したことを意味する。障害、故障分析の手法はあるが、方法論を知っていたとしても、時間も無いので頭の中で考えただけでお終いということも多い。巨大なシステムで費用もかけられるなら、しっかりと方法論を試して身につけておくことが好ましいが、なかなかそんなチャンスは来ない。
さて、それでも予想外のことは発生するので、そのときは、どこまで、どんなシナリオを予想していたのかが大事だ。時間が切羽詰まっているとパニックになるので、一人でそんな事態に臨むのは危険きわまりない。
先日、テレビの Discovery Channel で米国の二万トンもある巨大原子力潜水艦が紹介されていたが、本物さながらの訓練施設やシミュレータを使った訓練にはちょっと感動した。非常に高価で複雑、そして危険な潜水艦を安全に運用するために、乗組員は自分の担当部署だけでなく、様々なことを実行できるように訓練され、"システムを理解する"ことが求められている。システムを理解した上で、あらゆる事態を想定したマニュアルに基づいて、全員が一糸乱れず困難な事態に対応する。
原子力潜水艦の建造、運用コストと原子力発電所の建設、運用コストがどのくらいかは分からないが、どちらも、数千億円の単位だと思われるが、巨大で危険なシステムをどのように運用したら良いのか、ちょっと考えさせられた。
株式会社エクサ 恋塚 正隆