投げ出さない
昨晩、ある現場のシステムが不調になりました。私がやっている仕事ですので、ネットワーク関連で、しかも多くのユーザに影響が出てしまう部分です。
当然、何重もの安全対策を行っていて、不調になった場合には、こうすればとりあえずネットワークは使える状態になる、という対応もしてあり、しばらく試行錯誤しながら様子を見た後、現場で問題箇所を切り離してネットワークは稼働状態にしました。
その後、不調になった原因の調査を行い、プログラムの問題ではなく、バックグラウンドで動かしていたある処理(通常はやらない処理)が影響して、OSごと調子が悪くなったのだろう、ということがわかりました。
私はプログラマーですので、プログラムが悪くて不調になったのか、あるいは他の原因かはすぐに理解できるのですが、関係者に理解してもらうのは大変です。様々な証拠と、情報を集め、わかりやすく理論付けして、ようやく納得してもらえました。
原因がわかったとはいえ、不調になったことは事実であり、再び運用状態にするかどうかはお客さんの判断になります。最悪の場合「こんな装置は外せ!」となってしまいます。幸い運用状態に戻すことになり、ホッとしているところです。
システムは非常に複雑に様々なものが関与し合い、不調になった際の切り分けも大変ですし、問題箇所を明確にした上で、再稼働させるのも精神的に非常に大変なものなのです。はっきり言ってしまえば、「不安なので、もうやめましょう」と言ってしまう方がどれだけ楽になれるか、と、毎回思うものです。それでも「投げ出さない」かどうかが、新しいものを生み出せるかどうかの分かれ目でしょう。
どれだけ頑張って開発・テストを行っても、実稼働させてみなければわからないのがネットワークです。実稼働の怖さから逃げていては、いつまでも製品化ができません。
このようなチャレンジを一緒にしてくださるお客さんの存在はとても大きいのです。「お客さんにテストさせるなんて」と思う人もいるかもしれませんが、製品の真価はお客さんが使わなければわかりません。もちろん、開発側でつぶせる問題はつぶした上での話しですが。
前にも少し書きましたが、日本は問題が起きることに過剰に騒ぎすぎという傾向があると感じています。開発現場でも、ユーザもそうです。もちろん、失敗など許されない分野もありますが、それはそれなりに人・物・金をつぎ込みます。そうでもないものまで騒ぎすぎると、新しいことへのチャレンジが封じ込められてしまう気がします。これは技術面だけでなく、政治でもなんでもその傾向があり、とにかく重箱の隅をつつくような揚げ足取りが多く、「何もしないことが正解」というような風潮がある気がします。
自分のミスを責任転嫁するつもりはありませんが、新しいことにチャレンジすることも容認するような雰囲気にならないと、なかなか日本初の新しいモノは生まれにくいんじゃないかなぁ、と毎回思うのでした。