Skip to main content

Column / Process

レガシーシステムを、
止めずに移行する進め方

仕様が分からない、作った人がいない、止められない。長く使ってきた業務システムを、業務を止めずに新しい環境へ移すための進め方を、5つのステップでご紹介します。

長く使ってきた業務システムほど、「仕様が分からない」「作った人がいない」「止められない」という悩みを抱えがちです。一度にすべてを作り直そうとすると、時間もリスクも大きくなります。この記事では、業務を止めずに段階的に移行するための進め方を、5つのステップと図解でご紹介します。

なぜ、レガシーシステムの移行は止まりやすいのか

長く使ってきた業務システムには、その会社の業務の工夫が積み重なっています。一方で、年月がたつほど、作った人が異動や退職でいなくなり、仕様書も実際の動きと合わなくなっていきます。「どこを触ると何が起きるか分からない」状態になると、改修も移行も手を付けにくくなります。

さらに、業務システムは止められないことがほとんどです。止められないから触れない、触れないからさらに分からなくなる、という悪循環に陥りがちです。そこで有効なのが、一度にすべてを入れ替えるのではなく、確かめながら少しずつ移していく進め方です。

一度に入れ替える進め方と、まとまりごとに移す進め方
図1 一度に入れ替える進め方と、まとまりごとに移す進め方

この記事では、業務を止めずに段階的に移行するための進め方を、5つのステップでご紹介します。

移行を始める前に確認したいこと

最初に、今のシステムがどう使われているかを把握します。ここを飛ばすと、移す順番を決められず、移行の範囲も膨らみがちです。次の項目を、業務の担当者と一緒に確かめておきましょう。

  • 毎日使われている機能と、ほとんど使われていない機能

    使われていない機能は、移さずにやめるという選択肢もあります。移行は、機能を整理するよい機会です。

  • 止まったときに、業務への影響が大きい部分

    影響が大きい部分ほど、移行の後半に回し、進め方が固まってから取りかかります。

  • 外部のシステムやファイルとのやりとり

    取引先とのデータのやりとりや、ほかのシステムとの連携は、見落とすと切り替え後に大きな問題になります。

  • 移行の期限や、動かせない制約

    年度の切り替えや法令への対応など、動かせない日程があれば、そこから逆算して計画します。

移行計画の立て方

移行の計画は、最初から細部まで決めきる必要はありません。最初に決めておきたいのは、次の3つです。

  • ゴール:移行が終わった状態を、業務の言葉で決める(例:今の画面で行っている業務が、新しい環境でも同じように回る)
  • 順番:どの機能のまとまりから移すかと、その理由
  • 確かめ方:移した機能が正しいことを、何をもって確かめるか

期間は、ステップ1の仕様の見える化が終わった時点で見積もるのが現実的です。仕様が見えていない段階での見積もりは、どうしても大きくぶれてしまいます。まずは見える化に取り組み、その結果をもとに全体の計画を立て直す、という二段構えで進めると、無理のない計画になります。

移行を進める体制

移行は、開発の担当者だけでは進められません。業務を知っている人の協力が欠かせないため、最初に役割を決めておきます。

役割 主に担うこと
業務の担当者 今の使い方の説明、仕様の確認、新旧の結果の確認
意思決定をする人 移行の範囲と順番、切り替えの日程の決定
開発チーム 仕様の見える化、新しい環境への実装、テストの用意
運用の担当者 切り替え時の案内、問い合わせ対応、移行後の見守り

業務の担当者は、日々の仕事と並行して移行に関わることになります。確認をお願いする量とタイミングを、あらかじめ相談しておくとよいでしょう。

ステップ1:今の仕様を見える化する

まずは既存のコードやデータを解析し、何がどう動いているかを整理します。生成AIを使えば、古いコードの読み解きや、処理の流れの洗い出しを短い時間で進められます。画面ごとの役割、データの項目、計算のルールなどを、読める形の資料にまとめていきます。

ただし、コードから分かるのは「どう動いているか」までです。「なぜそうなっているのか」「今もその動きが必要か」は、業務を知っている人に確かめる必要があります。AIがまとめた内容をもとに、業務の担当者と人が確認しながら、仕様として残します。

ここで残すもの

画面と機能の一覧、データの項目と意味、計算や判定のルール、外部とのやりとり。これらは移行が終わったあとも、システムを育て続けるための土台になります。

ステップ2:移す順番を設計する

すべてを一度に移すのではなく、機能のまとまりごとに順番を決めます。基本は、影響の小さいところから始めて、進め方と確かめ方を固めてから、業務の中心となる機能へ進むことです。

