「プログラムを1行直すだけでも2カ月かかる場合もある。あまりにも長期間にわたり属人的な保守を続けてきた結果、コードがスパゲティー化し、わずかな変更であっても影響の及ぶ範囲を容易には特定できないからだ」。ある大手金融機関の話は、私には衝撃的だった。ところが、大規模システムの保守を担当する技術者からすれば、「当然あり得る」話だそうだ。

 こんな話もある。ある大企業が自社のシステムについて調べたところ、膨大な数のプログラムのうち、実際に利用されているのは4割にすぎず、残りの6割は調査期間中には全く使われていなかったそうだ。そうした幽霊プログラムが毎日、ハードウエアなどのリソースをムダ遣いしながら、待てど暮らせど現れることのない利用者を待って稼働しているわけだ。

 それもまた、大規模システムの担当者にとっては「あるある」話のようだ。割合は定かではなくても、「ざっくり言って、半分以上のプログラムは使われていないのではないか」と語る技術者は多い。「プログラムを1行直すだけでも2カ月かかる」のも、使われていないプログラムが大量に存在することの影響が大きい。影響の及ぶ範囲を特定する際、これらの幽霊プログラムも精査しなければならないからだ。

 こうしたプログラムのほとんどはメインフレーム上で稼働しているCOBOLアプリケーションだ。いわゆるレガシー資産である。日本企業にはこうしたレガシー資産が山のようにある。保守作業は完全に属人化されており、担当者でないと恐くて触れない。さらに言えば、Javaなどオープン系のアプリケーションも同様にレガシー化しているケースも多いというから、事態はかなり深刻だ。

 本来こうしたアプリケーションは、利用部門の業務を効率化するために導入したはずだ。確かに、数年前、場合によっては10年以上も前に導入した際には、業務の効率化に大いに貢献したことだろう。だが皮肉なことに、そのプログラムを抱え込み保守運用を続けてきたIT部門は、今や非効率の権化となった。レガシー資産はカネ、時間、そして人という貴重なリソースをひたすら浪費し続けている。