ITmedia Enterprise - 姉歯、みずほ証券の誤発注、JR福知山、原因はみな同じ?
『SEも含まれるが、何かの構造を考える者にとって最も重要なことは、安全な環境をできるだけ100%に近い精度で維持する仕組みをつくることだ。そう考えたとき、実際には、被害者だけではなく、「加害者」までも守る構造を事前に作り上げることが、皮肉にもトータルな安全保障につながる。
例えば、耐震強度偽装事件は、建築確認作業の民間企業への開放という、構造的な欠陥がなければ起きていなかった。偽装行為を行えない構造になっていれば、姉歯氏を「守る」ことができ、結果として、マンション購入者という被害者も出さずに済んだ。したがって、この構造をつくってしまった政府の責任は重いということになる。
そして、構造づくりの重要性は、情報システムの構築にもそのまま当てはまる。特集を通して、企業の構造そのものである情報システムに完全性が求められること、さらに、それをSEが正しく理解し、ユーザー視点から情報システムを構築することの重要さを再認識するにいたった。
例えば、みずほ証券の株式誤発注事件は、東京証券取引所の情報システムに、「発行済み株式総数以上の売り注文は受け付けない」といった本来ならあるべきロジックが含まれていれば、起きていなかったはずだ。だが、その当たり前のロジックが、東京証券取引所という日本で最もクリティカルなシステムに実装されていなかった。また、注文の取り消し要求が受け付けられなかったことも、金融システムへの不安を煽るには十分な欠陥だった。これらは、明らかな設計ミスであり、あるいはテスト不足であり、構造問題である。
逆にいえば、構造としての情報システムを設計するSEには、思わぬミスからユーザーを守るような仕組みを実装することまで要求される。そうなると、SEの資質には人格的な面も含まれると言えよう。「優秀」なだけでは駄目だ』
この記事は単なるフェイルセーフって話じゃなくて、その中でどこまで守るべきか、なんて話まで広げてくれてるんだけど、ここではフェイルセーフ設計の大枠に留めて。
自分は大学の研究室でフォールトトレラントって分野の研究に関わらせてもらってた。業務ソフトウェアじゃなくて超並列計算機ネットワークのフォールトトレラントだけどね。フェイルセーフとは異なるというか、安全面で一歩進んだような概念。フェイルセーフについてそれほど詳しい訳でもないんだけど、その点差し引いてくださいってことで、思うままに駄文を書いてみる^^
で、何事においても隙なし・完璧・完全ってことは無いんだろうけど、こういった安全性を見据えているかいないかって違いは、そのシステムの素性(というか何ていう言葉が適切なのか分からないけど)に相当大きな影響を及ぼすように思う。
事故がそのまま人命に関わる自動車・航空機その他の領域だと、「フェイルセーフ(fail safe)」って考え方がごく当たり前に存在する。(もちろん、もっと概念的に進んだ安全保証の検討も行われるけど、ここでは最低ラインのフェイルセーフについて)
例えば、自動車のアクセルのセンサーが故障した(ことを検出した)ときには、一番安全と考えられる措置として、燃料の噴射を停止するようにプログラムしておく。ここで、フェイルセーフの考え方が無くて故障時の動作が不定だったりすると大変なことになるってのは、素人でも想像が付く。人命に関わるシステムってのは、こんな「フェイルセーフ」の塊だよね。
システムの正常系ってのは、(プロなら)案外簡単に設計できるし実装もそれほど難しくない筈。でも、こういった異常系の設計でこそプロの腕ってのが試されるような気がする。経験も大事だけど、それだけじゃなくて設計者の資質も影響を及ぼすよね。
別にシステム設計じゃなくてもそうでしょ。単純な事務作業にしても、いつもの仕事を正常に遂行するだけならすぐに覚えられるけど、いざミスが発生しておかしなことになったとき、どう柔軟に且つ安全に対応できるかって能力の方が大切じゃない。ここでもフェイルセーフみたいな安全性に関した意識を持たずに、それを隠したり誤魔化そうとしたりすると、結局後で大問題になったり、長いこと面倒な後遺症を残し続けたりする。
システム設計に話を戻して、自分の頭で考えない、お客さんが「~~って機能が欲しいんだよ」っていうから、「あーそうですか、分かりましたー」ってだけじゃ駄目だよね。その機能を加えることによって、システムにどんなリスクが加わることになるのかを考えないとね。
ま、言うは易し、行うは難しだけどね。
でも、心掛けってのは誰にでもできること。忘れたくない。
****
下記リンクは厳選ではないけど、一応軽く目を通してます^^
Wikipedia - フェイルセーフ
フェイルセーフを考える
フェイルセーフ
国土交通省運輸局 - 航空交通管制情報処理システムのフェイルセーフのあり方等に関する技術検討委員会
****
Wikipedia - フォールトトレラント設計