順番を決めるときは、機能どうしのつながりにも注意します。たとえば、受注と在庫のようにデータを共有している機能は、片方だけを先に移すと、新旧のシステムの間でデータをやりとりする仕組みが必要になります。どこで区切るのがいちばん安全かを、人が設計します。

ステップ3:まとまりごとに新しい環境へ移す

決めた順番に沿って、新しい環境へ機能を移していきます。そのまま引き継ぐべき部分と、この機会に見直す部分を分けて考えることで、移行の範囲が膨らみすぎるのを防ぎます。

機能のまとまりごとに、順番に置き換えていくイメージ
図2 機能のまとまりごとに、順番に置き換えていくイメージ

見直したい点が見つかっても、移行の途中ではまず「今と同じ動き」を優先し、改善は移行後に回すのが安全です。移行と改善を同時に進めると、問題が起きたときに原因を切り分けにくくなるためです。

ステップ4:新旧の結果を比べて確かめる

移した機能が正しく動いているかは、同じ入力に対して、新しいシステムが今と同じ結果を返すかで確かめます。計算結果や帳票の内容、画面に表示される値などを比べます。

同じ入力で新旧の結果を比べる
図3 同じ入力で新旧の結果を比べる

比べる作業を自動テストにしておくと、移行の途中で変更を加えても、すぐに確かめ直せます。違いが見つかったときは、新しいシステムの誤りなのか、今のシステムに隠れていた不具合なのかを人が判断します。

ステップ5:段階的に切り替え、育て続ける

確かめた機能から、順に切り替えていきます。切り替え方にはいくつかの選択肢があり、システムの性質や業務の状況に合わせて選びます。

切り替え方 向いている場面 気をつけること
機能ごとに切り替える 機能どうしのつながりが比較的少ない 新旧の間のデータのやりとり
利用者ごとに切り替える 一部の部署や担当者から試せる 新旧どちらを使うかの案内
しばらく並べて動かす 結果の正しさを特に慎重に確かめたい 二重入力の手間と期間
一度に切り替える 規模が小さく、確認が十分にできた 元に戻す手順の準備

どの方法でも、問題があれば元に戻せる手順を用意しておくことが大切です。移行が終わったら、そこからは改善を続けられるシステムとして育てていきます。

よくあるつまずきと対策

つまずき 対策
作り直しの範囲を広げすぎて、いつまでも終わらない 移行中は「今と同じ動き」を優先し、改善は移行後に回す
現場で使われている「隠れた使い方」を見落とす 仕様の見える化の段階で、業務の担当者に実際の使い方を確かめる
移行後のデータの確認を後回しにする 新旧の結果を比べるテストを、移行の早い段階から用意する
移行が終わった時点で、また誰も触れないシステムに戻る 仕様と変更の記録を残し、改善を続けられる体制をつくる

どれも、最初に仕様を見える化し、確かめながら少しずつ進めることで防ぎやすくなります。

EVOLOOPでの進め方

EVOLOOPのレガシー移行では、AIが既存のコードとデータを解析して今の仕様を見える化し、人が業務への影響を見ながら移行の順番を設計します。機能のまとまりごとに新しい環境へ移し、新旧の結果を比べて確かめたうえで、段階的に切り替えます。

解析した仕様や変更の記録はドキュメントとして残るため、移行が終わったあとも、同じ体制のまま改善を続けられます。

よくある質問

仕様書が残っていなくても移行できますか?

はい。既存のコードとデータを解析して、今の仕様を見える化するところから始めます。整理した内容は、業務の担当者と確かめながら仕様として残します。

移行中も、今のシステムは使い続けられますか?

はい。機能のまとまりごとに移し、確かめたものから順に切り替えるため、業務を止めずに進められます。

移行と同時に、機能の改善もできますか?

可能ですが、移行中はまず今と同じ動きを優先し、改善は移行後に回すことをおすすめします。問題が起きたときに原因を切り分けやすくするためです。

まとめ

この記事のポイント

  • 一度にすべてを入れ替えず、機能のまとまりごとに確かめながら移す
  • 最初に今の仕様を見える化し、業務の担当者と確かめて残す
  • 新旧の結果を比べるテストを用意し、違いの理由を人が判断する
  • 切り替え方はシステムに合わせて選び、必ず元に戻せる手順を用意する

レガシー移行

触れなくなったシステムを、AIの解析と人の設計で、また育てられるシステムへ移行します。

詳しく見る →

Next Step

アイデアを、止めない。
一緒に、次の一歩へ。

要件書がなくても構いません。新しくつくりたい、今の開発を速くしたい、古いシステムをどうにかしたい。まずは今のお話を聞かせてください。そこから一緒に整理します。