受発注管理システム移行のフルスクラッチ・オーダーメイド開発について

受発注管理システムの移行における「フルスクラッチ・オーダーメイド開発」とは、標準の移行機能では対応しきれない独自仕様のデータを安全に移すため、移行スクリプト・データコンバータ・連携プログラムを専用に開発することです。新システムそのものをゼロから作る意味ではありません。

  • 受発注管理システム移行における「フルスクラッチ・オーダーメイド開発」の位置づけ
  • 標準移行ツールでは対応できないケースと必要性
  • 移行スクリプト・データコンバータのオーダーメイド開発

同じ「受発注管理システムを作り替える」テーマの記事でも、主題は記事ごとに異なります。「受発注管理システムのモダナイゼーション」のフルスクラッチ論は5つのアプローチの中でのリビルドの位置づけを、「受発注管理システム刷新」のフルスクラッチ論は投資判断フレームワークを扱っています。

「受発注管理システム更改」のフルスクラッチ論は期限制約下での判断を、「受発注管理システムのリニューアル」のフルスクラッチ論は独自UXの実現を扱っています。さらに、「受発注管理システムのリアーキテクチャ」はマイクロサービス化の損益分岐点を、「受発注管理システムリプレイス」はビルド・バイ判断を、「受発注管理システム改修」は部分カスタム開発を主題としています。

これらはいずれも「新システム本体を自社専用に作るかどうか」という判断を扱っています。一方、本記事は新システム本体の作り方とは独立した論点として、「移行という実行作業を支えるツール・スクリプトを専用開発するかどうか」を扱います。

パッケージ製品の標準移行機能だけでは対応しきれない独自仕様を抱える企業の担当者に向けて、専用開発が必要になる判断基準と、失敗しない進め方をお伝えします。新システム本体の発注と移行ツールのオーダーメイド開発を、それぞれ独立した検討テーマとして予算・スケジュールに組み込む際の一助になれば幸いです。

本テーマの全体像は、次の全体ガイドをご覧ください。

▼全体ガイドの記事
・受発注管理システム移行の完全ガイド

受発注管理システム移行における「フルスクラッチ・オーダーメイド開発」の位置づけ

専用開発の対象となる移行スクリプト、連携ブリッジ、差分同期・ロールバック機構を示す図
移行専用の仕組みは、変換・連携・切り替えの場面を支えます。

受発注管理システムの移行プロジェクトでは、新システムそのものはパッケージ製品やSaaSを採用します。一方で、旧システムから新システムへデータを移すための移行ツール・移行スクリプトだけは専用にオーダーメイド開発する、というケースが多く見られます。

これは、旧システムが長年の運用で独自のカスタマイズや商慣行を色濃く反映しており、その複雑なデータ構造を汎用の移行ウィザードでは正しく変換できないためです。

専用開発の対象になるのは3つが中心です。1つ目は、旧システム固有のデータ形式を読み解き新システムの形式へ変換する「移行スクリプト・データコンバータ」です。2つ目は、取引先とのEDI接続を新旧両システムで橋渡しする「連携ブリッジプログラム」です。3つ目は、本番切り替え時のダウンタイムを圧縮する「差分同期・ロールバック機構」です。

これらは移行完了後には役目を終える一時的な開発物です。ただし、その品質はプロジェクト全体の成否を左右するため、軽視できない投資領域です。

新システム本体がどれほど優れたパッケージ製品であっても、渡すデータが正しく変換されていなければ、稼働初日から誤った受発注情報が積み上がります。その結果、業務の信頼性そのものを損なうことになります。

移行ツールのオーダーメイド開発は、新システム本体への投資と同じかそれ以上に、プロジェクトの成否を左右する重要な工程だといえます。

7波との違い

先行する7波の記事群が扱う「フルスクラッチ」は、いずれも新システム本体を自社専用に作るか、既製品を使うかという二択の投資判断です。この判断は、開発規模・保守体制・独自業務要件の複雑さといった観点から下され、一度決まると数年単位でその選択に沿って開発が進みます。

これに対して本記事が扱う移行のフルスクラッチ・オーダーメイド開発は、新システム本体の選択とは独立した、一段下の判断です。たとえ新システム本体がパッケージ製品・SaaSであっても、標準搭載の移行ツールが自社の複雑な旧データ構造に対応できなければ、移行部分だけは専用のオーダーメイド開発が必要になります。

