『想定外』
先日も東京証券取引所のシステムトラブルが大きく報道されていました。
「何故、発生したのか?」
「テストは十分にしたのか?防御策は立ててなかったのか?態勢は十分だったのか?」
批判の集中砲火。
当事者の皆様は、謝罪、弁明、顛末の報告、再発防止策の立案/実施と大変な毎日を
過ごされていると思います。
金融関係のシステム開発/維持をシステムエンジニア(実は和製英語みたいです)歴
35年(自慢ではなく、自嘲(〃ー〃)です)の人間として、現役当時(今でも)解決でき
なかった悩みを告白します。少々、お付き合いを。m(_ _)m
「システムを開発<構築>する・・・」
経験のない人が持つシステム開発現場のイメージはどんなですか?
テレビ、映画等に登場するスマートなエンジニアが個別ブースでキーボード
を叩く場面?
それとも、オタクな人間達が漫画喫茶のようなブースに並んでいる場面?
それとも、“SEの3K”なんて表現も一時広まっていたので、ブラック企業の
イメージでしょうか?
システム開発の現場は例えるなら『工事現場の文化系版』です。肉体労働は
工事現場の様にはありませんが、
朝一番の朝礼もありますし(現場にもよりますが)、
夜間にしかできない作業の時は夜出勤の朝帰り。
多くの会社、多くの人間が居て
(セキュリティも厳しいので、リモートワークも限られる)、
飛び交う声(指示、報告、たまには怒声も)。
その中で、お客様(今回のトラブルで言えば東京証券取引所)の要求を満たす
よう設計し、設計書に従って組み上げ(プログラミングもします)、テストで確認
していく。開発というよりは構築と言った方が適っています。
当然、お客様からの要求の中には、「不慮のシステム停止が発生しないこと」が
含まれます。社会基盤をささえるシステム(金融系を含めて)の場合、不慮の
システム停止は許されません。
システムが止まらないように、どこかに故障が発生しても予備に切り替えたり、
そもそも二重化したり(三重化以上の場合も)、過去のトラブル事例を考慮して
各々、対策も用意していきます。
テストも要求/設計に沿っているかを通常全項目確認しています。
でも、トラブルは発生してしまうのです。何故か?
「想定外」のことが発生するからです。
※福島の原発事故の際にも聞いた言葉ですね。
そして、トラブルが発生した場合、この「想定外」が多くの人々、
影響を受けたお客様(今回の場合には証券所の利用者),
報道でトラブルを知った人,
監督官庁,評論家,コメンテーター・・・
システム開発当事者の社内,
お客様の経営陣
から「これは想定外で仕方ないね。」と言われることは殆ど皆無なのです。
納期もありますし、予算もありますし、現在の技術の限界もあります。
構築の中で指示が誤解されて伝わることもありますし、悪意(犯罪からイタズラ
まで)もあります。
機械なので誤動作だってありますし、経年劣化だってあります。
だから、確認したり対策を打てば良いでしょう。と言われる方もいると思います。
その通りですし、当事者も分かっています。
そして、僕は引退した人間なので、簡単に「想定外」などと言いますが、現役で
使命感をもったSEはこんな言い訳はしないし、「想定外だから仕方ない。」などと
言った途端に信用を失うことになります。
でも、優秀であればあるほど「想定外」があることを認識しています。
あまり、いじめないであげてくださいネ。よろしくお願いします。
システムトラブルを発生させるのなんてけしからん。これも当然。
金融システムのトラブルで経済的に生死に関わる問題が発生する場合だってある。
でも、システムトラブルが発生するリスクを0にすることはできない。
※そもそも、リスク0なんていうのは用語として正しくない。
僕のてんびんばかりは今日もどちらにも傾かない。
