技術的負債

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

技術的負債: Technical debt)とは、行き当たりばったりなソフトウェアアーキテクチャと、余裕のないソフトウェア開発が引き起こす結果のことを指す新しい比喩である。「設計上の負債(design debt)」とも言う。

1992年ウォード・カニンガムが、技術的な複雑さと債務の比較を経験報告で初めて行った。

最初のコードを出荷することは、借金をしに行くことと同じである。小さな負債は、代価を得て即座に書き直す機会を得るまでの開発を加速する。危険なのは、借金が返済されなかった場合である。品質の良くないコードを使い続けることは借金の利息としてとらえることができる。技術部門は欠陥のある実装や、不完全なオブジェクト指向などによる借金を目の前にして、立ち尽くす羽目になる[1]

Joshua Kerievsky は彼の影響ある著作の一つRefactoring to Patternsにおいて、彼が「設計上の借金」と呼ぶアーキテクチャの手抜きによるコストに関して類似した議論を示した[2]

開発の中で先送りされるのは、文書化テストコードの記述、ソースコード中の積み残し(TODO)項目の解決やコンパイラの警告、静的コード解析ツールの解析結果への対応などである。他にも、技術的負債の例として、組織で共有されない知識や、複雑すぎて変更が難しいコードなどがある。

オープンソースソフトウェアでは、手元で変更したコードをプロジェクトに送らないことは技術的負債である。手元で必要なメンテナンスをすること、その結果プロジェクト全体での他のユーザーがメンテナンスしなくて済むことが、ここでは「利息の支払い」にあたる。進行中のプロジェクトは、将来借金を返すコストを増大させていると言える。

参考文献[編集]

  1. ^ Ward Cunningham (1992年3月26日). “The WyCash Portfolio Management System”. 2008年9月26日閲覧。
  2. ^ Kerievsky, Joshua (2004). Refactoring to Patterns. ISBN 0321213351. 

関連項目[編集]

外部リンク[編集]