逆に、新システム本体をフルスクラッチで開発する場合でも、旧データがシンプルであれば、標準的なETLツールで十分に対応できることもあります。つまり、「新システム本体をどう作るか」と「移行ツールをどう作るか」は、別々に判断すべき事柄です。この2つを混同しないことが、本記事の主題を正しく理解する出発点になります。

  • 記載の仕方:計画書やRFPを作る段階で2つの判断を分けて記載しておくと、後々の誤解を防げます。
  • 標準機能への過信:標準移行機能は一般的なデータ構造を前提にしており、独自のカスタマイズが多い旧システムほど外れやすい点に注意が必要です。

ポイント

新システム本体の選択と、移行ツールを専用開発するかどうかは別々に判断します。パッケージやSaaSを採用しても、旧データが標準の移行機能で変換できなければ、移行部分だけは専用開発が必要になります。

標準移行ツールでは対応できないケースとオーダーメイド移行ツールの必要性

オーダーメイド開発が必要になる場面

標準的な移行ツールやETLツールは、一般的なテーブル構造やコード体系を前提に設計されています。そのため、多くのケースではそのまま活用できます。しかし、受発注管理システムのように長年の運用で独自のカスタマイズが積み重なったシステムでは、標準ツールの前提が崩れるケースが少なくありません。

具体的には、取引先ごとに異なる商品コード体系が併存している、1件の受注データに複数の帳票や複数の分納スケジュールが紐づいている、特定の取引先向けだけに特別な単価計算ロジックが埋め込まれている、といったケースです。こうした独自仕様は、標準ツールの設定変更だけでは吸収しきれません。そのため、変換ロジックそのものをコードとして書き起こすオーダーメイド開発が必要になります。

実務上の経験則では、次のような場合にオーダーメイド開発への切り替えを検討します。

  • 標準ツールの設定画面で対応できる変換パターン数を上回る例外ケースが、一定割合(目安として全体の1割以上)ある場合
  • 複数テーブルをまたぐ複雑な結合・分岐処理が必要な場合

この判断を早期に下すには、移行プロジェクトの初期段階で、旧システムのデータベース構造とデータの実態を突き合わせる「現行データ調査(アズイズ分析)」を丁寧に行うことが欠かせません。

テーブル定義書の仕様と、運用の中で実際に入力されてきたデータの実態が乖離しているケースは珍しくありません。定義書だけを見て標準ツールで対応可能と判断すると、後になって想定外の例外データが大量に見つかります。この事態は、移行プロジェクトで最も避けたい失敗パターンの一つです。

現行データ調査の段階では、次の点を押さえます。

  • ヒアリング:旧システムの開発や保守を担当したベンダーや、長年運用に携わった現場担当者に話を聞きます。
  • 運用の実態の確認:仕様書に載っていない「暗黙の運用ルール」を洗い出しておくと、後工程での手戻りを防ぎやすくなります。

旧システムの開発ベンダーが事業を終えている、あるいは担当者が退職しているといったケースも珍しくありません。その場合は、データベースの実データを直接分析して仕様を復元するリバースエンジニアリング的な方法が必要になり、通常より多くの調査期間を見込んでおくべきです。

ポイント

標準ツールで対応できる変換パターンを超える例外が全体の1割以上か、複数テーブルをまたぐ処理が要るかを、現行データ調査で確かめます。どちらかに当てはまれば、切り替えを検討します。

移行スクリプト・データコンバータのオーダーメイド開発

部門コードや商品コードの1対1、N対1、1対Nの変換パターンを並べた図
旧コードと新コードの対応関係に応じて、検証ケースを分けます。

取引先マスタ・受発注履歴の構造変換(1対1/N対1/1対N)

移行スクリプト・データコンバータの開発では、設計と実装はベンダーが担いますが、変換ルール(マッピング)の定義には発注者側の業務知識が欠かせません。この変換ロジックは必ず「移行仕様書」として文書化し、発注者が内容を承認してから開発に進みます。そうすることで、後からの「仕様と違う」というトラブルを防げます。

あわせて、移行結果を自動で検証するSQL検証スクリプトも開発しておくと、新旧テーブル間の件数比較や金額合計値の差異計算を自動化できます。その結果、本番移行後の確認作業を大幅に効率化できます。

