Loading...

最終更新日時:2023.11.20 (公開日:2023.03.02)

マイグレーションとは?リホスト、リライト、リビルドの違いと手法が一挙にわかる!

システム移行の手法として、マイグレーションが注目されています。マイグレーションとはどのような意味であり、ユーザーが求める要望やメリットとは何があるのでしょうか?そしてよく耳にするマイグレーションの手法であるリホスト、リライト、リビルドの違いも知りたいところです。本記事では、マイグレーションとは?の意味を知ったうえで、リホスト、リライト、リビルドの違いを詳しく解説していきます。一挙にマイグレーションのすべてがわかるお得な記事です!

マイグレーション(migration)とは? まずは意味を知ろう

マイグレーションを学ぶ前に、まずユーザー企業が考える理想の基幹システムについて考えてみましょう。理想の基幹システムには「コストを抑え、安定した現行システムの移行に加え、新しい要件を実現できること」を求めているのではないでしょうか。つまり、現行システムの良いところを残して安定した移行を目指し、新しい要件も実現して、安く導入したいということです。

ユーザー企業がマイグレーションで要望する4つのポイント

  1. 現行システムの資産を活かしたい
  2. 安定したシステム移行
  3. 移行コストを抑えたい
  4. 新しい要件も追加し、導入メリットを増やしたい

マイグレーションは、現行システムをベースとするため、様々な制約があります。よって新しい業務要件がたくさん実現できるわけではありません。ただし、出来る限りのメリットを出していきたいのが実情です。このバランスをとるために、マイグレーションにはいくつかの手法が存在します。

ではマイグレーションにはどんな手法があるのでしょう?まずリホスト、リライト、リビルドの違いから理解してみましょう。読めば、一挙にわかりますよ!

品質を高め、プロジェクトを成功させるためのヒントがわかる
マイグレーション品質向上ガイドブック

リホスト、リライト、リビルドの違いとは? 

マイグレーションの手法の中で、よく耳にするのが、リホスト、リライト、リビルドです。それぞれの違いを解説していきましょう。

リホスト

アプリケーションやプログラムには手を加えず、IT基盤を入れ替える手法です。機器の保守切れやスペック向上のために、ハードウェアを新たに入れ替えるケースが該当します。リホストのみで実現できるマイグレーションは少なく、大規模なマイグレーションプロジェクトの1次フェーズとして実行されるケースがあります。

よく似た言葉で「リプレイス」「リプレース」がありますが、こちらはより広義な意味を持っており、リホストそのものを指すこともあれば、現行アプリを新規アプリに入れ替える行為を指すこともあります。

リライト

アプリケーション機能はそのままで、プログラムを新しい環境に合わせて、旧言語から新言語へ最適に書き換える手法です。例えば、VBで書かれた現行プログラムを、Javaなどの新しい言語に書き換えるようなケースがリライトと呼ばれています。後述の「リビルド」と比較すると、短期間/低コストで実現できますが、業務要件の変更は行えず、自由度は下がります。

よく似た言葉では「コンバージョン」がありますが、こちらも広義な意味を持っており、リライトそのものを指すこともあれば、プログラムやデータ、ファイルを書き換える手段を指すこともあります。

リビルド

現行のシステムを廃止し、新たにシステムを再構築する手法です。基本的にはスクラッチ開発と同義にはなりますが、現行システムの資産から業務仕様をベースとするほか、データのみ移行するといったケースもあります。要件定義を含めてイチから開発するため、業務要件も変更しやすく、自由度は高まります。一方で、相応のプロジェクト期間とコストを要する点は抑えておく必要があります。ERPパッケージシステムを新たに導入することも、リビルドに含むことがあります。

リホスト、リライト、リビルドの違いを理解いただけたでしょうか? それでは、マイグレーションに関して、もう少し掘り下げた説明をしたいと思います。

長期・大規模・高難度のプロジェクトをサポート
マイグレーション品質向上サービス

マイグレーションプロジェクトは難しい

前述した「ユーザー企業がマイグレーションで要望する4つのポイント」を思い出してみましょう。リホスト、リライト、リビルド、そのどれをとっても、すべての要望を満たす手法はありません。要望のトレードオフをかけながら、どの手法を採用するか、あるいは組み合わせるかを慎重に検討する必要があります。基幹システムのマイグレーションとなれば、プロジェクトに関わるステークホルダー(利害関係者)も非常に多くなり、プロジェクト発足の難易度は大きく跳ね上がります。

また、プロジェクトを遂行する上でも様々な問題が潜みます。ここでは、よくある問題やリスクについてアプローチをしていきます。

1.現行システムの仕様や要件が不明確

レガシーシステムで見られがちな問題のひとつに、「開発設計書が揃っていない」点が挙げられます。併せて、現行システム構築に携わったメンバーも残っておらず、有識者の確保も難しいため、現行システムそのものが「ブラックボックス」化するケースがあります。現行資産の活用という観点に対して、大きく阻害する要因のひとつになります。

2.コストの肥大化

プロジェクトが進むにつれ、追加要件や現行システムの改修反映といったインシデントが発生します。また、OSのアップグレードや周辺システムの仕様変更など、外的要因による対応コストの増加も考えられます。これらは、プロジェクトが長期に渡れば渡るほど、発生する可能性が高まっていくものです。

3.リソース管理が難しい

大規模プロジェクトになれば、特に人的資源のコントロールには困難を極めます。人材の調達はもちろん、プロジェクトマネジャや有識者を中心とした属人化や、負担箇所の集中も起こりがちです。

上記が影響し、プロジェクトが中断、または中止するケースは多くあります。マイグレーションプロジェクトの難しさについて、理解いただけたのではないでしょうか。

マイグレーションを迎えるために

「現行システムを新しいシステムへ移行する」と一口で表現するのは簡単ですが、その実態はとても大変な活動です。入念な準備と計画が必要であることはもちろんですが、その中で、現行システムの仕様や業務フローを明らかにすることが大切です。これには、システムマイニングのツールを活用し、現行システムの仕様やフローを把握する方法もあります。また、特にボリュームが膨らみがちなテスト工程において、マンパワーで解決しようとしない仕組み化も併せて検討したいところです。

まとめ

「マイグレーションとは?リホスト、リライト、リビルドの違いと手法が一挙にわかる!」と題しまして、ご説明してまいりました。それぞれの手法の違いと併せて、マイグレーションプロジェクトの難しさと、そのポイントも併せてお伝えできたかと思います。

バルテスでは「マイグレーション品質向上支援サービス」をご提供しています。難度の高いレガシーシステムのマイグレーションプロジェクトに対し、仕組み化されたテストサービスによる品質向上を実現します。システムマイニングツールを活用し、現行システムフローを可視化し、マイグレーションを進めていきます。また、マイグレーション経験者を中心とした品質管理支援担当者(QMO)がプロジェクトに入り、品質活動を強力に推進いたします。詳しくは「マイグレーション品質向上支援サービス」や下記資料をご覧ください。

当サイトでは、テスト技法を学びたい方、アジャイル開発やマイグレーションのテスト手法について知りたい方、テストアウトソーシングサービスに興味のある方へ、ダウンロード資料を多数ご用意しております。ぜひダウンロードいただき、資料をご活用ください。

CONTACT

お問い合わせ

バルテスでソフトウェアの品質向上と安全を手に入れよう