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