契約形態は、成果物を完成させることが目的のため「請負契約」が適しています。そのうえで、ETL変換ロジック(スクリプトとその説明書)や移行仕様書を契約上の「納品物」として明確に定義し、発注者側で受領・保管する体制を整えます。こうしておけば、移行完了後に「どうやって変換したか分からない」というブラックボックス化を防げます。

  • 開発言語と実行基盤:見落とされがちですが、移行完了後に廃棄するコードでも、途中の仕様変更や再実行を見越して選定します。
  • モジュール構成:変換ロジックの各ステップを、独立した関数やモジュールとして構成しておくのが望ましいです。
  • 処理の分割:全件を一気通貫で処理するモノリシックなスクリプトにすると、途中の1つの不整合で最初からやり直すことになり、限られたリハーサル期間を浪費します。
  • 実行ログ:詳細に出力しておくと、問題が起きた箇所を素早く特定でき、原因調査にかかる時間を大幅に短縮できます。

取引先マスタや商品マスタの構造変換では、旧システムの固有フィールドを新システムの複数フィールドに分割するケースと、逆に複数の旧フィールドを1フィールドに統合するケースが混在します。

部門コードや商品コードは、次の3つのパターンに分類します。

  • 1対1(単純置換):旧コードを新コードに一対一で置き換えるもの
  • N対1(統合):複数の旧コードを1つの新コードにまとめるもの
  • 1対N(分割):1つの旧コードを複数の新コードへ振り分けるもの

各パターンでは、テストケースを設計し、変換漏れや重複登録がないかを個別に検証するのが実務上の定石です。

また、過去の受発注履歴が参照している取引先コードや商品コードが、新しいマスタテーブルに確実に存在するかを、SQLの結合(JOIN)などでチェックします。マスタに存在しないコードを参照する「孤立レコード」や、受注日と出荷日の関係といった日付の論理矛盾も、これらを検証するロジックをスクリプトに組み込んでおくことで、移行後のデータ不整合を未然に防げます。

統合パターン(N対1)は特に注意が必要です。複数の旧コードを1つの新コードに統合すると、統合前は別々に管理されていた取引条件や単価情報が、意図せず一本化されてしまう場合があります。そのため、統合対象の組み合わせは業務部門を交えて一件ずつ確認する工程を設けることが望まれます。

ポイント

変換ルールは発注者が承認した移行仕様書として残し、検証スクリプトとセットで受け取ります。そうすることで、移行後に変換の中身が分からなくなる事態を避けられます。

EDI切替のためのオーダーメイド連携プログラム開発

新旧EDIブリッジとCDCによる差分同期

受発注管理システムは、取引先や周辺システム(EDI・WMS・会計システム)とのEDI連携が欠かせません。特にシステムを機能や部門ごとに順次切り替える段階的移行を採用する場合、このブリッジ開発が最大の難所になります。

新システムに移行した部門と旧システムに残る部門が混在する過渡期には、受発注データや在庫・会計データの整合性を保つ仕組みが必要です。そこで、「中間連携ブリッジ(データ同期の仕組み)」をオーダーメイドで開発することになります。

ブリッジの開発では、次の点に注意します。

  • 連携テスト:開発したブリッジを使い、本番相当の外部システムと接続して入念に行います。
  • 日付・コードの変更:日付の形式や品目コードの桁数が変わると、EDIがデータを受け取れず注文が滞留するおそれがあるため、本番前に排除します。
  • レガシーEDI:ISDN回線のJCA手順などを新方式へ切り替える場合は、通信プロトコルが異なるため、通信方式の変換まで担うブリッジが必要です。

ブリッジ開発は、通信方式の変換や日付・コードの扱いまで含むため、開発の難易度が高くなる傾向があります。

本番切り替え時のダウンタイムを圧縮する仕組みとして有効なのが、CDC(Change Data Capture)技術を用いた差分同期です。

リハーサルや本番移行で毎回全件を移行すると、長時間の業務停止が発生します。そこで、次の2段階で差分同期を進めます。

  • 事前ロード:大部分のデータを、切り替え前に新システムへ読み込んでおく段階
  • 差分同期:切り替え直前のフリーズウィンドウ(データ更新凍結期間)に発生した差分だけを、リアルタイムに近い形で同期・反映させる段階

事前ロードと差分同期を分けて進めるため、業務停止時間を大幅に圧縮できます。

この差分同期ツールも、標準的なパッケージ製品には搭載されていないことが多く、旧システムのデータ構造や更新ログの仕様に応じたオーダーメイド開発が必要になる代表的な領域です。

