レガシーシステムの現場が直面するリアルな現状とその解決策
2019-06-21
azblob://2022/11/11/eyecatch/2019-06-21-legacy-system-problem-000.jpg

こんにちは!藤谷です。

今回はレガシーシステムの現場が実際に抱えている問題について触れてみます。
前職までは新卒入社してからの5年間、汎用機(メインフレーム。クレジットカード系です)の運用をベンダとして担当していたので、伝えられる範囲で汎用機ベンダのリアルな現状をお伝えします。

メインフレームとは現在のPCが登場する以前の、複数処理を1台でこなす大型のコンピュータのことです(ざっくり)。銀行で導入されているメインフレームは非常に高速で、現在のNoSQLのような非リレーショナルなデータベースを採用していることが多いです。また、ハードウェアのバージョンアップでスペック向上が見込め、サポート期間の概念も無いため非常に延命力に優れています。反対に、WindowsやUNIXのようなオープン系システムは存在こそするものの2019年現在でもまだまだシェアは低いです。
メインフレームで稼働するプログラムはCOBOLという言語で書かれているケースが比較的多いですが、一つの処理に対し膨大なトランザクションが走っており、この業務フローを変更することが極めて大変になっています。

https://tech-blog.cloud-config.jp/https-tech-blog-cloud-config-jp-2019-06-05-fintech-cloud-history/

ちょっと暗い話題なので書こうか迷ったんですが、今の日本において決して無視のできない実態であり、同時に危機感と使命感をもって解決すべき重大な案件と認識しています。

FIXERでは日本で前例のない、銀行のクラウド化というのをやっていますので、レガシーシステムのクラウド化はホットな話題ですね!

銀行のオンプレミス資産をクラウド化――紀陽銀行、Azure移行プロジェクトを開始

レガシーシステムの現場が苦しむ負の連鎖

イメージをお伝えすると「負の連鎖」。
では具体的にどのような問題が起きているのか?

属人化は当たり前!大ベテランによって運用されている

レガシーシステムの中には20~30年前に作られたプログラムも当たり前にあり、しかも現役で動いています。それを支えているのは50代、60代の大ベテラン。

ソースコード・ドキュメントの管理などの分野は20年以上も前のスタイルです。
世の中に出回る「新しい技術」はすべて無関係で、仕様は大ベテランの脳内にインプットされていて仕様書などは基本ありません。
入ったばかりの人は突然ブラックボックスの渦中に放り込まれます。

コマンドなどもたくさんありますが、独自コマンドだったり、そもそも古すぎてWEB上に情報はありません。 古いマニュアルを読み解く必要があります。

大ベテランが退職してしまうと、誰もそのシステムに対応できる人がいなくなってしまうのが現状です。

ほかにも…

  • 山ほどの運用業務が開発する時間を奪う
  • 人為的ミスの発生しやすいシステム設計
  • 人為的ミスなどで毎日のようにトラブル対応
というのは日常茶飯事です。

人材の育成ができない

新卒を育てる→今さらレガシーシステムを?
中途で経験者を採用する→やったことある人なんているの?

数年先をどうしようか?というよりも、今年をどう乗り切るか…が問題です。

レガシーシステム

これからどうすれば良いのか

これらの問題はもはや現場レベルで解決できるほど簡単ではありません。
会社としてどうしていくか?会社全体の文化や価値観をどのようにアップデートしていくか?を意識して行動することが大事だと思います。

例えば

  • 知見を広めるため、外部セミナーや勉強会などに積極的に参加、登壇するよう会社として奨励する
  • 改善提案を柔軟に受け入れて会社として提案をする人を評価する
  • 少しずつでも世の中の新しい技術を取り入れる(例えばSlackを使うだけというのでもすぐにできる)
  • やる前に考えすぎるとほとんどの場合、行動に移らないので「とりあえずやってみる行動思考」に切り替える
  • ペーパーレス、自動化などできるところからやってみる

など。

当たり前ですが今できる小さなところから改善を積み重ねていく、改善点を見つけられる視点を持つ、
新しいことに対しての感度を強めて、実際に行動に移す、ということを現場ではなく会社全体として、組織として考えていかなければならない状況に差し掛かっているのではないかと感じます。 価値観、マインドをアップデートしなければそもそもシステムをアップデートする考えに至らないと思うので。

実例から学ぶ組織としてのチャレンジ

私は前職でクレジットカード会社を担当していましたが、それは銀行のシステムと同じ、オンプレの勘定系システムです。 今回紹介したような問題を抱えている銀行さん、カード会社さんも多く存在するのではないでしょうか。

銀行のクラウド化の実例に関しては当ブログで過去に連載記事があります。オンプレで構築されている勘定系システムをクラウド上で構築する挑戦など。

ASCIIさんに金融サービスをアジャイル開発した事例の記事も掲載されています。

金融サービスをアジャイル開発できる内部組織を作る、北國銀行の取り組み

このように、世の中でどのような動きがあるか?の情報を常に仕入れながら、それに遅れないために、自分たちには時代に即して何ができるか?を考えていく必要があるのではないでしょうか。

まとめ

メインフレームは延命させればさせるほどに、苦しくなっていくと思っています。(特に人材リソース)

クラウド化は一つの手段ですが、ほかの手段も含めて残存するレガシーシステムについて、もっとポジティブに、良い方向にアップデートできるようになればいいなと、それをFIXERでも推進していけたら良いなと思います。