Boehm, Barry & Lane, Jo & Supannika, & Turner, Richard. (2010). Architected Agile Solutions for Software-Reliant Systems. INCOSE International Symposium. 20. 10.1007/978-3-642-12575-1_8.
How Much Architecting is Enough?
左図
- 赤線が事前の設計に費やされた時間の割合
- 黒点線がやり直しに費やされた時間の割合
- 緑がその合算
- 三本の線はコード行数に対応している
- 1万行程度なら事前設計はいらない
- 1千万行程度になると、やり直しによって失われる時間が91%にもなる
- ので事前設計に40%の時間を費やすことでやり直しリスクを下げることが合理的になる
- 三本の線はコード行数に対応している
右図
- 黒線
- 10万行プロジェクトにおける平均的コスト
- 細いのが左図の赤線に対応して、太い二つが緑と黒に対応
- やり直しコスト、設計コスト、合計コスト
- 10万行プロジェクトにおける平均的コスト
- 赤線
- 仕様の変動が高くて設計コストが5割増になる場合
- 設計コストが高まる
- →スイートスポットは左に移動する
- =事前の設計を減らした方が適切
- コスト5割増で、スイートスポットは20%から10%に移動する(5割増えてるので実際は15%)
- 緑線
- 事前の設計不足により問題が起きたときに50%の追加コストがかかる場合
- やり直しコストが高まる
- →スイートスポットは右に移動する
- =事前にもっと設計した方が良い
- スイートスポットは30%に移動する
- ただし上下5〜10%くらいはほぼ平らなので「スポット」というより「リージョン」である
- 少なすぎてリージョンの端に来たときにリスクが急上昇する