サイト内検索
サイト内検索を閉じる

マイグレーションのメリット・デメリットとは?

2021/08/24

古い基盤で使われているシステム(レガシーシステム)をハードウェアサポート切れなどのリスクから守るためには、新しい基盤へのシステム移行を検討する必要があります。システム移行手段としてよく登場するのが、「マイグレーション(リライト)」と「スクラッチ開発(リビルド)」です。今回は、マイグレーションとスクラッチ開発の違いを解説した後、マイグレーションに焦点を当てて、メリット・デメリットを解説していきます。メリット・デメリットを理解した上で、マイグレーションを選択すべきか否か判断する際の助力となれば幸いです。

1.マイグレーションとスクラッチ開発の違い

冒頭でお伝えした通り、マイグレーションとスクラッチ開発はどちらもシステム移行の手段となります。それぞれの違いについて、簡単にまとめてみましょう。

【表1 マイグレーションとスクラッチ開発の違い】


マイグレーション(リライト) スクラッチ開発(リビルド)
開発方法 既存システム資源を活用し、 機能はそのままで別言語に移行する。 既存システムを廃棄し、要件定義・設計・開発を一から行う。
開発期間 ★比較的短期間 長期間
コスト ★抑制可能 非常に高額
設計 ★不要 必要
品質確保 ★全イベントテストによる現新一致テストがメイン ★要件・設計内容に対する全分岐網羅テストがメイン
開発リスク ★低い 高い
有識者の負荷 ★業務テスト実施時(PJ中盤以降)から必要となるため低め 要件定義(PJ序盤)から必要となるため高め
自由度 低い ★高い
業務要件変更 不可 ★可

それぞれを比較した際に、優れていると思われるほうを強調してみました。マイグレーション、スクラッチ開発それぞれにメリット・デメリットがあることがわかると思います。(「品質確保」についてはそれぞれ方法が異なりますが、どちらも開発方法に応じて最大限品質を高めるためのテスト内容であり、優劣はつけ難い内容となっていますので、両方を強調しております。)
次項からマイグレーションに焦点をあて、メリット・デメリットについて詳細な内容を解説していきます。

2.マイグレーションのメリット

マイグレーションのメリットとして前項で挙げられたのは、「開発期間」、「コスト」、「設計」、「開発リスク」、「有識者の負荷」となります。
マイグレーションでは既存システム資源に対して自動変換ツールを用い、大部分の開発(言語変換)を自動化した上で必要な部分のみ手動で開発する手法となっています。自動化できる部分が多くなればなるほど、すべて手作業のスクラッチ開発に比べ、作業コスト低減や開発期間短縮を実現することができます。
また、既存システムの 機能をそのまま別言語に移行するため、基本的には設計書を新しく作成する必要はありません。もし、設計書の更新が長期間されていないような場合は、システム全体を移行するマイグレーションを機に内容の見直し・更新を行って、マイグレーション開発後の保守性向上にもつなげることができると思います。
「既存システムと同じように動く≒新しい機能は作らない」という点で開発リスクが低いというのは明確ですし、何よりもお客様にとって結果がわかりやすいのはマイグレーションの大きなメリットであると考えます。
有識者の負荷が低いという点も大きなメリットです。前述の通り、「既存システムと同じように動く」が大原則であるため、業務がわからなくとも新旧比較テストは実施可能です。つまり、有識者から業務レクチャを受けなくても、ある程度のテストは進めることが可能ということになります。業務に特化したテストを実施する際は有識者の助力が必要となりますが、要件定義から有識者に負荷がかかるスクラッチ開発に比べれば、マイグレーションは有識者の負荷をかなり抑えられた状態でプロジェクトを進めることが可能です。
「品質確保」についてもメリットの中で触れておきます。マイグレーションのテストは全イベントテストがメインであり、全分岐網羅テストは実施しません。その代わりにテスト以外の部分でも品質の積み上げを行い、システム全体の品質向上を図っています。例えば、本開発前にプロトタイプ開発を実施して自動変換ツールの変換精度向上を行う、手動で開発する箇所の精緻化を行ってマイグレーション設計書という形で明示する、など、テスト実施前の開発時点でも品質を作りこんで品質向上を図っています。もちろんテストでも実際の本番データにマスクをかけたものでテストを実施する、モンキーテストを実施して想定外操作時の確認を行う、など、工夫し安心してシステムが使用できるよう品質の積み上げを行っています。

3.マイグレーションのデメリット

一方、デメリットとして挙げられたのは、「自由度」、「業務要件変更」となります。
前項でも述べた通り、「既存システムと同じように動く」がマイグレーションの大原則のため、機能追加・変更を行わずそのまま移行をする点がデメリットとして挙がってきます。プロジェクト開始後の機能追加・変更はプロジェクト難易度を上げる要因になるため推奨されませんが、プロジェクト開始前に追加・変更の可能性がある機能を洗い出すことができれば、計画に組み込めるため、必ずしも不可能ではないという点はご認識いただければと思います。

4.メリット・デメリットを踏まえた選択

これまでの解説を踏まえ、どのようなケースの場合にマイグレーションを選択すべきか記載します。

〇マイグレーションを選択したほうがよいケース

  • 移行にかかるコストをできるだけ抑えたい、開発期間を短くしたい
  • 既存システムはできる限りそのままの使用感を残して新しい技術を使いたい
  • 開発にかかる自分たちの負荷を抑えたい(有識者が少ない、体制が弱い)

〇マイグレーションを選択しないほうがよいケース

  • 現在の業務やシステムを全面的に刷新(改善)したい
  • 既存システムに不具合が多数あり、大規模な修正を同時に進めたい

上記を参考に、マイグレーションを選択すべきかご検討いただければと思います。

5.マイグレーションのメリット・デメリットとは? まとめ

今回はマイグレーションとスクラッチ開発を比較し、マイグレーションのメリット・デメリットについて解説をしました。ご覧いただいた皆さまが最善の選択をするための助力となれば幸いです。

当サイトでは、システム移行をお考えの方に向けて、参考になるダウンロード資料をご用意しております。『システム移行 変換率と品質向上サービス「オープンマイグレーション」基本ガイドブック』は、御社のシステム移行の意思決定のヒントになるはずです。
ぜひ、ダウンロードページより資料をご覧ください。

その他ブログのご案内

オープンマイグレーションサービスでは、その他下記のようなブログをご用意しております。

おすすめブログ

過去ブログ

すべての記事

PAGE TOP

サービスに関する資料をご希望の方は、フォームに必要事項を入力いただき、ご送信ください。

資料を請求する

お問い合わせ
各種お問い合わせページ
お問い合わせフォーム
サービスに関するお問い合わせ
お電話
0800-600-9810
携帯電話
050-5816-9805
受付時間 9:00~12:00 13:00~17:00(土・日・祝日を除く)

更新日時:2023年1月6日 13時40分