差分同期ツールの実装方式には、大きく2種類あります。

  • 直接読み取り:旧システムのデータベースが持つ更新ログ(トランザクションログ)を使う方式
  • トリガー型:旧システム側に仕込んだ仕組みで、変更を検知する方式

前者は旧システムへの改修が不要で、リスクを抑えられます。ただし、データベース製品によっては更新ログへのアクセス自体に制限がある場合があります。後者は検知条件を柔軟に設定できますが、旧システム本体への改修が発生するため、稼働中システムへの影響評価が必要になります。

どちらの方式を採用するかは、旧システムのデータベース製品やバージョン、そして移行までに残された期間を踏まえて、早期に決めておくべき技術判断です。判断が遅れると、差分同期ツールの開発着手そのものが遅れ、移行スケジュール全体を圧迫します。

旧システムが汎用機やオフコンなど特殊な基盤上で稼働している場合は、一般的なCDC技術が適用できないことも多くあります。その場合は、バッチ処理による短時間差分抽出など、旧システムの制約に合わせた代替方式を個別に設計する必要があります。こうした基盤固有の制約は、技術選定の段階で早めに洗い出し、プロジェクトの上流工程に組み込んでおくと、後工程での設計手戻りを防げます。

ポイント

EDI切替では、新旧が混在する期間のブリッジと本番相当の連携テストを、本番前に終えられるかが判断の分かれ目です。レガシーEDIからの切り替えは通信方式の変換まで要るため、難易度が上がります。

カットオーバー・ロールバック機構のオーダーメイド開発

ロールバック手順、異常系テスト、仕掛かりデータの一時保存を並べたチェック図
手順・復旧確認・データの扱いをそろえると、当日の判断が明確になります。

開発期間・費用の目安と失敗させないポイント

本番当日に慌てた状況でも確実に元のシステムへ戻せるよう、ロールバック手順は「15〜30分で実行できる具体的なコマンド列」まで分解し、スクリプト化しておくことが求められます。コマンド列には、旧システムの起動、新システムの隔離、データベースやロードバランサーの接続先切り替えなどを含みます。

さらに、移行リハーサルで意図的にエラーを起こす異常系テスト(故意の失敗シナリオ)を実行し、開発した切り戻し機構で、スナップショットなどから静止点データベースへ確実に修復できることを実証しておくことが絶対条件です。これらのロールバックスクリプトも、旧システムの構成に依存するため、標準ツールでは対応できず、オーダーメイド開発が必要になる領域のひとつです。

ロールバック機構の開発では、旧システムを再起動するだけでなく、移行中に発生した仕掛かりデータをどう扱うかという業務ロジックも組み込む必要があります。仕掛かりデータとは、カットオーバー作業中にEDI経由で受け付けてしまった新規の受発注データを指します。

  • 破棄:仕掛かりデータを捨てる設計
  • 一時保存:後から新システムへ再投入するため、退避領域に一時保存する設計

どちらの設計にするかで、ロールバックスクリプトの複雑さと開発工数は大きく変わります。取引先との関係上、受注データの欠落は許容できない企業では、この機構までオーダーメイド開発しておきます。そうすることで、ロールバックが発生しても、受注データを一件も失わずに業務を継続できる体制を作れます。

こうした退避機構は開発工数が余計にかかるため、投資判断では軽視されがちです。しかし、受注データの欠落が取引先からの信頼失墜に直結する業種・業態では、必須の投資として位置づけるべき機能です。

移行ツール一式(データコンバータ・検証スクリプト・EDIブリッジ・差分同期ツール・ロールバックスクリプト)は、対象データの複雑さや取引先数で規模が変わるため、期間と費用にも幅が出ます。規模ごとの幅を次に示します。

  • 小規模なシステム:1〜2ヶ月・200万〜500万円程度
  • 中規模で複数の連携ブリッジを含む場合:3〜6ヶ月・500万〜2,000万円程度
  • 大規模かつ段階移行を伴う場合:6ヶ月以上・2,000万円以上を見込んでおきます

失敗させないためには、移行ツールの開発を新システム本体と同じベンダーに一括発注するか、専門の移行チームに個別発注するかを早期に決めます。そのうえで、責任範囲を契約上明確にしておくことが大切です。

また、移行ツールは一時的な開発物であっても手を抜かず、検証スクリプトとセットで開発します。開発コストの一部が、移行後の品質保証コストの削減という形で回収される点も、投資判断の材料として押さえておくとよいでしょう。

