古いPHPシステムは改修か作り直しか|費用・データ・業務で判断する

古いPHPのWebサービスを更新、部分改修、全面リプレースする判断基準。データ移行、並行運用、停止時間、引き継ぎまで含めて比較します。

古いPHPシステムを見直すときは、必要な業務を続けられるか、更新や変更を誰が担うかを確認します。現在の機能で業務が足りているなら、サポート対象の構成へ更新する方法を先に調べられます。業務の流れ自体を変える場合は、部分改修や作り直しも比較します。

費用を比較するときは、実装に加えて、蓄積したデータ、外部連携、担当者の操作、移行中の運用も含めます。

変えたいことと、使い続けたいことを分ける

「画面が古い」「更新できない」「集計に時間がかかる」は異なる課題です。課題ごとに、原因の候補と影響する業務を記録します。

方針検討しやすい状況調査で確かめること
バージョンアップ機能は足りていて、主な課題が保守期限互換性と依存ライブラリの対応
機能単位の改修特定の処理が更新や変更を妨げる他機能との認証・データの境界
全面的な作り直し業務要件も変わり、広い範囲の変更が必要仕様の再整理、データ移行、並行運用

たとえば会員登録とログインが安定していて、月次集計だけが問題なら、集計部分を切り出せるかを調べます。ただし、その処理が同じデータを更新しているなら、単純な切り離しでは整合性が崩れる可能性があります。

PHPを別の言語へ置き換える場合も、先に業務のルールと引き継ぐデータを整理します。

作り直しでは、現在のコードにしかない仕様が見つかる

古いシステムには、担当者が覚えている例外や、過去の要望に合わせた処理が残っていることがあります。「見える画面を再現する」見積もりだけでは、その処理が抜ける可能性があります。

締め日、端数処理、過去データの表示、権限の例外などを業務担当者と確認します。不要になった仕様は削れますが、今も使われているかを調べてから判断します。

資料がない場合はPHPシステムの引き継ぎで、現状を調べる範囲を先に決めます。

データが動き続ける期間を、計画に入れる

新環境を作っている間も、旧環境には会員登録や取引が増えます。最初にデータをコピーしただけでは公開時点の内容と合いません。

移行の練習、本番での追加分の取り込み、件数や金額の照合を計画します。停止できる時間が短いほど、新旧間の同期や切り替えに設計が必要です。並行運用では、どちらを正しいデータの保存先とするかも決めます。

戻す手順もデータに依存します。新環境で取引が発生した後に旧環境へ戻す場合、その取引を失わずに扱えるかを確認してください。

段階的な改修にも、新旧をつなぐ費用がかかる

一部だけ作り直せば、一度に変える範囲は小さくできます。一方で、新旧の認証、データの受け渡し、監視、公開手順を並行して維持する作業が増えます。

切り出す単位は、画面の枚数だけでなく、業務とデータのまとまりで考えます。段階ごとの終了条件と、旧機能を廃止する条件が決まっていないと、二つの構成を保守し続けることになります。

同じ期間と完了条件で費用を比較する

バージョンアップ案と作り直し案で、含む機能、テスト、データ移行、運用費をそろえます。片方だけに新機能が含まれていれば、単純な価格差では判断できません。

PHP改修費用の見方に沿って作業を分け、更新後のサポート期限はPHP公式一覧などで確認します。長く使う予定なら、次の更新を担える構成かも判断材料です。

PHPの脆弱性・改修ガイドから全体像を確認し、Webサービスの再構築サービスでは、モダン構成へ移す範囲を調査します。既存PHPの保守・更新案とも比較し、部分的な置き換えと全面再構築の範囲を決めます。

この記事を書いた人

西林 明信

株式会社Float Engineering 代表

西林 明信

自社プロダクトの開発・運営と、Webサイト・業務システムの受託開発を行っています。広告代理店でのマーケティング、楽天でのデータ分析を経て、2023年にFloat Engineeringを設立。

ブログ一覧