プログラムという視野だけではなく、システムという視野でも言える事だ。
例えば、プログラムに手を入れていない、設定の変更も行っていないのに
- システム連携の部分でエラーが出るようになった。
→手を入れた側のシステムを疑え。 - ある操作で送信されるはずのメールが送られなくなった。
→メールサーバやDNSの設定を疑え。
当たり前のことだと思っていたのだが、そうでもないらしい。確かに
- ログファイルが大きくなりすぎて、ディスクの空きが足りなくなってエラー
- SSLの証明書の期限が来て、エラー
といった、時間経過によるものもあるので、プログラムに問題がないとは言い切れないのだが。
連携システムの中でエラーが発生していた、DNSの設定ミスでspam判定されるようになっていた、といった、プログラム側の問題ではない場合、ログに異常はないので、原因調査は難しい。
連携システム側で変更があったとか、DNSの設定を変更したとか、そう言った情報が提示されない中で「動かなくなった」とか言われても、調査できるログには異常がないので、原因が突き止められない。延々と調査して、「プログラムには問題がなさそうだが」という歯切れの悪い結論になる。
月間の保守対応x時間という契約であれば、調査にかかった時間として計上するので、タダ働きにはならない。
だけど、途中で「こっちのプログラムの問題ではないなぁ」と感じても調査しなければならないというのが、げんなりしてくるところ。
システム全体を見ていない、見ているのだがセンスがない人が担当だと、こう言ったことが起こる。こういうことが続くと、保守運用案件ってうんざりしてくるのだ。
保守運用案件って、動くのが前提となっているシステムを相手にするのだから、それなりにリソースを割く必要があるはずなのだが、新規開発案件と比べると、日陰の扱いだ。せっかくのお客さんがシステム不具合で逃げてしまうと大きな損失になるのだから、もっと重要視すべきだ。