発注形態は、次の2つから考えます。

  • 新システム本体のベンダーに一括発注:システム仕様への理解が深く、連携がスムーズという利点があります。
  • データ移行専門の会社に個別発注:クレンジング手法、検証手法、リハーサル設計といった移行特有のノウハウを活用できます。

ただし、一括発注には、移行専門ではないベンダーだと大規模データ移行のノウハウが不足しがちという弱点があります。その反面、個別発注では、新システム本体の開発ベンダーとの間で仕様をすり合わせる追加のコミュニケーションコストが発生します。

どちらの体制を選ぶ場合も、次の3点を押さえます。

  • レビューの主体:移行ツールの要件定義書と移行仕様書は、発注者側がレビューします。
  • 自社側の窓口:双方のベンダー間で認識の齟齬が生じないよう、調整役を用意しておくことが望ましいです。
  • 業務側の参加:調整役を情シス部門の担当者だけに任せず、受発注業務を行う現場のキーパーソンにもレビューに参加してもらいます。

現場のキーパーソンがレビューに加わると、技術的な整合性だけでなく、業務実態との整合性も担保された移行ツールに仕上がります。

ポイント

ロールバック手順は15〜30分で実行できるスクリプトにし、異常系テストで元に戻せると実証しておきます。受注データを失えない業種では、退避領域の機構まで含めて開発します。

まとめ

ここまで、受発注管理システム移行のフルスクラッチ・オーダーメイド開発を、7波との位置づけの違いから解説してきました。標準移行ツールでは対応できないケースの見極めと、移行スクリプト・データコンバータの開発を扱いました。さらに、取引先マスタ・受発注履歴の構造変換、EDI切替の連携プログラム開発、カットオーバー・ロールバック機構の開発も取り上げました。

ここでの「フルスクラッチ・オーダーメイド開発」は、新システム本体の作り方ではなく、移行実行を支えるツール開発を指します。旧システムの独自仕様に合わせて、移行スクリプトやEDIブリッジ、ロールバック機構を専用に開発するかどうかが論点です。

標準ツールの設定変更だけでは吸収できない例外ケースが一定割合を超える場合は、早い段階でオーダーメイド開発への切り替えを判断します。そのうえで、移行仕様書の文書化と検証スクリプトの整備をセットで進めることが、移行完了後のブラックボックス化を防ぎ、プロジェクト全体の安全性を高める最も確実な方法です。

新システム本体の選定だけでなく、この移行ツール開発にも十分な予算と期間を確保していただければと思います。

移行ツールは本番稼働後には使われなくなる一時的な存在です。しかし、その完成度こそが、受発注業務という基幹業務を止めずに新システムへ住み替えられるかどうかを決定づけます。目立ちにくいものの重要な要素であることを、最後に強調しておきたいと思います。

▼全体ガイドの記事
・受発注管理システム移行の完全ガイド

会社紹介

株式会社riplaでは、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを、構想策定・要件定義から開発・改善まで一気通貫で支援。事業会社でIT・DXを経験したプロフェッショナルによる高い要件定義力・システム設計力を活かし、事業成果の最大化に伴走します。

また、当社独自の開発テンプレート「Boxシリーズ」による標準機能の高速開発と、AI駆動開発の独自フレームワーク「GoDD」による独自機能のAI実装を組み合わせることで、低コスト・短期間で開発を実現いたします。

もし、システム開発やプロダクト開発に関するご要望がございましたら、お気軽にお問い合わせください。

・サービス概要資料のURLはこちら >>>
・お問合せページのURLはこちら >>>
・お役立ち資料のURLはこちら >>>

執筆者プロフィール
張田谷凌央
張田谷凌央

株式会社ripla 代表取締役CEOとして、システムパッケージ活用、システム開発、データ分析、生成AI活用、SaaS開発、アプリ開発、EC構築など、幅広い領域で企業のDX推進と事業成長を支援している。事業会社でIT・DXを経験したプロフェッショナルが集う株式会社riplaにおいて、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを構想策定・要件定義から開発・改善まで一気通貫で支援し、単なるシステム納品にとどまらず、クライアントと同じ目線で事業成果の最大化に向けた伴走支援を行う。早稲田大学卒業後、ラクスル株式会社、LINEヤフー株式会社にて事業開発やDX推進などに従事した後、株式会社riplaを創業。