技術的負債とは
この記事の結論
- 技術的負債とは、後回しにしたコードや設計の手入れが、その後の変更のたびに余分な手間として効いてくる状態を、借金にたとえた言葉です。
- 余分な手間が「利子」、手入れそのものが「元本の返済」にあたります。よく触る場所ほど利子が高く、めったに触らない場所は放っておいても困りにくい、というのが基本の見方です。
- AIでコードを速く増やせるほど、借りた場所と理由を記録しておく価値が上がります(2026-09-26 時点の整理)。
ぎじゅつてきふさい/Technical Debt
後回しにしたコードや設計の手入れが、その後の変更のたびに余分な手間として効いてくる状態を、借金にたとえた言葉です。
最終更新: 2026-09-26
技術的負債とは(意味と読み方)
技術的負債(ぎじゅつてきふさい)とは、後回しにしたコードや設計の手入れが、その後の変更のたびに余分な手間として効いてくる状態を、借金にたとえた言葉です。英語では Technical Debt と呼ばれます。
このたとえを最初に使ったのは Ward Cunningham です。1992年の OOPSLA での経験報告「The WyCash Portfolio Management System」で、初めて書いたコードを出荷することを借金にたとえました。すぐに書き直して返すなら少しの借金は開発を速める、危ないのは返さないときだ、という趣旨です。
つまり、もとの意味では借りること自体は悪ではありません。問題は返す予定のない借金が積み上がることです。
技術的負債の仕組み:元本と利子
Martin Fowler は「TechnicalDebt」(2003年初出、2019年に全面改稿)で、新しい機能を足すのに余計にかかる手間を「利子」と呼んでいます。散らかったコードを片づけることは「元本の返済」です。
同じ記事の例では、構造が分かりやすければ4日で済む機能追加が、散らかりのせいで6日かかります。差の2日が利子で、構造の片づけに5日かけることが元本の返済です。1回の機能追加だけなら片づけのほうが高くつくので、この先その場所を何度触るかが判断の分かれ目になります。
返す場所の選び方も示されています。散らかっていても安定していて触らない場所は放っておいてよく、頻繁に手を入れる場所では利子が重くなるので散らかりを許さない、という考え方です。
技術的負債の4つの種類
Fowler は2009年の「TechnicalDebtQuadrant」で、負債を「慎重か無謀か」と「意図的か無自覚か」の2軸で分けました。
| 意図的 | 無自覚 | |
|---|---|---|
| 慎重 | 分かったうえで、公開に間に合わせるために借りる | 作り終えてから、よりよい設計に気づく |
| 無謀 | よいやり方を知りつつ、手早く雑に済ませる | よい設計を知らないまま、散らかったコードを書く |
右上の「慎重で無自覚」について、Fowler は腕のよいチームにも避けられないものだと書いています。作りながら学ぶ以上、後からよりよい形に気づくのは自然なことです。
AI開発での技術的負債の具体例
AIコーディングエージェントに画面を3つ頼んだら、日付を整える同じ関数が3つのファイルにそれぞれ書かれていた、というのはよくある場面です。今すぐ直す必要はなくても、日付の表示を変えたくなった日に3か所を直す利子が発生します。
借りた時点で、DEBT.md に1行残しておきます。
日付整形が3か所に重複(list, detail, export)。表示形式を変えるときにまとめる
返すときは「3つの日付整形を src/utils/date.ts にまとめて。表示は1文字も変えないで。先に今の表示を確かめるテストを書いて」のように、範囲と守る振る舞いを指定します。まとめた後に既存の表示が変わっていないかは回帰テストで確かめます。
技術的負債のよくある誤解
- 誤解:技術的負債は悪いコードのこと → 実際:公開に間に合わせるために分かったうえで借りる負債もあります。問題になるのは、借りたことを忘れる場合と、無謀に借りる場合です。
- 誤解:負債はすべて返すべき → 実際:Fowler は、安定していて触らない場所は放っておいてよいとしています。返す順番は、これから手を入れる場所が先です。
- 誤解:AIに頼めば一度にまとめて返せる → 実際:一度に広く書き換えると、何が壊れたかを追いにくくなります。1回の依頼で1種類ずつ返し、差分をコードレビューで確かめます。
関連用語
関連記事
出典・参考資料
- The WyCash Portfolio Management System(Ward Cunningham, OOPSLA 1992):初めて出荷するコードを借金にたとえた原典。
- TechnicalDebt(Martin Fowler):利子と元本の考え方と、返す場所の選び方。
- TechnicalDebtQuadrant(Martin Fowler, 2009年):慎重/無謀、意図的/無自覚の四象限。
よくある質問
Q1. 技術的負債とは何ですか?
後回しにしたコードや設計の手入れが、その後の変更のたびに余分な手間として効いてくる状態を、借金にたとえた言葉です。余分な手間が利子、手入れが元本の返済にあたります。
Q2. 技術的負債という言葉は誰が使い始めましたか?
Ward Cunningham が1992年の OOPSLA での経験報告で、初めて書いたコードを出荷することを借金にたとえたのが始まりとされています。すぐ書き直して返すなら開発を速める、という前向きな面も含んだたとえです。
Q3. 技術的負債はどこから返せばよいですか?
これから手を入れる予定の場所から返します。頻繁に変更する場所ほど利子が重く、安定していて触らない場所は、散らかっていても後回しにして構いません。
Q4. AIコーディングエージェントで技術的負債は増えますか?
コードを速く増やせる分、重複やその場しのぎも速く増えることがあります。借りた場所と理由を記録しておき、返すときは範囲と守る振る舞いを指定して、1種類ずつ頼みます。