こういう記事を見ると、ついつい「ホントかね?」と疑う自分がおります。三菱東京UFJ銀行のシステムの話。
6000人が作ったシステムは必ず動く
6000人が作ったシステムは必ず動く | 日経 xTECH(クロステック)
筆者も後述しているんだけど、こういうものに「必ず」ってないんだよね。基本的に「『必ず』という言葉は『必ず』破綻する」性質があるので。そういう意味で、この記事と性質が似ていると思う。新暗号方式は解読不能であるという記事。
これも記事が出たあと、トーンダウンしたんだけど、解読不能とは言えないんだよね。解読不能とする証明方法がある以上、それをたどれば解読ができるわけだし、膨大だから、天文学的な確率だから、という話にしたって、それは不能を意味する話じゃない。「限りなくゼロ」と「ゼロ」は似て非なるものだしなあ。
三菱東京UFJ銀行の話にしても、こういう疑問がどうしても出てきてしまう。「必ず」動くのか。「必ず」が毀損される可能性はゼロなのか。「必ず」が証明されているのか。どうしてもここに疑問があるので、つい鼻白んでしまうわけですよ。
実のところ根拠は何も無い。「必ず動くと信じている」だけだ。信じる理由の第一は,6000人のSEの方々が開発し,テストを繰り返してきた以上,その努力が報われて欲しいと思うからである。
6000人が作ったシステムは必ず動く | 日経 xTECH(クロステック)
……根拠ねえのか。ま、そうだわな。証明しようがないわな。というのは「必ず」を証明するのは、非常に難しいから。
というのは、「必ず動く」を証明するには、100%の稼動でなければならないが、「必ず動く」を反証するには、たったひとつの非稼動でいいから。片やパーフェクト、片や一例。このアンバランスがあるので、非常に難しい。ほんのちょっと動かなかっただけでも「必ず動く」は破綻する。だから「必ず」は難しい。
暗号の話でも一緒。解読不能であるためには、解読する方法が皆無でなければならない。しかし解読不能をくつがえすには、たったひとつ解読方法が見つかればいい。「必ず」や「不能」、「絶対」「不可能」「無理」という価値観を証明することは難しく、くつがえすことは簡単。こういう非対称性があるだけに、本当はこういう言葉は注意深く使う必要があるんだよね。
まあ、一般生活では、こういう言葉を使ったほうがわかりやすいし、話として盛り上がるからいいんだけども、テクノロジーを扱う分野ではどうなのかなあと。こういう言葉の証明の難しさをわかっているはずの人たちなわけでねえ。
根拠はないが必ず成功する
6000人が作ったシステムは必ず動く | 日経 xTECH(クロステック)
根拠のない結論は、科学分野では何の意味もないのと一緒なので。2ちゃんとかの「ソースは?」ってレベルだもんなあ。
現実的な話で言えば、こういうシステムは破綻しなければいいんですよ。完璧である必要はない。ノーミスである必要はないんです。実害がないよう抑える。それで十分。もちろん完璧を求め、完璧を実現することにこしたことはないんだけど、本当に完璧である必要はない。いくら稼動シミュレーションしても、結局当日にトラブルは起きるわけで。それに対するリアクション体制が大事だったりする。完璧を目指しつつも、完璧ではないことを前提とした体制。
もちろん80%の出来は、100%を目指すことで出来るので、そういう意味でこれだけのプロジェクトをやったことは凄いと思うし、みずほの教訓を学んでいるなあとは思うけど、情緒的な「必ず動く」という話が出てきたことには心配せざるをえない。これだけの大規模なプロジェクトを組んだのは、システムを「必ず」動かすためじゃなくて、そこに目標を設定することで、問題が多少起きても大丈夫なようにするところにあると思うので。そこからこぼれおちることを前提とした目標だと思うんだよな、「必ず動く」ってのは。「必ず」なんてないんだよ。エンジニアの方々はわかっておられると思うけど。
オレも三菱東京UFJ銀行の口座を使っているわけで、円滑なシステム稼動には期待しているし、そうあって欲しいと願っておりますが、完璧さは追求しすぎないでいただきたいなあと。どうせ何か起きるよ。多分、何かある。それを乗り越えるのがリスクマネジメントだと思いますですよ。これまでが完璧だったから仕上がりも完璧だとか、稼動後も完璧だとか考えると、このシステムはうまくいかない気がする。「これだけやっても……何かあるだろうな」くらいが正解だと思うぞ。
システムの無事、円滑な稼動をお祈り申し上げます。