「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
期限 †
- 1992年ウォード・カニンガムの経験報告による。
- 「設計上の負債(design debt)」とも言う。
内容 †
- 下記が引き起こす新しい比喩。
- 行き当たりばったりなアーキテクチャ
- 余裕のないソフトウェア開発
詳細 †
現在の進捗のために、将来のキャパシティ(ソフトウェアの開発能力)を犠牲にする。
経験報告 †
- 最初のコードを出荷することは、借金をしに行くのと同じ。
- 進行中のプロジェクトは、将来借金を返すコストを増大させている。
- 小さな負債は、代価を得て即座に書き直す機会を得るまでの開発を加速する。
- 危険なのは、設計上の借金が返済されなかった場合。
- 借金には利息がかかる。
- 品質の良くないコードを使い続ける=無駄な利息を払い続けることになる。
- しまいには、借金の残高が減らなくなり、その利息も支払えなくなる。
設計上の借金 †
アーキテクチャの手抜きによるコスト
- 設計
- 不完全なオブジェクト指向
- 複雑すぎて変更が難しいコード
- 実装
- 欠陥のある実装
- コンパイラの警告
- 静的コード解析ツールの解析結果への対応
- ソースコード中の積み残し項目の解決
- その他
- 文書化
- 組織で共有されない知識
- テストコードの記述
OSSでは †
OSSでは、手元で変更したコードをプロジェクトに送らないことは技術的負債。
- 手元で必要なメンテナンスをすることが「利息の支払い」にあたる。
- プロジェクトに送れば、他のユーザがメンテナンスしなくて済む。
その他 †
テクノロジのマーケティングに使用されることがある。
マーケティング †
本質から離れてマーケティングにも使われていると思う。
テクノロジ or エンジニアリング †
テクノロジ †
- 巨神兵的早すぎるテクノロジ
- TPO / STP、的にハマってないテクノロジ
エンジニアリング †
未熟なエンジニアリング
QCD †
- 高いQ(品質)のためには、一時的にCD(原価、納期)が犠牲になることがある。
- しかし、長期的に見ると、キャパシティ≒CD(原価、納期)の向上に繋がる。
Q(品質) †
低い品質は負債となり得る。
CD(原価、納期) †
原価低減や短納期が負債の原因と成り得る。
参考 †
Qiita †