今回に引き続き社内システムのモダナイゼーションについてお話しをします。
「ITモダナイゼーション」は古いシステムを最新の製品・サービスや技術で新しいシステムに置き換えることですが、少し広い範囲でとらえると現行システムを今より上手に使いこなすことも含まれています。今回からそのモダナイゼーションの手法についてお話していきます。
1.リビルド
再構築という意味です。現行システムの仕様書をもとに最新の技術で設計・開発を行う方法です。性能改善はもちろん、可用性(使える時間や内容が増えること)や使い勝手も向上しますし、外部システムとの連携や、運用コストの削減にもつながりますが、当然準備の時間や開発コストは一番かかります。
また、現行システムの仕様書がない場合や業務にあっていない部分を見直す場合は、要件定義からする必要があるので、新規開発とほぼ変わらない状態になります。もちろん、参考システムがある分、多少は新規開発より負担は軽いです。
2.リプレース
置換という意味です。現行システムがパッケージソフトの場合に新しいパッケージ(他社製品含む)やクラウドサービスに移行する場合に行う手法です。もちろん、現行システムが自社開発でもその開発自体が古い場合は当時はパッケージで対応できない機能ができている可能性もあるので検討の価値はあります。
リビルドに比べると準備の時間や開発コストは抑えることはできます。特にクラウドサービスの場合は既存データの移行が円滑にできる場合は導入期間も不要なため、より準備時間は短縮でき、コストも初期費用を抑えることが可能です。また、詳細な仕様書を用意しなくても新しいシステムの機能が現行業務にあっているかどうかをチェックすることで対応できるので、既存システムのドキュメントが多少未整備でもできるのは大きいかもしれません。
ただし、新しいパッケージやクラウドサービスの機能が自社の求めている機能が含まれていない場合が問題です。パッケージやクラウドサービスによっては専用の追加開発を行ってくれる場合もありますが、それなりに時間やコストがかかります。また、機能に合わせるように業務を見直す場合は社内の体制づくりに時間がかかることも少なくありません。
3.リライト
書換という意味です。現行システムの機能は現行業務と一致しており、使い勝手も含めて大きな問題がない場合は、維持管理や性能向上、コスト削減のために開発言語を書き換えるという手法です。
前回お話ししたようにCOBOLのような開発者が減ってきている言語から、JAVAやC#のような開発者が豊富で技術として新しい言語に置き換えることがあります。新しいIT環境とも親和性が高いので、結果として使い勝手も向上することがあります。
言語の書き換えなので、現行システムのソース(プログラム言語で書かれているテキスト)はもちろん、ライブラリと呼ばれるよく使われているプログラムを再利用可能な状態にまとめたものの中身がわかっている必要があり、仕様書より現行システムのプログラムの最新版管理ができているかどうかがカギになります。
4.リホスト
再集結という意味ですが、ITインフラ(環境)の刷新といったほうがわかりやすいと思います。
こちらは現行システムのプログラムの変更はなく、サーバーやネットワークといったハードウェアやOS、ミドルウェア(OSとソフトウェアをつなげるもの、データベースやデータ連携ソフト等)といった基盤となるソフトウェアを最新のものに入れ替える方法です。
IT環境の進化は早いので、少し前の環境でも置き換えるだけで性能改善や可用性向上が見込めたり、同じ程度の性能であれば、価格的に安くなるなどのメリットがあります。ただし、新しくしたために現行システムが動かなくなったというパターンもあるため、動作確認は不可欠です。プログラムの内容によっては、部分的にリライトする必要が出てくる場合もあります。
今回もモダナイゼーションは再構築も含む大掛かりなものが多いですが、一般的なモダナイゼーションのイメージに近いものです。次回はもう少し小さな範囲のモダナイゼーションを紹介します。