Taming Your Dragon: Addressing Your Technical Debt 2
Part I Exploring Technical Debt
2. Why You Need to Address Technical Debt
技術的負債を抱えたコードが、あなたが当初考えていたよりもずっと長く残るかもしれない。
変化のスピードが増すにつれ、ネットスケープ・ナビゲーターのコード品質は急落し、技術的負債が積み重なっていった。
Netscape Navigator 4.0のリリース後、ネットスケープ社は、今にして思えば悲惨な決断を下しました。
彼らは製品全体を一から書き直すことを選んだのだ。
破産を宣言して再出発するのと同じような技術的負債であり、借金はチャラになるかもしれないが、破産から解放されるまでには時間がかかる。
ネットスケープの場合は3年だった。
急速に変化する業界において、3年という時間は長い。
ネットスケープの運命を決定づけたのが、高い技術的負債とそれに続く全面的な書き換えの決断だったとは、誰も断言できない。
技術的負債は、すべてのソフトウェア プロジェクトに追加コストを課します。
このコストは 2 つの方法で発生します。
・プロジェクトを完了させるために対処しなければならない負債の返済コストが発生する可能性がある。 これはローンの元本返済に相当する。
・プロジェクトは実際には負債を返済しないかもしれないが、それにもかかわらず、例えば、より複雑なプログラムによって負債を回避するためのコストが発生する。 これは利子の返済に相当する。
不幸にも高額の借金を背負ってしまった場合、借金の罠から抜け出すのは困難か不可能になる。
自己強化型のループに陥ってしまうのだ。