日本のシステムはなぜレガシー化してしまうのか

アイスブレイク

リモートワーク環境を充実させるために32インチの4Kモニタを購入しました。
作業領域が広大ですね!
問題は会社より自宅の方が色々充実してしまっているので出社した際の生産性低下が懸念されるというところですかね!

レガシー化とは

IT業界ではレガシーと言う言葉にネガティブなイメージを持たれることが多いと思います。
「レガシーシステム = 時代遅れのシステム」と言った意味合いですね。
(分野によっては全く逆のポジティブなイメージを持つこともあるので文脈には気をつけねばなりません)

経済産業省のDXレポートにおいても、以下の様にあります。

約 8 割の企業が「レガシーシステム」 を抱えており、約 7 割が「レガシーシステム」が自社のデジタル化の足かせになっていると 回答している。

https://www.meti.go.jp/shingikai/mono_info_service/digital_transformation/20180907_report.html

日本企業のIT投資のほとんどがレガシーシステムのお守りに使われているという悲しい現実です。

なんで日本のシステムすぐレガシー化してしまうん?
ということについて個人的な考えをまとめてみたいと思います。

システム開発の外部化

なぜ内製化が進まないのかについては長くなるので今回は触れません。
(日本特有の雇用形態、システムに対する考え方、税制等 色々な要因があります)

理由はともあれ、システム開発を外部化することが多いです。
「システムを外注して調達する」ということですね。これにより様々な分断が発生します。

  1. インセンティブの分断
    • ユーザ企業=ビジネスの成功、ベンダー企業=システム開発と目的が分断され何かを決断する際の軸がブレる
  2. 開発と運用の分断
    • 開発と運用が分断され、保守性への考慮が薄くなる
  3. 知識やノウハウの分断
    • システムについて知っている人が居なくなり、誰も触れなくなる

そしてこの問題は開発フェーズでは顕在化しません。
開発完了時点では「要望が実現されているシステムが手に入っている」ためです。
(だから同じ過ちを何度も繰り返してしまうとも言えます)

問題はそこから始まる長い運用フェーズで顕在化します。
現代のビジネス変化のスピードを考えると運用フェーズこそが本番です。
日々様々な新しい要望が発生し、それに対応していく必要があります。

何もしていないのにシステムが壊れた」ではありません
何もしなければシステムは壊れていく」のです。
(美しい庭園は日々手入れされているから美しいのです)

しかし知識やノウハウが分断されていると調査に時間が掛かったり、場当たり的な対応になりがちです。
結果、数年もすると増改築を繰り返した古い旅館の様な複雑なシステムができあがります。
もはや誰も手出しできないレガシーシステムの完成です。

結局のところシステム開発を「自分ごとにできていない」(=手の内化できていない)ということです。
(「手の内化」とはトヨタグループで使用されている言葉で、私は以下と解釈しています。
 「自社プロダクトの重要な技術を自分たちが主導権を持って企画・開発し、ビジネスの武器にしていくこと」)

現代ではもはやシステム(ソフトウェア)とはビジネスそのものです。

日本特有のこだわり気質

日本のシステムを眺めていて感じるところは独自仕様の多さです。
パッケージソフトを導入する場合でもかなりカスタマイズを行うことが多いです。

細部へのこだわりは大切です、それが独自性を生み他社と差別化をすることができます。
重要なことはそのメリットとデメリットを把握していることです。(費用対効果と言っても良いです)

システムに対して特殊な要件を加えるとシステムが複雑化します。
つまりメンテナンスコストが上がります。
ただ単体で見ると影響が軽微であることと、すぐには顕在化しないため見過ごされがちです。

この問題の最大のポイントは「ユーザ企業⇔ベンダー企業の関係性では防ぐことが難しい」ということです。
ベンダー企業はユーザ企業の要望をいかに実現するかに注力するので、
要望の費用対効果(ビジネスメリット)についてあまり口出しを行いません。
(そもそも開発規模が大きいほどベンダー企業にとっては嬉しいというインセンティブが働きますし、
 力関係的にその要望意味ないですよね、と言い辛いためです)

つまり多少の軌道修正はあれどベンダー企業は「ユーザ企業の要望をそのまま実現してしまう」ということです。
たとえそれの方向性がおかしくてビジネスメリットがなかったとしてもです。

そして「一度作った機能を削るということを決定できない」ことが拍車を掛けます。
これはシステムを手の内化していないため、何にどれだけ効果があり、どれだけ保守性を犠牲にしているかを把握出来ていないことが原因です。

ソフトウェアなので大抵の要望は実現可能です、が、それはシステムを複雑化してまで実現する価値があることなのか?
これを常に考えなければなりません。
「開発コスト」のみではなく「今後のメンテナンスコスト」も考慮する必要があります。

まとめ

企業が存在する価値とは独自性です。(コアコンピタンス)
どれだけ他社と違うビジネスを実現できるのかが価値です。
自分たちのビジネスをどれだけ深く理解し、掘り下げられるかということですね。

ビジネスをシンプルに保つことも大切です。
シンプルさはアジリティ(機敏さ)を向上させます。
様々な機能を内包したシステムはツールを搭載しすぎた10得ナイフに近いかもしれません。
色々な状況に対応できるようにツールを追加したあげく、重すぎて本来の目的=ポータビリティを損なっているのではないか?
何か機能を追加する際には立ち止まって考える必要があります。

そして現代ではビジネス=ソフトウェアになってきており、
ソフトウェアは実際に開発に携わらないと手の内化することが難しいという課題があります。
(油断しているとすぐブラックボックス化します)

手の内化を一足飛びに実現することは難しい、しかし徐々に変化していくことはできるはずです。
段階的にDX化のお手伝いをする、それが私共DXソリューション開発部です!(急に宣伝(笑))

参考

最近の記事

  • 関連記事
  • おすすめ記事
  • 特集記事

アーカイブ

カテゴリー

PAGE TOP