技術的負債
複数のブランチで並行して開発を行うと、変更点を1つのソースベースにマージする作業が必要になるため、技術的負債が発生する。分離して行われた変更が多ければ多いほど、負債は大きくなる。
リファクタリングの遅延:プロジェクトの要件が進化するにつれ、コードの一部が非効率的になったり、編集が困難になったりすることが明らかになり、将来の要件をサポートするためにリファクタリングが必要になることがある。リファクタリングが遅れれば遅れるほど、また、コードが追加されればされるほど、負債は大きくなる。
スタンダードとの整合性の欠如。業界標準の機能、フレームワーク、技術が無視されている。最終的にはスタンダードとの統合が行われ、それを早く行うことでコストを削減することができる(「リファクタリングの遅延」と同様)。
知識の欠如:開発者がエレガントなコードの書き方を知らない場合。
オーナーシップの欠如:ソフトウェアの外注化により、社内のエンジニアリングが外注コードのリファクタリングやリライトを要求される場合。
技術的なリーダーシップの欠如:十分に考えられていない命令が指揮系統の下に伝えられること。
直前の仕様変更。このような変更は、プロジェクト全体に浸透する可能性があるが、文書化してチェックするための時間や予算がない。