技術的負債(Technical debt)
技術を「借入」して作ったプログラムを理解せず放置すると,作業という「収入」を加えても,「利子(プログラムの分からなさ)」に埋もれて「手取り(進捗)」は残らなくなっていく
説明
1. 借入したら事業をより早く前進させられるように,技術を前借りすればソフトウェアをより早く完成させられる
リスクを取れるなら,得られる経験・学習の観点においてリリースを早められる利点がある
2. 技術者は借金を返済するように,プログラムの学習とリファクタリングを行い続ける必要がある
3. 借金返済を怠れば,利子で収入が打ち消されるように,学習や整理整頓を怠れば進捗が生まれにくくなる.
次第にプログラムから知識が失われ,進捗を生むために要する作業時間は長くなっていく
背景:アジャイル開発における初期リリースを説明するために発明された比喩的な概念
技術的負債という概念の生みの親は Ward Cunningham (ウォード・カニンガム)です。彼は 1992 年にオブジェクト指向プログラミングの国際カンファレンス OOPSLA '92 の Experience Report でコードの初回リリースを負債に例えました("Shipping first time code is like going into debt")。
Ward Cunningham はソフトウェアの世界に多くの貢献を果たしてきました。Wiki の発明者であり、XP と TDD の父 Kent Beck の師匠のような存在であり、建築の世界の「パタン・ランゲージ」を Kent Beck と共にソフトウェアに輸入した人であり、「アジャイルソフトウェア開発宣言」の著者の1人でもあります
from: 技術的負債という概念の生みの親 Ward Cunningham 自身による説明
タグ
技術的負債