【ぎじゅつてきふさい】

技術的負債 とは?

💡 コードの「借金」—放置すると利息が膨らむ
📌 このページのポイント
技術的負債の蓄積と影響 時間 初期 半年後 1年後 2年後 3年後 開発速度の低下 ↓ 負債量 技術的負債 開発速度 例: 古いコード、テスト不足、設計の妥協 放置するほど返済コストが増大
技術的負債の蓄積と影響のイメージ
ひよこ ひよこ

技術的負債って具体的に何?

ペンギン先生 ペンギン先生

①テストがないコード(変更が怖い)、②コピペされた重複コード(1箇所修正しても他が残る)、③古いライブラリ(セキュリティリスク)、④ドキュメントのないAPI、⑤暗黙の知識(特定の人しか分からないコード)。どれも「今は動くけど、将来の変更を遅くする」要素だよ

ひよこ ひよこ

なんで負債が生まれるの?

ペンギン先生 ペンギン先生

①締め切りに追われてテストを省略、②リファクタリングの時間が取れない、③設計の理解不足で「動けばOK」なコードを書く、④要件変更で設計が合わなくなった。意図的な負債(「今はこれで出して後で直す」)は戦略的だけど、無意識の負債(スキル不足)は危険だよ

ひよこ ひよこ

どうやって返済するの?

ペンギン先生 ペンギン先生

スプリントの一部をリファクタリングに充てる(20%ルールなど)、②ボーイスカウトルール(触ったコードを少し良くする)、③最もリスクが高い負債から優先的に返済(ホットスポット分析)、④自動テストの追加で安全にリファクタリングできる状態を作る。一気に返済するのではなく、継続的に取り組むのがコツだよ

ひよこ ひよこ

負債を可視化する方法は?

ペンギン先生 ペンギン先生

SonarQube(コード品質の自動分析)やCode Climate(技術的負債の数値化)が定番ツール。コードカバレッジの低さ、複雑度の高い関数、依存ライブラリの古さを指標にする。「技術的負債バックログ」を作って、ビジネス的なバックログと同列で優先度を管理するチームもあるよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「技術的負債」って出てきたら「将来のコスト増を覚悟で先送りした品質の問題」と思えればだいたいOK!
📖 おまけ:英語の意味
「Technical Debt」 = 技術的負債
💬 Tech Debt(テックデット)とも呼ばれる。金融の「借金」に例えた比喩だよ
← 用語集にもどる