たまに耳にするレガシーシステムとはなんのことでしょうか?
改めて聞かれるとうまく説明できないことがあるのでちょっとまとめてみました。
スポンサーリンク
レガシーシステムとは?
以下のいずれかに当てはまるシステムのことをさします。
- 老朽化
- 肥大化・複雑化
- ブラックボックス化
個別具体的なサービスやシステムのことを指しているわけではなく、 これらのいずれかに当てはまっていればそれは、レガシーシステムと呼んで良いと思います。
言葉そのものの定義が問題ではなく、このようなシステムの存在が問題となっていますので、ご自身の会社にてこれらに該当するものがあれば早めの対応を検討することをおすすめします。
では具体的にどういうことか見ていきましょう。
老朽化
ハードウェア的に老朽化
機器そのものが古いということです。老朽化と聞いてまずはこちらが思い浮かぶのではないでしょうか。
企業によっては、自社のオフィスの片隅にサーバーを置いてあったり、地下室などにサーバールームなどを設けていたり、データセンターにサーバーラックを契約しているというところもあるのではないでしょうか。
何が問題か?
これは、
「壊れたら交換できなくなる」
です。
イメージとしては、車で言うところの旧車にのっているようなものです。
長期の利用になればメーカーのサポート切れなので、故障してもメーカーは保証してくれません。では、自分たちで修理すればよいのでは?と考えたとしても、部品そのものの製造がされていないため、部品の交換すらできない状態になってしまいます。
東京の企業であればそれこそ秋葉原に部品を探しに走ることになります。(見つかるかはわかりませんが。。。)
ソフトウェア的に老朽化
老朽化というと目に見える機器などのハードウェアを思いがちであるが、ソフトウェアにも当てはまります。
COBOLやFortranなどの古い言語で構築されたシステムのことです。
「プログラミングできます」というソフトウェアエンジニアを聞くと、全てのシステムのプログラムを見れるかのように聞こえてしまいますが、そんな事はありません。
ソフトウェアエンジニアには得意なプログラミング言語というものがあり、それ以外は全く読み書きができないということがよく起こります。
プログラミングの基本である、情報処理系の学校では、C言語やJavaなどを授業で行って知っていたり、
独学で勉強しました!アプリを作りました!という方は、swiftやhtml5しかしらないということがよく起きます。
COBOLやFortranってなんですか?
というソフトウェアエンジニアはたくさんいます。
長期間稼働しているシステムには、このように古い言語で書かれているシステムがまだまだあります。
何が問題か?
システムを修正しようとプログラムを読める人がいなくなります。
今と同じようにシステムを作ってくれ!と頼んでも今がどうなっているのかわからなければ作りようがありません。
現状維持すらできなくなってしまします。
肥大化・複雑化(スパゲッティ化)
スパゲッティ化と表現されるのがこの肥大化・複雑化です。
システムのプログラムコードがスパゲッティのように絡み合って、どこからどこにつながっているのかがわからない状態のことを言います。
(キレイなプログラムとは上から下に、ソースコード、クラス構造が組まれている状態をいいます。)
肥大化
導入当初のシステムに加えて、追加の機能をお願いしたり、自前でプログラムを用意したり、さらには、新しくシステムを導入する際にデータベースを共有したりすることで、システムはどんどん肥大化していきます。
データ連携や使い回すことで重複を避けたり、処理時間を短縮したりする目的でシステムを追加していったことがおおよその経緯だと思います。
複雑化
歴代のスーパーマンによる独自の美学により、カスタマイズやメンテナンスが行われてきた結果、どの情報とどの情報がつながっているのかがわならない状態になったり、どの機能とどの機能が影響しているのかわからなくなってしまった状態のことを言います。
共通化という罠
肥大化・複雑化にはこの「共通化という罠」が潜んでいます。
システム内で同じような処理を行う関数群などをまとめて、共通ライブラリ化するケースです。
カスタマイズするなかで、その方が効率が良いと考えて実施した対応だと思いますが、
この場合の問題は、
「一部しか共通化されていない」
ということです。
システムにちょっとした不具合が起きた時に、引き継がれた現在の運用メンバは、共通化の部分だけ修正すれば直ると判断し、共通部分を修正したとします。
しかし、関連する全てが共通化されていないために、不具合が直りきらないということがいろんなところに発生してきます。
これがおきると、問題の箇所を調査する時間、個別に対応する時間がとられてしまいます。
この対応にソフトウェアエンジニアたちは疲弊していくのです。
ブラックボックス化
ブラックボックスとは、その名の通り、黒い箱です。
この場合の黒い箱とはシステムそのものを示します。
普段身の回りにはシステム上のブラックボックスはたくさんあります。
例えば、スマートフォンのメールが送られる仕組みをみなさんは説明できるでしょうか?
アプリを立ち上げ、文字を書き、送信ボタンを押すから送られる。
具体的に文字がどのように変換され、デジタル信号となって無線ネットワークを通じて・・・・
と説明できる方は少ないと思います。
このようなブラックボックスは利用する側としては、知る必要が無いため問題ありませんが、自社のシステムにおいては困ることがあります。
自社の利益計算やシステムのデータの流れなどはシステムに詳しくなくても知っておく必要があります。
これらをよく理解できていないまま、システムが計算してくれるからという状態では問題があります。
例えば、自社の原価率算出の計算式、給与の計算式、正しく把握できているでしょうか?
この場合、一般的な計算式ではありません。
自社には、数千個の原材料が必要な場合もあります。社員が数千人いる会社もあります。
その全てに対応するには複雑な計算式がいるはずです。
教科書で説明されているような計算式ではないはずです。
これを説明できる人はおそらくこの道何十年のベテラン社員だと思います。
だいたいが、職人気質でこの人に任せておけば大丈夫という頼りがいのある人の場合が多いです。
教えてくださいといっても、俺に任せておけば大丈夫と自分でなんでもやってしまい、人に教えたら仕事がなくなってしまうのでは?とさえ思っている可能性があります。
最悪のケースは、自社に全く把握している人が存在しておらず、システムを構築したベンダーに任せていた場合です。さらに、その会社がすでに廃業していて、知るすべが全く無い場合は絶望的です。
代々伝わるエクセルマクロも立派なレガシーシステム
システムと言うと多額のお金をかけて自社用に作ったソフトウェアやパッケージソフト、Webサービスを思い浮かべるかと思いますが、何年も引き継がれてきたエクセルのマクロファイルも立派なレガシーシステムと言えると思います。
以下のような今では誰のことかわからない名前やイニシャルがついたエクセルのマクロファイルのことです。
じゅんシステム.xls
●●計算ーJマクロ.xls
何年も前に在籍していた社員の人が作ったエクセルファイルで、業務の効率化をはかるためにマクロで作ってくれたという背景があり、
そのファイルが受け継がれ、ボタンを押すとこれが出来上がるということだけを、作業として引き継がれてきた結果、誰も中身がわからないような状態になっていることがあります。
しかもエクセルのバージョンはExcel 97とか。。。
このファイルを現在使っている従業員の方に話を聞くと必ずこのように返ってきます
「このボタンを押したら結果が出てくるので、それを提出すればよい。という引き継ぎを受けたのでそのようにしてます。それ以外はわかりません。」
この事は前述した、レガシーシステムの条件に当てはまっています。
これらが出来上がった背景
優秀なソフトウェアエンジニアが、臨機応変にその時の問題に対応して解決してきた結果だと思います。
優秀が故に大きな問題が起きずに現在まで動いてきたのではないでしょうか。
これは1人の優秀なソフトウェアエンジニアではなく、システム部門に所属する方々にも当てはまると思います。日々発生する不具合に愚直に対応してきて社内のメンバーが滞りなく業務ができるように仕事をしてきたからだと思います。
なぜなら、大きな問題が起きた場合はお金や人材を投入し、最新のシステムに入れて体制を強化するという経営判断をするはずです。
問題が起きないから、システムの刷新は後回しにされ、予算が削られてきたのではと想像します。
10年間システムに問題が起きていないからシステム部門を廃止にしてエンジニアを解雇するという会社の話も聞いたことがあります。
まとめ
レガシーシステムとは以下のいずれかに当てはまるシステムのことです。
- ハードウェア的に、ソフトウェア的に、老朽化している
- システム全体を把握できない無いくらい肥大化・複雑化している
- 処理の流れを理解している人が誰もおらずブラックボックス化している
本日の提案
- 社内にあるシステムを一度棚卸ししてみてはいかがでしょうか
- 大きなシステムがない企業は、エクセルのマクロもシステムと捉えて数えてみることをおすすめします
- 棚卸ししたシステムの中でレガシーシステムに該当するシステムにチェックを付けてみてください
投稿者プロフィール
-
フリーランスのITコンサルタント として、CIO代行サービスで多くの企業をサポートしています。
企業のIT戦略 立案・実行支援を行い、
ITを活用した情報システム の導入・マネジメント支援しています。
IT利活用 に関して気軽な相談から経営に関わる支援まで幅広く受け付けています。
普段私が仕事をする時にお客様やプロジェクトチームの方々に実際に話している内容をたくさんの方々に届けます。
DX(デジタルトランスフォーメーション)が好きすぎるので「DX王子」と呼ばれています。
最新の投稿
- 仕事術2024年8月29日面談前に職務経歴書などの提出をお願いする理由を解説します!
- フリーランス2024年3月22日フリーランス年収1000万を目指すなら「誰の言葉か?」が重要
- 仕事術2024年3月19日なぜオンラインミーティングを録画するのか!?メリットしか無いからです!
- フリーランス2024年3月4日50歳以上のエンジニアに送る!あなたに仕事がない理由
コメントを残す