工数見積り手法 CoBRA
~「勘」を見える化する見積り手法~
2011年5月
情報技術研究センター システム技術グループCoBRA研究会
ご紹介する内容
1.CoBRA法の概要
2.CoBRAツール
3.CoBRAモデルでの見積り
4.CoBRAモデルの応用
5.CoBRAモデルの構築
6.まとめ
3
1.CoBRA法の概要
<考え方>
規模
工
数
α×規模
CO×
×
×
××
×
×
×
×
×
×
×
×
×
×
×
×
「規模がほぼ同じでも、かかる工数に違いがある。」
⇒ この状況を、ベースの生産性αと、そこからのオーバー
ヘッド(CO)により説明する
1.CoBRA法の概要
<
「勘」の見える化
とは>
優れた「勘」「経験」は、見積りに活用すべき
ベテランの見積りは妥当なことが多い 将来の見通しについては「勘」「経験」に頼らざ るを得ない「勘」「経験」のみの見積りには問題が・・・
「勘」「経験」を有するベテラン以外は使えない (ノウハウ共有が困難) 見積り結果の正しさを説明することが難しい (説明力の不足)解決策⇒ 「CoBRA法によるモデル化」
「勘」「経験」の正しさを「データ」で検証 モデル化により、優れたノウハウを共有新しい
科学的な
「KKD」
勘
データ
経験
5
実績データ
に照らして、変動要因と
その定量化を検証し、
α
を計算
1.CoBRA法の概要
<見積り式>
工数(コスト) =
α
×
規模
× (
1 + ∑
CO
i
)
過去プロジェクト 規模 工数 PJ-1 10.3KLOC 9.2人月 PJ-2 8.8KLOC 7.5人月 PJ-3 21.3KLOC 18.7人月 PJ-4 42.5KLOC 52.1人月 PJ-5 5.2KLOC 6.3人月 PJ-6 22.3KLOC 18.2人月 ・・・・・・・ ・・・・・ ・・・・コスト変動要因のオーバヘッドを考慮
経験豊富なPL等の
熟練者の知見
を
基に、変動要因とその影響を定量化
確率 影響度(%) C氏 B氏 A氏補完
1.CoBRA法の概要
<位置づけ>
見積り手法
データ駆動型
• COCOMO • OSR® • Regression(回帰の利用) • CART • ANOVA 過去のプロジェクト データに基づく経験ベース型
• 専門家による見積り • 見積りミーティング • デルファイ法 基本的に熟練者の経験 のみを利用混合(ハイブリッド)型
• アナロジー利用 過去のプロジェクトデータと 熟練者の経験を利用 3名程度の熟練者と10個程度の 実績データから見積りモデル構築• CoBRA法
7 0 100 200 300 400 500 600 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 度数 予算超過 確 率 見積り工数[人月] 見積り工数分布 及び 予算超過確率 6.3% 6.7% 8.3% 10.6% 11.6% 16.2% 16.4% 17.8% 25.2% 29.5% 0.0% 10.0% 20.0% 30.0% 40.0% プロジェクトマネージャの経験・知識 関係者の数 顧客の参画度合い 開発期間の厳しさ チームの経験・知識 信頼性要求のレベル システムの複雑さ 業務の複雑さ 要求変更の発生想定時期 見積り時の要求内容の曖昧さ 変動要因の寄与度 0.2 0.4 0.6 0.8 1.0 工数 予算超過 確率 960 1420 880 1260 660 見積値(中央値) 0.1
1.CoBRA法の概要
<利用シーン>
コストマネジメント
リスクマネジメント
プロセス改善
プロジェクトマネージャ
PMO、品質管理部門
24.6 19.4 16.8 15.5 9.8 0.0 10.0 20.0 30.0 40.0 要求変更の度合い 見積り時の要求内容の曖昧さ 業務の複雑さ 信頼性要求のレベル システムの複雑性 [%] コスト見積り コスト変動幅の確認 予算超過リスクの評価 高影響な要因の把握 高影響要因の対策と解消2.CoBRAツール
簡易ツール
CoBRA法の体験版 IPA/SECのホームページにログイン後に、所定のURLから使用 2007年度の実証実験の集約データを参考値として搭載 実績データのみ入力し、CoBRAモデルの構築、見積り、リスク評価を体験 利用に必要な環境 Internet Explorer Ver6.0以降、Firefox 2.0以降
Flash Player 10以降
統合ツール
CoBRA法のフル機能版 IPA/SECのホームページにログイン後に、所定のURLからダウンロードして利用 Excelブックファイル(マクロ入り) 一から独自の見積りモデルを作成できる (簡易ツールのデータの引き継ぎも可能) 利用に必要な環境 OS: Microsoft Windows 2000 SP4以降
オフィスアプリケーション: Microsoft Excel 2002以降
⇒
9
3.CoBRAモデルでの見積り
<手順>
工数見積りの手順
①規模の設定
②変動要因の影響度の
大きさの設定
③見積りの実行
見積もる対象のプロジェクトの開発量
(規模)を想定します。
各変動要因の影響度の大きさを評価
します。(0~3の4段階)。
見積りを実行し、結果を確認します。
(ツールを使用)
工数(コスト) = α × 規模 × ( 1 + ∑COi )
①
②
③
3.CoBRAモデルでの見積り手順
<規模入力>
① 想定規模
を入力
11
3.CoBRAモデルでの見積り
<変動要因レベル入力>
② 変動要因
のレベルを
入力
① 想定規模
を入力
3.CoBRAモデルでの見積り
<見積り実行>
見積り結果
予算超過確率
感度分析
③ 見積り実行
② 変動要因
のレベルを
入力
13 0 100 200 300 400 500 600 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 49 50 52 53 54 56 58 59 61 62 64 65 67 68 70 72 度数 予算超過確率 見積り工数 [人月]
工数を指定して、その工数を超過する確率を計算
(56人月の見積り ⇒ 予算超過確率85%)
予算超過確率を指定して、見積り工数を逆算
(予算超過確率20% ⇒ 62人月で見積もる)
4.応用
<予算超過リスクの分析>
見積り工数: 59人月
6.3% 6.7% 8.3% 10.6% 11.6% 16.2% 16.4% 17.8% 25.2% 29.5% プロジェクトマネージャの経験・知識 関係者の数 顧客の参画度合い 開発期間の厳しさ チームの経験・知識 信頼性要求のレベル システムの複雑さ 業務の複雑さ 要求変更の発生想定時期 見積り時の要求内容の曖昧さ 変動要因の寄与度
4.応用
<コストマネジメントのポイント発見>
感度分析により、高影響の要因を把握
例では、「見積り時の要求内容の曖昧さ」、「要求変更の発生想定時期」が高影響 見積り時の要求内容の曖昧さ: レベル「2」 要求変更の発生想定時期: レベル「2」
高影響な要因について、軽減策を検討
例えば、顧客とのQ&Aを通じて 「見積り時の要求内容の曖昧さ」 の軽減を図る15 0 100 200 300 400 500 600 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 49 50 52 53 54 56 58 59 61 62 64 65 67 68 70 72 度数 予算超過確率 見積り工数 [人月]
4.応用
<コストマネジメントの具体例>
0 50 100 150 200 250 300 350 400 450 500 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 47 48 48 50 51 52 53 55 56 57 58 60 61 62 63 65 度数 超過確率 見積り工数 [人月] 6.3% 6.7% 8.4% 10.6% 11.6% 14.8% 16.2% 16.4% 17.8% 25.1% 0.0% 10.0% 20.0% 30.0% プロジェクトマネージャの経験・知識 関係者の数 顧客の参画度合い 開発期間の厳しさ チームの経験・知識 見積り時の要求内容の曖昧さ 信頼性要求のレベル システムの複雑さ 業務の複雑さ 要求変更の発生想定時期 変動要因の寄与度①元の見積り: 59人月
56人月だと予算超過確率85%
②Q&Aにより要求内容を明確化。「見積り時
の要求内容の曖昧さ」を2から1に改善
③56人月でも大丈夫!
5.CoBRAモデルの構築プロセス
(1)変動要因の洗い出し ・変動要因の定義・影響度のアンケート (2)実績データの収集 ・規模、工数(コスト)の収集 ・変動要因のレベル設定 (3)モデルの構築 ・ΣCOのシミュレーション ・αの回帰計算 工数 関係者の 協力度合い 要件の不 安定性 既存システム への影響度 開発期間の制約 信頼性要件 のレベル 性能要件 のレベル 開発 実績 + + + + + + + (4)モデルの改善 (繰り返し) ・要因関係図の見直し ・規模、工数、変動要因のレベルの見直し工数=α×規模×(1+∑CO)
ツールを利用
17