質問

 通りがかりの元ITコンサルタントです。

 以前、40年以上も前に構築された素材系の大工場の生産管理システムをリプレイスするというプロジェクトを経験した際の話です。いざ蓋を開けてみると、今は使われていない謎の機能や後から追加されたであろうたくさんの例外処理など、完全なるスパゲティ状態のシステムとなっていました。 同僚はその状況を見て、「過去にこんなシステムを作ったエンジニアは本当に出来ないやつらだ」と言っていましたが、事業会社の経験のある私としては必ずしも同意できませんでした。

 事業を進める中で、計画になくても今やらなくては会社の将来の成長に大きなインパクトを与える施策や、社会的にどうしても対応しなければいけない緊急事態など、会社経営の中には多々発生することだと感じています。特に40年以上前といえば日本が高水準で成長を続けていた時期であり、無茶なオーダーを受けて、工場としては死ぬ気で増産を続けていた時期だと思います。

 急成長をしている会社では、理想的にはシステムはこうあるべきと分かっていても、それよりも優先すべき経営的課題が次から次へと出てくるため、暫定的なシステム対応をしたとしても、それを翌年じっくり見直すような時間が取れないのが通例だと考えています。

 この、40年前のシステムのリプレイスは、数十億円のコストが発生し、さらに大変大きなリスクを伴ったプロジェクトとなりました(実際、リリース後はいくつもの障害が発生し、業務が回らなくなり、限られた範囲ですが、経営にマイナスのインパクトを与えることになりました)。

 背景の説明が長くなりましたが、急成長の企業が今回の例と同様に数十年後に大きなシステム的課題/事業リスクを残さないためには、どのようにすればよいのでしょうか?

 プロジェクトをやっている「現時点」でシステム的な視点から経営者にリアルにリスクを伝え、説得するのは難しいものの、後世のエンジニア達に負の資産ばかりを押し付けたくないと考えています。よろしくお願いします。