技術的負債
出典: フリー百科事典『ウィキペディア(Wikipedia)』
技術的負債(英: Technical debt)とは、行き当たりばったりなソフトウェアアーキテクチャと、余裕のないソフトウェア開発が引き起こす結果のことを指す新しい比喩である。「設計上の負債(design debt)」とも言う。
1992年ウォード・カニンガムが、技術的な複雑さと債務の比較を経験報告で初めて行った。
Joshua Kerievsky は彼の影響ある著作の一つRefactoring to Patternsにおいて、彼が「設計上の借金」と呼ぶアーキテクチャの手抜きによるコストに関して類似した議論を示した[2]。
開発の中で先送りされるのは、文書化、テストコードの記述、ソースコード中の積み残し(TODO)項目の解決やコンパイラの警告、静的コード解析ツールの解析結果への対応などである。他にも、技術的負債の例として、組織で共有されない知識や、複雑すぎて変更が難しいコードなどがある。
オープンソースソフトウェアでは、手元で変更したコードをプロジェクトに送らないことは技術的負債である。手元で必要なメンテナンスをすること、その結果プロジェクト全体での他のユーザーがメンテナンスしなくて済むことが、ここでは「利息の支払い」にあたる。進行中のプロジェクトは、将来借金を返すコストを増大させていると言える。
参考文献[編集]
- ^ Ward Cunningham (1992年3月26日). “The WyCash Portfolio Management System”. 2008年9月26日閲覧。
- ^ Kerievsky, Joshua (2004). Refactoring to Patterns. ISBN 0321213351.
関連項目[編集]
外部リンク[編集]
- Ward explains what debt metaphor is from youtube(video) and C2.com(transcript)
- TechnicalDebt from MF Bliki
- Andy Lester's talk on "Getting out of technical debt"