ふくふくHukuhuku Inc.
EP.11Legacy Revival 13分公開: 2026-09-01

5年後に同じ状況にしない ── 再レガシー化を防ぐ設計

作り直したシステムも、放っておけば同じ道を辿ります。レガシーになるのは古いからではなく、触れなくなるから。何が触れなくするのかを構造として整理します。

#レガシー#設計#運用#技術的負債
執筆 / 監修
松尾 亮合同会社ふくふく 代表社員

データ基盤・データパイプライン構築 / BI / 生成 AI 活用支援を専門とするエンジニア (28 年)。 本記事は AI 利用ポリシーに基づき、生成 AI の補助で執筆 → 人間が監修・編集して公開しています。

プロフィール詳細
シェア

苦労して移行を終えたシステムも、放っておけば同じ道を辿ります。10年後に「誰も触れない」と言われる可能性は、いま作っているものにも等しくあります。

この回は、何がシステムをレガシーにするのかを構造として整理し、その予防を扱います。区切りとして、連載全体を振り返る回でもあります。

1. レガシーになる条件は「古さ」ではない

まず定義を確認します。 とは、古いシステムのことではありません。30年動いていても、必要なときに安全に変更できるなら問題はない。

問題なのは、触れなくなった状態です。変更したいのに、影響範囲が読めず、壊れるのが怖くて手が出せない。古さではなく、触れなさがレガシーの本体です。

システムを触れなくする5つの原因
触れなくなる原因起きること
何をしているか分からない変えると何が壊れるか予測できない
壊れたことに気づけない変えるのが怖い(テストがない)
触れる人がいない変えられる人が退職した
変更の手順が確立していないリリースが大事になり、頻度が下がる
影響範囲が広すぎる1つ直すのに全部を確認することになる

どれも時間とともに悪化します。放置すれば必ずこの方向に進むので、能動的に維持しないと、レガシー化は既定路線です。 という言葉は「溜まっていくもの」という印象を与えますが、実際には溜まるのではなく、放っておくと勝手に増えるという性質のほうが近い。

2. 移行直後が最も危うい

意外に思われるかもしれませんが、移行直後こそ再レガシー化が始まりやすい時期です。

  • 移行を急いだ結果、暫定対応が残っている — 直す予定が立っていない
  • 互換層が残っている — EP.07 で作った、旧形式に合わせる層
  • 移行チームが解散する — 作った人が別の案件へ移る
  • 「やっと終わった」で誰も触りたくない — 心理的な反動
  • 移行の記録が残っていない — なぜその設計かが失われる

2番目が典型です。EP.07 で「互換層には廃止時期を決めておく」と書いたのは、これが恒久化すると、新システムの中に旧システムの形が住み着くからです。数年後、新システムを触る人が「なぜこんな変な形式なのか」と悩むことになります。

「移行完了」で気を抜かない

移行の完了は始まりであって終わりではありません。暫定対応と互換層の一覧を作り、それぞれに期限を付ける。ここを移行プロジェクトの成果物に含めておくと、解散後も追跡できます。

3. 触れる状態を測る

「触れる状態か」は感覚で判断せず、測って見えるようにします。定期的に出せば、悪化に早く気づけます。

触れる状態を測る指標
指標何が分かるか悪化の兆候
領域ごとに何人が触ったか属人化の度合い1人だけの領域が増えている
変更から反映までの日数手順の重さだんだん伸びている
同規模の改修にかかる期間全体の触りやすさ過去と比べて伸びている
テストの実行時間確認の負担伸びて、流されなくなる
暫定対応の残数先送りの蓄積減らずに増えている

3行目が最も本質的です。同じ規模の改修に、以前より時間がかかるようになったなら、それは触りにくくなっているということです。EP.09 で「決定者に伝わる言葉」として挙げたのも、この指標でした。

1行目は エンジニアの引き継ぎ術 EP.07 で紹介した方法がそのまま使えます。変更履歴から機械的に出せるので、定期実行にしておくと手間がかかりません。

