レガシーシステムのマイグレーション費用と進め方|失敗しない移行計画
レガシーシステムの刷新では、単純な「画面数×開発単価」だけでは費用を読めません。現行資産の把握、外部連携、データ移行、並行稼働、業務停止時間、テスト量まで見積もる必要があります。特にCOBOLからJavaへの移行や基幹システム刷新では、プログラム変換そのものよりも、現行仕様を復元し、新システムで同じ業務結果を再現できるかを確認する工程が大きな比重を占めます。
SY Partnersは、現行システムの棚卸しから方式選定、設計・開発、移行、安定化までを支援範囲として公開しており、Rehost / Replatform / Refactor / Rebuild / Replaceを案件ごとに使い分けています。移行費用を抑えるポイントは、最初から全面再構築に決めるのではなく、業務影響、技術的負債、停止リスクを分けて評価し、段階的に投資判断を行うことです。
1. レガシーシステムのマイグレーション費用はいくらか
公開相場は「予算の入口」として使い、正式見積もりとは分けて考える
公開されている国内のシステム開発市場情報では、基幹システムの導入・刷新は数百万円から数千万円規模まで幅があります。発注ナビの2026年公開情報では基幹システム導入の目安として約250万〜3,000万円が示され、別の公開事例では公共系オンプレミス移行の計画・PMO・ベンダー調整を12か月実施して約1,200万円という例があります。これらは案件の規模感を把握する材料としては有効ですが、レガシー移行は前提条件の差が大きいため、そのまま自社案件へ当てはめることはできません。
とくに既存システムでは、画面数やプログラム本数が同じでも、仕様書の欠落、バッチ処理、周辺システムとの連携、データ品質、業務停止時間の制約によって調査とテストの工数が大きく変わります。そのため、公開相場は経営判断のための「初期レンジ」として使い、正式な発注金額は現状診断と移行方式の選定後に算出するのが安全です。SY Partnersのサービスページでも、移行方式を一つに固定せず、現状評価から段階的な計画を組み立てる方針が示されています。
費用は「開発費」ではなく、診断から安定化までの総コストで見る
レガシー移行の見積もりでは、実装工程だけを抜き出すと全体像を見誤ります。最初に必要なのは、ソースコード、データベース、ジョブ、外部インターフェース、運用手順を把握する現状診断です。その後に、どの機能をRehostし、どこをRefactorし、どの領域をRebuildするかを決める方式設計が続きます。方式が確定して初めて、コード変換、API化、クラウド移行、再実装などの開発工程を現実的に積算できます。
さらに本番移行では、データクレンジング、変換、照合、回帰テスト、性能試験、UAT、切替リハーサル、ロールバック手順、監視設定、運用引継ぎまで必要です。特に基幹系では「新しいシステムが動く」ことだけでなく、「旧システムと同じ業務結果を出せる」「切替後に業務を止めずに運用できる」ことが完了条件になります。見積書を見る際は、開発単価よりも、どの工程まで責任範囲に含まれているかを確認することが重要です。
初期見積もりでは、金額より先に「不確実性」を減らす
発注前の段階で正確な金額を出したい場合でも、いきなり全機能を詳細見積もりする必要はありません。最初にシステム一覧、利用言語、OS、DB、主要バッチ、帳票、外部連携、データ量、運用時間、障害履歴、既存ドキュメントを整理し、情報が不足している領域を特定します。その上で、代表機能を選んでPoCやコード解析を行うと、変換難易度やテスト量を実データから補正できます。
この方法では、最初の診断費用は別途必要になりますが、後工程の見積もり誤差を小さくできます。特にCOBOLや長期間保守されたJavaシステムでは、コード本数だけでは業務ロジックの複雑さを測れません。調査結果をもとに「確定できる範囲」と「まだ不確実な範囲」を分け、Waveごとに再見積もりする方が、経営側にも開発側にも説明可能な予算管理になります。
| 予算帯 | 想定しやすい範囲 | 注意点 |
|---|---|---|
| 〜500万円 | 診断・PoC・限定範囲の移行 | 全面刷新ではなく対象を絞る前提 |
| 500〜1,500万円 | 小〜中規模のRehost / Replatform、限定的改修 | 外部連携・データ移行で上振れ |
| 1,500〜3,000万円 | 複数機能のRefactor、基幹系の段階刷新 | 並行稼働・回帰テストが重要 |
| 3,000万円〜 | 大規模基幹系、COBOL→Java、Rebuildを含む刷新 | 複数Wave・長期計画も想定 |
2. 費用が大きく変わるポイント
仕様書不足と外部連携は、調査工数と設計変更を増やす
長期間運用されたレガシーシステムでは、最新の仕様が設計書ではなくソースコードや担当者の記憶に残っていることがあります。仕様書が古い、テーブル定義が更新されていない、バッチの実行順序が運用担当者しか知らないといった状態では、刷新前に「現行システムが何をしているか」を復元する必要があります。このリバースエンジニアリングが不足すると、新システム開発の後半で隠れた業務ルールが見つかり、手戻りにつながります。
外部連携も同様です。会計、認証、EDI、ファイル連携、周辺DB、帳票、監視など、レガシーシステムは単独で動いていないことが多くあります。移行対象だけを新しくしても、接続先が旧プロトコルや固定フォーマットに依存していれば、アダプターや変換処理が必要になります。そのため、見積もり時にはアプリ本体だけでなく、境界面の数と変更可否を一覧化することが重要です。
データ品質と停止許容時間は、移行計画そのものを変える
データ移行では、単純なコピーよりも、重複、欠損、文字コード、日付形式、コード体系、桁数、参照整合性の修正に工数がかかります。新旧システムでデータモデルが変わる場合は、どの項目を統合・分割・廃止するかを業務側と確認し、変換ルールをテスト可能な形で残す必要があります。データ量が多いほど、実際の本番ボリュームで移行時間を計測しなければ切替計画を確定できません。
さらに、24時間365日稼働や月末締めなど、停止可能時間が短いシステムでは、一括移行が難しくなります。停止時間を数時間に限定する場合、事前同期、差分反映、並行稼働、切替判定、ロールバックなどの仕組みを追加しなければなりません。つまり「止められない」という要件は、単に作業日を夜間へ移すだけではなく、アーキテクチャと運用設計の費用を増やす要因になります。
自動テスト不足とスコープ拡大は、後半のコストを膨らませる
現行システムに自動テストが少ない場合、刷新後に同じ結果が得られるかを人手で確認する割合が増えます。入力条件の組み合わせが多い基幹業務では、代表ケースだけでは不足し、月次処理、異常系、境界値、権限差、過去データなどを含めた回帰テストが必要です。特にCOBOLからJavaへ変換する場合、構文が動くことと業務結果が一致することは別の問題であり、比較可能なテストデータと期待値を整備する必要があります。
もう一つ注意すべきなのが、移行と同時に新機能開発や業務改革を広げすぎることです。刷新プロジェクトでは「どうせ作り直すなら」と要望が増えやすい一方、変更範囲が広がるほど旧新比較が難しくなります。移行で守るものと、刷新で変えるものを分け、変更管理を明示的に行うことが、予算と品質を同時に守るポイントです。
3. 移行方式の比較|RehostからRebuildまで
RehostとReplatformは、短期間で環境を新しくしたい場合に向く
Rehostは、アプリケーションの構造を大きく変えずに新しいインフラへ移す方式です。MicrosoftのCloud Adoption Frameworkでも、事業への影響を抑えながら短期間で移行したい安定したワークロードに適する一方、既存の性能問題や技術的負債そのものは解消しないと説明されています。したがって、データセンター退去、ハードウェア更改、サポート期限など、まず基盤側のリスクを下げたい場合に有効です。
Replatformは、コード変更を最小限にしながら、データベースや実行環境をPaaS・マネージドサービスなどへ移す考え方です。運用負荷やOS管理を減らしやすい一方で、アプリケーション内部の設計は多く残ります。RehostとReplatformは費用と期間を抑えやすい反面、「次の改修がしやすくなるか」「保守要員問題が解消するか」という長期目的とは分けて評価する必要があります。
Refactor・Rebuild・Replaceは、将来の変更容易性まで改善する
Refactorでは、業務機能を大きく変えずにコード構造や依存関係を整理し、保守性やクラウド適合性を高めます。Microsoftは、技術的負債が開発速度や運用効率を下げている場合にRefactorが有効としています。既存資産を活かせるため全面再構築よりリスクを抑えられることがありますが、コード変更範囲が広いため、十分な回帰テストが必要になります。
Rebuildは、現行仕様を参考にしながら新しいアーキテクチャと技術で再構築する方式です。Replaceは、自社開発を続ける代わりにSaaSやパッケージへ置き換える考え方です。どちらも既存の制約から大きく離れられる一方、要件整理、データ移行、業務変更、利用者教育まで含める必要があります。特にReplaceでは、既存業務へ製品を合わせるのではなく、どこまで業務側を標準機能へ寄せられるかが成功条件になります。
一つのシステムでも、機能ごとに方式を組み合わせる
実際のレガシーモダナイゼーションでは、システム全体を同じ方式で移行する必要はありません。安定している周辺機能はRehost、運用負荷の高いDBはReplatform、変更頻度の高い中核ロジックはRefactor、利用価値の低い独自機能はReplaceといったように、ビジネス価値と技術リスクに応じて方式を分けられます。MicrosoftやAWSの移行ガイダンスも、ワークロードごとに適切な戦略を選ぶことを前提にしています。
この組み合わせ方式では、すべてを一度に新しくするよりも、投資対効果の低い領域へ大きな予算を使うことを避けやすくなります。一方で、方式が複数になるほど、データ連携や移行順序の設計が重要です。どの機能を先に切り離すか、旧システムと新システムが共存する期間にどちらを正とするかを、Wave計画の中で明確にします。
| 方式 | 変更量 | 向くケース | 注意点 |
|---|---|---|---|
| Rehost | 小 | 基盤更改を急ぐ | 技術的負債が残る |
| Replatform | 小〜中 | 運用負荷を下げる | 内部設計は多く残る |
| Refactor | 中〜大 | 保守性・拡張性改善 | テスト量が増える |
| Rebuild | 大 | 業務・UXまで刷新 | 要件膨張に注意 |
| Replace | 大 | SaaS / パッケージ化 | 業務適合が必要 |
4. COBOLからJavaへ移行する場合に増える作業
最初にコードではなく、業務資産と実行順序を棚卸しする
COBOLからJavaへの移行では、ソースファイルだけを数えても必要工数を把握できません。JCL、バッチ、帳票、COPY句、ファイル処理、DBアクセス、外部インターフェース、スケジューラー、運用監視など、実行環境全体を一つの資産として整理する必要があります。特に夜間バッチでは、個々のプログラムよりも処理順序や前提データ、異常終了時の再開方法が業務上重要です。
また、現行システムで使われている文字コード、日付、数値桁、丸め、固定長ファイル、符号表現などは、Java側で同じ結果になるとは限りません。移行対象を「コード変換」として狭く定義すると、後から帳票や連携先で差分が見つかります。棚卸し段階で、どの資産が業務結果へ影響しているかを関連付けておくことが、後工程のテスト設計につながります。
自動変換は工数を減らせるが、保守可能なJavaになるとは限らない
自動変換ツールやAI支援を使えば、構文置換や定型処理の変換速度を上げられる場合があります。ただし、変換されたコードがコンパイルできることと、将来のJava開発者が理解しやすい構造になっていることは別です。COBOLの段落構造や共有データ領域をそのままJavaへ写すと、技術的には新言語でも、保守性は旧システムとほとんど変わらない状態になる可能性があります。
そのため、自動変換を使う場合でも、変換率だけで成果を評価しないことが重要です。業務ドメインごとのモジュール分割、例外処理、ログ、データアクセス、テスト容易性、依存関係を確認し、必要な箇所はRefactorします。SY Partnersは技術領域としてCOBOL、Java Legacy Systems、Mainframe Integration、AI-assisted Legacy Migrationを公開しており、旧技術と新技術の両側を前提にした移行が求められます。
成功判定は「新しい言語で動いた」ではなく、業務結果が一致したかで行う
COBOL→Javaで最も重要な検証の一つが、新旧システムの結果比較です。同じ入力データに対して、金額、件数、ステータス、帳票、ファイル出力、エラー条件が一致するかを確認します。特に会計・請求・在庫などでは、1件の差分が下流システムへ連鎖するため、代表ケースだけでなく、境界値、過去データ、異常系を含むテストデータを準備する必要があります。
本番切替前には、実データ量に近い条件で処理時間を計測し、切替可能時間内にデータ移行と検証が完了するかを確認します。もし時間内に終わらない場合は、事前同期や差分移行へ方式を変更します。つまり、COBOLからJavaへの移行は、言語変換プロジェクトではなく、業務継続性を検証しながら実行基盤と保守性を更新するモダナイゼーションとして設計する必要があります。
5. 失敗しないマイグレーションの進め方
診断フェーズでは、資産一覧と業務優先度を同時に作る
最初のフェーズでは、システム構成だけでなく、各機能が事業上どれだけ重要かを整理します。言語、OS、DB、外部連携、データ量、バッチ、利用部門、障害履歴、保守担当者を一覧化し、技術的な老朽化と業務上の重要度を同じ表で見られるようにします。これにより、古いから優先するのではなく、「変更に時間がかかる」「サポート切れが近い」「担当者が少ない」「DX施策を阻害している」といった具体的な理由で優先順位を決められます。
同時に、止められない処理、月末・年度末、法令・監査対象、外部企業との接続など、移行時に守るべき制約を明確にします。技術側が安全だと思う移行順と、業務側が許容できる移行順は異なることがあります。初期段階から両者を結び付けておくことで、後から切替日やWave順序を全面的に見直すリスクを減らせます。
PoCで難易度を補正し、Wave単位で移行計画を作る
棚卸し後は、代表的な機能や最も不確実な領域を使ってPoCを行います。たとえばCOBOL→Javaなら、単純なオンライン処理だけではなく、バッチ、DBアクセス、帳票、外部連携を含む機能を選ぶ方が、実際の難易度を把握しやすくなります。PoCでは変換可否だけでなく、性能、テスト方法、開発生産性、保守性を確認し、見積もり前提を更新します。
その結果をもとに、移行対象を複数のWaveへ分けます。依存関係が少なく影響の小さい領域から始める方法もあれば、共通基盤を先に整備してから中核業務を移す方法もあります。重要なのは、各Waveに「完了条件」「切替条件」「戻す条件」を持たせることです。MicrosoftのCloud Adoption Frameworkも、モダナイゼーションでは段階計画とガバナンスを重視し、過剰なモダナイゼーションやスコープ膨張を避けることを推奨しています。
本番前に移行リハーサルを行い、切替後の安定化まで計画する
本番移行は、開発完了後に一度だけ行う作業ではありません。実際のデータ量、ネットワーク、作業担当者、切替手順をできるだけ本番に近づけたリハーサルを行い、所要時間、照合方法、Go/No-Go判断、ロールバックに必要な時間を測定します。結果に応じて、移行ツール、手順、担当分担、連絡フローを修正し、繰り返すほど切替の不確実性を下げられます。
また、本番切替が完了しても、すぐに旧環境を停止しない場合があります。新システムの監視、障害対応、データ差分、性能、利用者問い合わせを一定期間確認し、安定化の条件を満たしてから旧環境を停止します。運用ドキュメント、監視ルール、保守手順、担当者教育まで含めて完了させることで、移行後に新しい属人化を作ることを防ぎます。
6. 一括移行と段階移行はどう選ぶか
一括移行は、依存関係が単純で停止時間を確保できる場合に向く
一括移行は、特定の切替日時に旧システムから新システムへまとめて移る方式です。移行期間を短くしやすく、旧新システムの長期共存を避けられるため、データ同期や二重運用の複雑さを抑えられる場合があります。対象が比較的小さく、外部連携が少なく、十分な停止時間とロールバック時間を確保できる場合には有力な選択肢です。
一方で、切替日に問題が発生した場合の影響範囲が大きくなります。業務停止が許されない基幹系では、すべてのテストとデータ移行を事前に高い精度で再現する必要があります。新システムへ一度に大量の利用者が移るため、操作教育、問い合わせ体制、性能監視も同時に準備しなければなりません。期間が短いから必ず安いとは限らず、リスク対策のコストまで含めて比較する必要があります。
段階移行は、リスクを分割できる代わりに共存期間の設計が必要
段階移行では、機能、部門、地域、データ、業務フローなどの単位で少しずつ新システムへ移します。初期Waveの結果から次のWaveの見積もりや手順を改善できるため、未知の多いレガシーシステムと相性が良い方法です。障害が起きても影響範囲を限定しやすく、重要機能へ進む前にチームが移行プロセスへ慣れるという利点もあります。
ただし、旧新システムが一定期間共存するため、どちらが正データを持つか、データをどの方向へ同期するか、利用者がどの機能をどちらで操作するかを明確にしなければなりません。共存期間が長くなるほど、二重保守や連携アダプターのコストが増える可能性があります。段階移行は安全性を高める手段ですが、Wave間の境界を設計しないと、むしろ複雑さが増えます。
判断基準は、期間ではなく停止リスク・依存関係・戻しやすさ
方式を選ぶ際は、「早く終わるか」だけでなく、停止できる時間、外部連携の数、データ量、業務の季節性、利用者数、切替失敗時の影響、ロールバック可能性を比較します。月末処理やリアルタイム連携が多い場合、一括移行の技術的リスクは高くなります。反対に、独立性が高い小規模システムで長期間の二重運用が無駄になる場合は、一括切替の方が合理的です。
MicrosoftのCloud Adoption Frameworkは、移行・モダナイゼーション計画で予算超過、スコープ拡大、サービス中断を減らすために、事前計画とガバナンスを重視しています。実際の判断では、Big BangかPhasedかを二者択一で固定せず、システム全体は段階移行しつつ、各Wave内部では一括切替するなど、粒度を分けて設計する方法も有効です。
7. システム刷新ベンダーを選ぶチェックポイント
現行解析と方式比較を自社都合ではなく説明できるか
レガシー移行を外注する場合、最初に確認したいのは、ベンダーが開発前の調査をどこまで行えるかです。ソースコードだけを見て見積もるのではなく、データ、ジョブ、外部連携、運用、業務部門へのヒアリングまで含めて現状を把握できるベンダーの方が、後工程の不確実性を減らしやすくなります。特に仕様書が不足しているシステムでは、調査能力そのものが移行品質に直結します。
また、最初からRebuildや特定クラウドへ誘導するのではなく、Rehost、Replatform、Refactor、Rebuild、Replaceの複数案を比較し、費用、期間、リスク、将来性の違いを説明できるかを確認します。Microsoftの移行ガイダンスでも、ワークロードごとのビジネスドライバーと制約に合わせて戦略を選ぶことが前提です。提案書では、採用しなかった方式の理由まで確認すると、判断の透明性を評価できます。
データ移行・テスト・切替まで責任範囲を持てるか
開発会社としての実装力が高くても、レガシー移行特有の工程を扱えなければ本番切替で問題が起きます。データ移行ではクレンジング、変換、照合、リハーサルを設計できるか、テストでは旧新比較、性能、回帰、UATをどのように組み合わせるか、切替では停止時間、Go/No-Go判断、ロールバックを誰が決めるかを確認します。
見積書やRFPでは「移行支援」「テスト支援」といった曖昧な言葉だけでなく、成果物と責任境界を明記します。たとえば、データ変換スクリプトは誰が作るのか、データ照合の基準値は誰が承認するのか、移行リハーサルは何回含むのか、本番切替後の障害対応は何日間か、といった点です。外注先の比較では、人月単価よりも、移行工程を最後まで閉じられる体制かどうかを見る方が重要です。
日越混成チームでは、意思決定と品質管理の仕組みを確認する
オフショアや日越混成チームを使う場合は、コミュニケーション言語だけでなく、誰が業務判断を行い、誰が技術判断を行い、どのタイミングで変更を承認するかを確認します。仕様が曖昧なレガシー移行では、質問への回答待ちが長いほど開発が止まりやすく、逆に現場判断で進めすぎると業務差分が生まれます。日本側PM/BAと開発チームの責任分担を、会議頻度や承認フローまで具体化する必要があります。
品質面では、コードレビュー、テストレビュー、課題管理、変更管理、成果物の言語、ドキュメント更新ルールを確認します。日次で開発状況を追い、週次でリスクと意思決定事項を閉じるなど、プロジェクトのリズムを固定すると、距離による遅延を抑えやすくなります。ベンダー選定時には、過去実績の件数だけではなく、実際のプロジェクト運営方法を説明してもらうことが重要です。
8. 日越混成チームで進める刷新モデルケース
日本側は業務判断、ベトナム側は解析・実装を並列化する
SY Partnersは、現地開発チームと日本語対応PMが連携する提供体制を公開しています。これをレガシー刷新へ当てはめる場合、日本側PM/BAが業務ヒアリング、優先順位、停止許容時間、受入条件、経営・現場との意思決定を担当し、ベトナム側チームが資産解析、Java再実装、テスト自動化、データ変換、クラウド構築などを担当するモデルが考えられます。これは公開されている提供体制をもとにした想定モデルであり、特定顧客の実績値ではありません。
この分担の目的は、人件費差だけではありません。日本側で業務判断を近く保ちながら、技術的な調査・実装・テストを専任チームで並列化し、調査結果を次のWaveへ継続的に蓄積することにあります。特に長期刷新では、毎回別メンバーへ引き継ぐより、同じチームが現行システムの背景を理解し続ける方が、仕様確認や障害調査を効率化しやすくなります。
日次・週次の確認ポイントを固定し、仕様の曖昧さを放置しない
レガシー移行では、仕様書に書かれていない業務ルールが開発中に見つかることがあります。そのため、質問管理をチャットだけで流さず、未決事項、判断者、期限、影響範囲を課題として記録します。日次では開発ブロッカーと差分を確認し、週次では業務判断、リスク、変更要求、次Waveへの影響を整理するように、コミュニケーションの単位を決めることが重要です。
また、日本語で要件を伝えた後、開発チームがどのように理解したかを設計書、受入条件、テストケースとして戻してもらうことで、認識差を早期に発見できます。会議回数を増やすだけでは品質は上がりません。どの情報をどの成果物へ残し、誰が承認するかを固定することが、日越混成チームでのコミュニケーションコストを下げるポイントです。
品質を日本側だけで検査せず、開発工程内で作り込む
オフショア開発で起きやすい失敗の一つは、開発をベトナム側へ任せ、日本側が最後に受入テストで品質を確認する構造です。レガシー移行では差分が大量に出る可能性があるため、最終工程だけで問題を見つけると修正コストが大きくなります。コードレビュー、自動テスト、旧新結果比較、データ照合を開発工程内へ組み込み、Waveごとに品質指標を確認する方が安全です。
日本側はすべての実装詳細を確認するのではなく、業務結果、重大リスク、受入条件へ集中します。ベトナム側は技術品質とテスト結果を可視化し、判断が必要な差分だけを日本側へエスカレーションします。この役割分担ができれば、単純な作業移管ではなく、判断と実装を並列化した刷新体制として運用できます。
9. SY Partnersのレガシーモダナイゼーション支援
現状診断から、システムごとの移行方式を選定する
SY PartnersのLegacy Modernizationサービスでは、最初にsystems、code、data、operationを棚卸しし、その結果から移行計画を作る流れが公開されています。また、Rehost / Replatform / Refactor / Rebuild / Replaceの5つをアプローチとして示しており、全面再構築を前提にせず、システムごとに現実的な選択肢を比較する方針です。
技術ページでは、COBOL、Java Legacy Systems、JSP / Servlet / Struts、Mainframe Integration、Application Modernization、Cloud Migration、Legacy System Analysis & Migrationなどが対応領域として掲載されています。したがって、旧言語の解析だけでなく、Javaやクラウドを含む移行先の技術まで一つの計画として扱えることが、サービスの特徴として読み取れます。
開発だけでなく、データ移行・テスト・デプロイ・運用までつなげる
レガシー刷新では、新システムの開発と本番移行を別プロジェクトのように扱うと、責任境界で問題が起きやすくなります。SY Partnersはサービス範囲として、modernization planning、migration、development、testing、deployment、operationまでを公開しており、現行資産の把握からリリース後まで一貫して設計できる構成になっています。
特に複数Waveで移行する場合、初期Waveで得た知識を次のWaveへ反映し続けることが重要です。データ変換ルール、テストケース、切替手順、障害対応、監視設定を共通資産として蓄積すると、後半Waveのリスクを下げられます。単発の開発委託ではなく、刷新全体を継続的に改善する運営体制を作ることが、長期モダナイゼーションでは重要になります。
全面刷新を決める前の段階でも相談できる
「古いシステムを変えたいが、どこから手を付けるべきか分からない」「COBOLをJavaへ移したいが、全面変換が必要か判断できない」「クラウドへ移したいが停止時間が取れない」といった段階では、実装見積もりよりも現状診断が先になります。何を残し、何を変え、何を廃止できるかを整理すると、不要な開発範囲を減らせます。
相談時には、完璧な仕様書を準備する必要はありません。現行システム一覧、分かる範囲の技術情報、主要業務、現在困っている点、希望時期、停止できる時間、予算感を共有すれば、最初に確認すべき対象を整理しやすくなります。正式な方式や費用は、その診断結果をもとに段階的に具体化します。
10. FAQ|レガシーシステム移行でよくある質問
Q1. マイグレーション費用は何で決まりますか?
費用は、画面数やコード量だけでは決まりません。対象機能、現行仕様の明確さ、データ量、外部連携、バッチ処理、停止許容時間、回帰テスト量、移行後の運用要件まで含めて変わります。特に仕様書が古い場合は、実装前に現行解析の工数が必要になり、24時間稼働システムでは並行稼働や差分移行の設計が追加されるため、同じ規模でも見積もりに差が出ます。
初期相談では、正確な金額を無理に出すより、現状診断の範囲と不確実性を確認する方が有効です。代表機能でPoCを行い、変換難易度、データ移行時間、テスト量を把握した後、Wave単位で金額を更新すると、予算の根拠を説明しやすくなります。
Q2. COBOLをJavaへ自動変換すれば安くできますか?
構文変換や定型処理の自動化によって、実装時間を短縮できる可能性はあります。ただし、COBOLの業務ロジック、JCL、バッチ、帳票、固定長ファイル、文字コード、数値桁などは、単純な変換だけでは安全性を確認できません。変換後に同じ業務結果が出るかを旧新比較し、運用担当者が使っていた例外処理まで再現できるかを検証する必要があります。
また、自動変換されたJavaがCOBOLの構造をそのまま引き継いでいると、新しい言語へ移したにもかかわらず保守性が改善しない場合があります。コスト削減効果を評価するときは、変換率だけでなく、Refactorに必要な工数、テスト自動化、将来の保守容易性まで含めて比較します。
Q3. 一括移行と段階移行はどちらが安いですか?
一括移行は旧新システムの共存期間を短くできるため、二重運用や同期処理の費用を抑えられる場合があります。しかし、本番切替の失敗影響が大きいため、移行リハーサル、性能試験、ロールバック準備へ多くの工数を使うことがあります。停止時間を十分確保できる小〜中規模システムでは、一括移行が合理的な場合があります。
段階移行は期間が長くなりやすい一方、初期Waveの学習を次へ反映でき、障害時の影響を限定しやすい方式です。依存関係の多い基幹系では、総額だけではなく、失敗時の事業損失や停止リスクまで含めて比較します。全体を段階移行し、各Wave内部を一括切替するハイブリッドも現実的です。
Q4. ベンダーへ見積もりを依頼する前に何を用意すべきですか?
準備できる範囲で、システム一覧、利用言語、OS、DB、主要画面、帳票、バッチ、外部連携、データ量、運用時間、障害履歴、既存設計書を集めます。また、技術資料だけでなく、現在困っていること、刷新の期限、止められない業務、今後追加したい機能を共有すると、方式選定の精度が上がります。
資料が不足していても、見積もり依頼を諦める必要はありません。仕様書が古いこと自体がレガシー化の典型的な課題であるため、現状診断やアセスメントを最初のフェーズとして外注できます。その場合は、診断で何を成果物として受け取れるか、次の見積もりへどう使うかを確認します。
Q5. SY PartnersはCOBOL関連の刷新に対応できますか?
SY Partnersの技術ページでは、レガシーモダナイゼーション領域としてCOBOL、Java Legacy Systems、JSP / Servlet / Struts、Mainframe Integration、Application Modernization、Cloud Migration、Legacy System Analysis & Migrationが公開されています。また、AI-assisted Legacy MigrationもAI-assisted Software Developmentの技術項目として掲載されています。
ただし、実際に対応できる範囲は、対象システムの言語バージョン、実行基盤、DB、周辺製品、規模、移行期限によって異なります。相談時に現行構成を共有し、解析対象、PoC範囲、必要スキル、チーム構成を確認した上で、具体的な対応範囲を定義します。
Q6. まず相談だけでも可能ですか?
全面刷新の方針が決まっていない段階でも、相談の価値があります。むしろ、方式を決める前に現行システムの制約と事業目的を整理した方が、不要なRebuildや過剰なクラウド化を避けやすくなります。Microsoftのモダナイゼーションガイダンスも、ビジネス価値に基づいて戦略を選び、過剰なモダナイゼーションを避けることを推奨しています。
最初の相談では、「何が古いか」だけではなく、「変更にどれくらい時間がかかるか」「誰しか分からない業務があるか」「サポート切れはあるか」「クラウド・データ・AI活用を阻害しているか」といった課題を共有すると、診断すべき優先領域が見えやすくなります。
・SY Partners「Technology」— COBOL / Java Legacy Systems / Mainframe Integration / Legacy System Analysis & Migration
・Microsoft Cloud Adoption Framework — ワークロードごとの移行戦略選定、段階計画、ガバナンス
・AWS Prescriptive Guidance — 7Rsとポートフォリオ単位の移行計画
・発注ナビ公開情報 — 基幹システムの費用相場・公開移行事例
まとめ
費用は、開発単価より不確実性と移行条件で決まる
レガシーシステムのマイグレーション費用は、数百万円から数千万円以上まで幅があり、システム規模だけでは決まりません。現行仕様の明確さ、データ量、外部連携、停止許容時間、テスト要件が費用を大きく左右します。公開相場は初期予算の参考に使い、正式な見積もりは現状診断とPoCの結果から段階的に精度を上げる方が安全です。
移行方式とWaveを分け、PoCとリハーサルでリスクを減らす
失敗を避けるには、最初から全面再構築へ進まず、現行資産を棚卸しした上で、Rehost / Replatform / Refactor / Rebuild / Replaceを機能ごとに選びます。その後、PoCで難易度を補正し、移行対象をWaveへ分け、本番データに近い条件でリハーサルを行います。切替後の監視、運用引継ぎ、旧環境停止までを計画に含めて初めて、マイグレーション全体を管理できます。
ベンダーは、コード変換ではなく刷新全体を閉じられるかで選ぶ
COBOLからJavaへの移行や基幹システム刷新を外注する場合は、コード変換の可否だけでなく、現行解析、業務結果の一致、データ移行、回帰テスト、切替、安定化まで責任を持てるかを比較してください。SY Partnersでは、現状診断から方式選定、開発、移行、テスト、運用までをレガシーモダナイゼーション支援範囲として公開しており、全面刷新を決める前の段階から相談できます。



