どんなものでも完成したときから保守が始まります。
維持というべきでしょうか。
作って完成したら、ハイそれでおしまい、というシステムはありません。
稼動したり使われたりするものを維持管理しなければなりません。
想定したのと違う使われ方をして、予想外の障害が発生したりもします。
つくりが悪いだの、設計が悪いだの、文句を言いつつ修理して動かし続けます。
いちいち作り直していては、いつまで立っても、稼動しません。
おわかりでしょうか。システムは稼動してこそ意味があるのです。
その意味とは、富を生み出すかどうかです。
稼動して富を生む。つまり金のなる木ということです。
ちょっと動かないからといって、毎度作り直していたらキリがありません。
世界のトヨタが作った自動車だって、1週間も洗車しなければフロントガラスは埃だらけ。
エンジンオイルは半年もすれば真っ黒になります。
タイヤは数年で磨り減りますし、ブレーキパッドはキーキー鳴り出します。
どんなものでも少しずつ直しながら、使い続けるものなのです。
それを分からない人は、少しずつ直す、の意味もわからないでしょう。
あるいは、システムの悪いところばかりを指摘して、作り直しばかり勧めてくるコンサルにだまされていませんか?
そのコンサルは、バグ取りの仕方を知らないかスキルが足りないのを隠して、作り直しを主張しているのではありませんか?
率直に言って、ちょっとした規模までのシステムなら新規に設計・実装するのは中高生でも充分できます。
運がよければ稼動まで持っていけるでしょう。
ですが、保守や機能追加や、バグ取りはできません。経験が必要だからです。
機能追加のたびに作り直しの予算が出る夢のようなビジネスなら、引き止めませんが。
作り直しは楽です。作っている間は稼動しませんから、ユーザやフィールドからのバグ報告も、クレームも来ませんからね。
バグを作りこんだりテストで摘出率が想定の10倍でも笑い飛ばしておしまいです。
ですが、稼働中のシステムのバグ取りは時間との勝負です。慌ててエンバグしたら恥をかいてかつ叱られるか、嫌味を言われます。
毎日少しずつ、エンバグしないように直していくためのスキルが必要です。
作りこまれたバグを理解するには、新規設計に必要なものよりも遥かに高いスキルを必要とします。
少しエンバグしても機能追加できれば、次にエンバグを直すチャンスが来ます。
そのときに、「次はエンバグしませんから、エヘヘ。」と自分のミスを隠さずに挑む面の皮の厚さが必要です。
新規設計で腕に覚えのある人たちは、自分のミスに敏感すぎます。
バグ満載の既存のシステムに、機能追加するのは容易ではありません。
自分で全部作ったシステムなら、把握できる細かい部分を把握することが難しいのです。
そして充分に検証やテストする時間は無いのです。
結果的に見切り発車を繰り返して、事態が悪化しつつあるときに、自分の犯すミスの多さに耐えられなくなるのです。
自分の機能追加にミスがなくても、それが原因で元からあるバグが発現したら、それはエンバグなのです。
保守や維持作業では、
他人の尻を拭く
のが主要業務となります。
それに耐えられないのは、スキル云々というよりも、もしかしたら経験が足りないかただの世間知らずなだけかもしれません。
コメント