4. 触り続けられる設計

予防としてできることを整理します。新しい技術を使うことではありません

  1. 1壊れたら気づける状態を保つ — テストと監視。これが最優先
  2. 2変更を小さく、頻繁にする — 大きな変更は怖くなり、頻度が下がる
  3. 3複数人が触る状態を保つ — レビューと担当の入れ替え
  4. 4判断の理由を残す — なぜそうしたかは、コードからは読めない
  5. 5依存を減らす — 外部への依存が多いほど、変えにくくなる
  6. 6流行に強く依存しない — 数年後に扱える人がいるか

2番目が効きます。変更を小さく保つと、変更が怖くなくなり、頻度が保たれる。逆に頻度が下がると、次の変更がさらに大きく怖くなる ── という悪循環に入ります。頻度は、触りやすさの原因でもあり結果でもあります

6番目は誤解されやすい項目です。最新の技術を避けろという意味ではなく、数年後にその技術を扱える人がいるかという問いです。これは EP.08 で扱った移行の動機と同じ構造で、技術の良し悪しではなく、人の確保の話です。

テストが最優先である理由

1番目を最優先に挙げたのは、これが無いと他の対策が効かないからです。壊れたことに気づけないなら、変更を小さくしても頻繁にしても怖いままです。EP.03 で作った特性化テストは、移行後も維持する価値があります。

5. 記録を腐らせない

「ドキュメントを整備する」は正しい方向ですが、書いて放置すれば、実態とずれて誤解の原因になります。古い記録は、無い記録より悪いことがあります。

記録の腐りやすさと対策
記録の種類腐りやすさ対策
処理の説明すぐ腐る書かない(コードを読む)
判断の理由腐らないそのときの判断として残す
手順書腐る使うたびに直す
構成図腐る生成できる形にする
連携先の一覧腐る記録から定期的に再生成(EP.07)

1行目が重要です。処理の説明を文章で書くと、必ずコードとずれます引き継ぎ EP.04 で扱ったとおり、コードから読めるものは書かない。書くべきは判断の理由です。

2行目の「判断の理由」だけが腐りません。「2026年時点でこう判断した」という事実は、後から変わらないからです。判断そのものが古くなっても、記録としては有効であり続けます。むしろ古い判断ほど価値があるとも言えます。当時なぜそう決めたかが分かれば、いま変えてよいかを判断できるためです。

6. 連載を振り返って

ここまで11回、読めないコードの解析から、テストによる固定、移行方針の決定、並行運用、データ移行、連携の棚卸し、特殊資産、組織の合意、退役、そして予防まで扱ってきました。

全体を通して繰り返し出てきたのは、技術的な難しさより、判断と合意のほうが難しいという構造でした。読み解きは LLM で速くなりました。テストの自動採取もできます。それでも移行が進まないのは、決められないからです。

そして最後の回で言いたいのは、この連載の内容を、次の10年のために使ってほしいということです。いま作っているシステムも、放っておけば同じ状態になります。能動的に維持しなければ、レガシー化は既定路線です。

レガシーとは古いシステムのことではなく、変えたいのに変えられないシステムのこと。だから、新しく作ったものも初日からレガシーになりうる。

ここまでのまとめ

レガシー化の本体は古さではなく触れなさ移行直後こそ危うい(暫定対応・互換層・チーム解散)。触れる状態は測って見えるようにする(同規模の改修にかかる期間が最も本質的)。予防の最優先は壊れたら気づける状態で、次に変更を小さく頻繁に。記録は判断の理由だけが腐らない。ここまでの内容への反応や、掘り下げてほしい局面があれば、記事下のリアクションからお寄せください。続編は随時追加していきます。

シェア

この記事の感想を教えてください

あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。

シリーズの外も探す:

まずは、現状を聞かせてください。

要件が固まっていなくて大丈夫です。現状診断と方針提案までを無料でお手伝いします。

無料相談フォームへ hello [at] hukuhuku [dot] co [dot] jp