Comments
Description
Transcript
ソフトウェア開発見積りの課題と解決方法 - IPA 独立行政法人 情報処理
SDM公開講座 「現代ソフトウエアエンジニアリングの俯瞰図」 ソフトウェア開発見積りの課題と解決方法 ~見積り手法の歴史とCoBRA法~ 2012年6月14日 CoBRA研究会幹事 先進ソリューションセンター 石谷 靖 (IPA/SEC戦略意思決定プロセス強化WG委員) Copyright ©2012 MRI, All Rights Reserved ご紹介の内容 1.見積りにおける課題 2.見積り手法の歴史と蓄積 3.見積り根拠の「見える化」 4.CoBRA法の概要 5.CoBRAモデルの構築方法 6.CoBRAモデルの応用 7.事例紹介 2 Copyright ©2012 MRI, All Rights Reserved ご紹介の内容 1.見積りにおける課題 2.見積り手法の歴史と蓄積 3.見積り根拠の「見える化」 4.CoBRA法の概要 5.CoBRAモデルの構築方法 6.CoBRAモデルの応用 7.事例紹介 3 Copyright ©2012 MRI, All Rights Reserved 1.見積りにおける課題 1.1 プロジェクトマネジメントにおける見積りの位置づけ プロジェクト・マネジメントの中核 契約 インプット プロジェクトの 全体把握 規 模 ・ 体 制 見積り 予実分析 プロセス改善 4 ゴ ー ル プロジェクト マネジメント •コストマネジメント •リソースマネジメント •進捗マネジメント •リスクマネジメント •スコープマネジメント •品質マネジメント Copyright ©2012 MRI, All Rights Reserved 1.見積りにおける課題 1.2 プロジェクトにおける大きな課題の一つ 「プロジェクトを大失敗させる原因は二つある。ひとつは、見積りミスだ」 楽観的な見積り:見積り根拠があいまいで、必要な要素をきちんと見積もっていな い。 早期の見積り:作るものが決まっていない状況で見積りを行う。 目標と見積りの混同:営業、マーケティング担当者や顧客の事情で決定される。 一度決まったら修正されない見積り 時間の余裕がないことが多い(十分に取り組めない)。 ⇒ムリなプロジェクト 「もうひとつは、仕様未凍結だ」 ⇒仕様の細部が決まらない。仕様が変化し続ける。 ※上記の見積りミスにつながる原因の一つ ⇒ムリなプロジェクト ロバート・グラス、「ソフトウェア開発55の真実と10のウソ」、2005 5 Copyright ©2012 MRI, All Rights Reserved 1.見積りにおける課題 1.3 見積りミスを引き起こす原因 Capers Jones, “Social and Technical Reasons for Software Project Failures”, Crosstalk, June, 2006 1. 要求が完全に決定される前に、正式な見積りが求められる。 2. 新しい要求が加えられても、見積りは変更されない。 3. 主要なソフトウェア開発プロジェクトでも、見積りツールが使われない。 4. 実績データがなく見積りのキャリブレーション(較正)ができない。 5. 保守的な見積りは採用されず、挑戦的な見積りで置き換えられる。 LM. Liard & M.C. Brenman, “Software Measurement and Estimation: A Practical Approach”, John Wiley & Sons, Inc., 2006 次の場合に見積りミスが発生する。 1. 2. 3. 4. 5. 見積りに関して根拠をきちんと説明できない場合 期間と工数に関して、「望み」と「見積り」が混同されている場合 期待に基づいて計画が立てられる場合 要求が曖昧な場合、要求が変化し、増加していく場合 成果物の品質が悪い(顧客の満足が得られない)ことが判明した場合 6 Copyright ©2012 MRI, All Rights Reserved 1.見積りにおける課題 1.4 見積りの国内の実践状況 ベンダ企業 その他, 1.0% 2005年(JISA調査) 積み上 げ, 28.0% PL・担当者の経験に基づく(30%強) 類似プロジェクトからの類推(30%強) 2012年(IPA/SEC調査、組込み系) モデル的 手法, 7.0% 個人の経験に基づいた(20%弱) 過去のデータの実績に基づいた(40%弱) ※属人的な方法が減少している一方、類推的な方 法が残る。 PL.・担当者 の経験, 32.0% 2005年JISA調査 2012年(IPA/SEC調査、エンタプライズ系) 個人の経験に基づいた(10%強) 過去のデータの実績に基づいた(35%) 過去の類似シ ステムからの 類推, 32.0% 見積りしな かった, 1.0% わからな い, 4.3% 与えられた条 件に合せ た, 10.1% 社内の見積り 基準に基づい た, 29.1% 個人の経験に 基づい た, 16.8% 過去の実績 データに基づ いた, 38.8% ユーザ企業 相見積りという手段が基本 組込み 2012年IPA/SEC調査*1 ※2005年度JUAS企業IT動向調査 基本的に、基準を持つよりは受身 ベンダの見積りに依存 与えられた 見積りし 条件に合 なかっ せた, 8.6% た, 0.1% わからな い, 3.1% 個人の経験に 基づい た, 12.7% 委託先への満足度 ※2010年度JUAS企業IT動向調査 「価格」への満足22%、「見積り金額の妥当性」は 19%(普通が50%弱、不満が35%) *1ソフトウェア産業の実態把握に関する調査、IPA/SEC、2012 7 過去の実績 データに基づ いた, 34.5% 社内の見積り 基準に基づい た, 41.0% エンタ プライズ 2012年IPA/SEC調査*1 Copyright ©2012 MRI, All Rights Reserved 1.見積りにおける課題 1.5 見積りにおける課題(1) 見積り根拠が明確になっていない(規模、工数、工期) 「KKD:Kan(勘)とKeiken(経験)とDokyo(度胸)」による見積り 見積りに必要な情報がはっきりしていない 規模、工数・コスト、工期を見積もるために根拠の情報がない 見積り方法もその場限り 上記情報を使った規模、工数・コスト、工期の見積り方法が明確でない 生産性に影響を及ぼす要因が多種多様(工数) 規模は、基本的に考慮される。 一方で、次のような要因も考慮に入れる必要がある。 品質など見えないものの影響 プロジェクトの状況の影響 開発の中心は人手 スケジュールの制約 コミュニケーション状況 要求の安定性 ・・・・・ 指定ソフト・ハード の安定性 見積り 工数 規模 開発スケジュール の制約 要求の 安定性 性能要求 の高さ 影響要因が分かっている 場合でも定量化が難しい コミュニケーション (関係部署の数) 信頼性 要求の高さ 8 Copyright ©2012 MRI, All Rights Reserved 1.見積りにおける課題 実績プロジェクトデータ例:規模と工数の関係 規模(ファンクションポイント)と工数(人時)との関係例 ばらついたデータを説明 する関係の発見が必要 IPA/SEC「定量データに基づくプロジェクト診断支援ツール」 (2007年12月より) https://sec.ipa.go.jp/project_assessment/TopMenu.do (無料利用者登録必要) 9 Copyright ©2012 MRI, All Rights Reserved 1.見積りにおける課題 1.5 見積りにおける課題(2) ソフトウェアの見積りを難しくしている原因(規模、工数、工期) 過去データの欠落・精度の確保 工数データの把握が難しい。 規模データの一貫性の欠落(単位、数え方の一貫性) 分析が難しい データを集約しても、傾向の分析が難しい。 見積り実施者の傾向(規模、工数、工期) 「ほとんどのコスト見積りは低すぎる傾向がある」(DeMarco-Glassの法則) 不必要な作業を追加するよりは、作業項目を忘れる。 ソフトウェアの機能も同様に忘れられているものの方が多い。 データ等の根拠がない場合は「楽観的に」なりがちである。 不慮の事態が起こりがち:安定した開発はない 「早期の見積り」「時間をかけず、熟慮しないで実施」 「目標」を「見積り」としてしまう。 現実には混同しがちだが、全く違うものを同一視している。 例:入札額と見積り額は本来違うもの 「法則」の出典(以下、同じ): A. Endres, 、D. Rombach, A Handbook of Software and Systems Engineering 1/E, Pearson Education, 2003,(邦訳:吉舗紀子訳、ソフトウェア工学・システム工 学ハンドブック、コンピュータエイジ社、2005) 10 Copyright ©2012 MRI, All Rights Reserved 1.見積りにおける課題 1.5 見積りにおける課題(3) 部分的な情報からの見積り(規模) 細部が決まっていない状況で、見積りを行う場合が多い (予算決めなど早い段階) ⇒ 部分的な情報から、推測するしかない。 ⇒ 実際とぶれがでることは避けられない 規模 数 値 例 : | 4 ~ 1 4 倍 実際に使える情報 現実には 推測 ぶれ幅 複雑さ 規模見積りで使いたい 確定情報 最終的な 規模 ソースコード行数 ファンクション・ポイント数 データ項目数 要求機能 類似システム システム化 の方向性 システム 化計画 設計 要件定義 製作 時間 B. Boehm, Software Engineering Economics,1984 IPA/SEC編、ソフトウェア開発見積りガイドブック、オーム社、2006 11 Copyright ©2012 MRI, All Rights Reserved 1.見積りにおける課題 1.5 見積りにおける課題(4) 決めたことが変わっていく(規模) 開発当初の想定機能は、一般に工程が進むにしたがって膨張する。 ⇒見えていなかった要件が見えてくる。 ⇒最初の見積りと当然ぶれがでる 最終的な機能 (規模) 規模 当初の想定 機能(規模) 規模の増加 数値例:1か月に2%増加 Capers Jones、ソフトウェア見積りのすべて 第2版、共立出版、2009 システム化 の方向性 システム 化計画 設計 要件定義 製作 時間 IPA/SEC編、ソフトウェア開発見積りガイドブック、オーム社、2006に基づき改変 12 Copyright ©2012 MRI, All Rights Reserved ご紹介の内容 1.見積りにおける課題 2.見積り手法の歴史と蓄積 3.見積り根拠の「見える化」 4.CoBRA法の概要 5.CoBRAモデルの構築方法 6.CoBRAモデルの応用 7.事例紹介 13 Copyright ©2012 MRI, All Rights Reserved 2.見積り手法の歴史と蓄積 2.1 見積り手法に関する大きな流れ 1960年代 1970年代 1980年代 1990年代 2000年代 ソフトウェア開発 (工学)の黎明期 見積りモデル 提案の時代 見積りモデルの 成熟期 ツールの成熟 機械学習の応用 熟練者の知識活 用の再認識 •マネジメントの一環 として、見積りが既 に課題 •様々な関係式 •規模に対する注目 (ファンクション・ポイ ント) •重要文献(基本指 針)の出現 •パラメトリック手法 •COCOMO •さまざまな見積り ツール •一方、キャリブレー ション(較正)の必要 性の認識 •多数のデータから 予測(多様な機械学 習アルゴリズムの適 用) •プロジェクトマネジ メントの体系化 (WBS) •1990年代後半から データと熟練者の知 識の融合 コンピュータ黎明⇒大型計算機(汎用機)⇒オープン化⇒さらなるオープン化 ハードウェアコストの一部 ⇒ ソフトウェア比率とコストの増大 ⇒ 残り続ける「勘」「経験」「度胸」(KKD)の習慣 経験に基づく見積もりが30%以内(2005年) 類推見積りが40%弱(2012年) 14 Copyright ©2012 MRI, All Rights Reserved 2.見積り手法の歴史と蓄積 2.2 ソフトウェアにおける見積りに関する歴史と蓄積(1/4) 最初の研究は、1950年代から60年代 最初の論文:V. Norden, 1958 “Curve Fitting for a Model of Applied Research and Development Scheduling” 初期の論文から多くの変動要因を考慮 Nelson, E.A., “Management Handbook for the Estimation of Computer Programming Cost”, TM-3224, SDC, 1966 169のプログラミング事例を統計的に分析 6つの工程に分類 「プログラム設計、コーディング及びテスト」について、工数計算式を定義 「計画及びコスト見積り」、「分析・設計」、「統合テスト」、「インストール」、「保守」については、基本 的に過去のプログラミング経験に基づく類推 Nelson-Jonesの法則:「多くの要素が開発生産性に影響を及ぼす(増加要因)」 工程ごとに要因の設定 要求関連 設計要求定義のあいまいさ、運用要求に関する知識の欠如、システムにおける機能数 設計・コーディング関連 命令数の数、サブプログラムの数、内部や外部向けの文書の数、プログラムの種類 その他、データ処理関連、開発環境の要因 15 Copyright ©2012 MRI, All Rights Reserved 2.見積り手法の歴史と蓄積 2.2 ソフトウェアにおける見積りに関する歴史と蓄積(2/4) 1970年代は、見積りモデルの時代 多様なモデルの提案 コスト要因を含む算出方式 例: 基本式: Effort n Time 変動要因例:インターフェイスの複雑さが不安定であれば、29%増加 3 C.E. Walston, C.P. Felix. A Method of Programming Measurement and Estimation"5.76*t*exp(-0.08*t^2) IBM Systems Journal, vol. 16, No. 1, 1977 y 人 員 割 当 例:SLIMモデル(L.H.Putnam) Size Ck Effort 1 3 Tp 4 3 Tpは人員がピーク時の時間 Ckは定数(技術的な適用度合い応じて変わる) 工数の分布の前提として、「レイリー分布」 「工数」と「規模」と「時間」のトレードオフを表現 8 t t2 M (t ) k exp( 2 ) b 2b 6 4 2 0 0 2.5 5 7.5 10 工期t 例:規模指標として、ファンクション・ポイントの萌芽 A.J. Albrecht, Measuring Application Development Productivity, Proceedings of the Joint SHARE, GUIDE, and IBM Application Developments Symposium, 1979 1970年代のモデルにおける課題 ソフトウェア開発に影響を及ぼす変動要因は多数あり、何を選択すればよいのか。 モデルによって、重視する要素に違い プロジェクトサイズ コスト変動要因 熟練者の判断 まだ、組合せを考えるまでには至っていなかった 16 Copyright ©2012 MRI, All Rights Reserved 2.見積り手法の歴史と蓄積 2.2 ソフトウェアにおける見積りに関する歴史と蓄積(3/4) COCOMOモデル(1981年) Language Experience 見積モデルに関する体系的なモデル Boehmにより開発 南カリフォルニア大学、当時はTRW PM 2.94 Size i 1 EM i E 15 工数の説明変数として、規模、コスト変動要因 規模と工数の関係は、非線形の指数関数 1.2 Data base size 1.23 Schedule constraint 1.23 Turnaround time 1.32 Virtual machine experience 1.34 Software tools 1.49 Modern programming practices 1.51 Storage constaint 1.56 Applicatoins experiece 1.57 Timing constraint 1.66 Required reliability 1.87 Product complexity 2.36 Personnel/team capability 4.18 1 1.5 2 2.5 3 3.5 4 4.5 1980年代(1980年前後を含む)はパラメトリック手法の提示 様々な規模や環境のデータを用いて、パラメトリックなモデルの構築 Basiliのメタモデル: E MR a Sizeb c a, b, cは定数、MRは変動の係数 一方、主要な結論として、ある環境で構築されたモデルはそのままでは他の環境 での精度が良くない。 ⇒キャリブレーション(較正)を行う必要がある。 (Kitchenham & Taylor, 1985; Kemerer, 1987) 17 Copyright ©2012 MRI, All Rights Reserved 2.見積り手法の歴史と蓄積 2.2 ソフトウェアにおける見積りに関する歴史と蓄積(4/4) 1990年代における機械学習方式の適用 ソフトウェア開発は複雑で動的なプロセスであり、生産性における変化の因果関 係を説明するには知識が少ないとの認識の下、データに語らせる方式が多数取 られた。 機械学習アルゴリズムの適用(Briandら, 1992) ニューラルネットワークの適用(Jørgensen, 1995; Finnieら, 1997) CART Regression treeの適用(Srinivasan & Fisher, 1995; Kitchenham, 1998) 基本的に、パターンに分類して見積りを行うもの 1990年代後半から2000年代:熟練者の判断活用に対する再認識 熟練者は、自らの経験と知見により、見積り方法を「暗黙的に」確立 ⇒熟練者の見積りの効率化・高精度化 ⇒熟練者の知見を活用したモデルの構築 主観的な見積り (Höst & Wohlin,1998; Stensrud & Myrtveit, 1998) 熟練者の知見を活用した定量化(CoBRA) (Briandら. 1998a) 18 Copyright ©2012 MRI, All Rights Reserved 2.見積り手法の歴史と蓄積 2.3 見積り手法と関連技術の動向(まとめ) 1950年代 1960年代 ※SLOC(ソースコード行) 命令数(Instructions) 規模指標 ★’58 ★’63 最初の論文 NELSON 工数見積り 1970年代 1980年代 1990年代 2000年代 ★’76 Cyclomatic複雑度 ★’77 Software Science(HALSTEAD) ★’79 FP ★’89 MKII FP ★’00 COSMIC-FFP ★’87 フィーチャーポイント ★’05 NESMA(FP) ★’91 オブジェクトポイント ★’93 Use Caseポイント ★’73 PRICE-S ★’78 SLIM ★’88 SEER-SEM ★’81 COCOMO ★’97 COCOMOⅡ ★’86 COMPO ★90年代 機械学習アルゴリズム ★’97 CoBRA法 ★90年代後半から熟練者知識活用 19 Copyright ©2012 MRI, All Rights Reserved ご紹介の内容 1.見積りにおける課題 2.見積り手法の歴史と蓄積 3.見積り根拠の「見える化」 4.CoBRA法の概要 5.CoBRAモデルの構築方法 6.CoBRAモデルの応用 7.事例紹介 20 Copyright ©2012 MRI, All Rights Reserved 3.見積り根拠の「見える化」 3.1 見積りの見える化とモニタリングとコントロール(解決方針) 対策①:見積り手法の確立 前提(インプット)とアウトプットの明確化 アウトプットの算出根拠の明確化と再現性の確保 ⇒見積りモデルの確立 すべての対策 の出発点 本日の主題 対策②:見積りの妥当性の確保 複数の視点からのチェック 特に、見積りの前提が曖昧な場合は様々な立場・可能性からのチェック/シミュレーション ⇒複数の見積り方法によるレビュー ⇒対策①の実現による前提を変えたシミュレーションはその一つ 対策③:モニタリングとコントロールと再見積り 曖昧な状況であっても、前提とインプットを仮説として置き、見積り 明確になるとともに、前提とインプットを見直して、再見積り また、変化する条件(要求内容)に対して、前提とインプット見直しによる再見積りとコントロール 同時に、前提とインプットが成立するように、マネジメントによるコントロール ⇒前提条件とインプットの変化のモニタリング ⇒コントロールによるブレ防止と再見積りによる変化への追随 ⇒対策①の実現により可能となる 対策④:目標と見積りの峻別 見積りは前提条件とインプットに基づいて算出 目標と見積りの差異は、見積り(手法)で解決するのではなく、マネジメントで解決 ⇒見積りプロセスの確立 ⇒対策①の実現により可能となる 21 Copyright ©2012 MRI, All Rights Reserved 3.見積り根拠の「見える化」 3.2 見積り根拠の「見える化」の重要性 見積り根拠が「見えない」ことによる問題 ユーザ(発注者) ベンダ(受注者) • 金額(工数)の妥当性が 分からない。 • 危険性(予算不足・過剰) が分からない。 • 無理な値下げによる品 質低下。 • 根拠のある価格交渉が できない。 • 見積りの妥当性を説明 できない。 • 予算が厳しいことを納得 してもらえない。 • 予算に合わせて工数をコ ントロールできない。 見積り根拠の「見える化」 = コスト構造の「見える化」 が重要 22 Copyright ©2012 MRI, All Rights Reserved 3.見積り根拠の「見える化」 3.3 見積り根拠の「見える化」の課題 規模だけでは工数を説明できない。 工数の「ブレ」を説明できる手段が必要。 工 数 × × × × × × × × × × × × × × × × × 規模がほぼ同じでも、必要な 工数に違いがある。 規模 この違いを把握し、説明する 23 Copyright ©2012 MRI, All Rights Reserved 3.見積り根拠の「見える化」 3.4 「見える化」の具体的な解決策 ~CoBRA法~ CoBRA法の5つの特徴 1.組織固有のコスト変動要因をモデル化 2.コスト変動要因に、熟練者の優れた「勘」「経験」を反映 3.工数のコントロールを実現 4.予算超過リスクの定量評価を実現 5.プロセス改善のポイントを把握 (*)Cost Estimation, Benchmarking, and Risk Assessment 24 Copyright ©2012 MRI, All Rights Reserved ご紹介の内容 1.見積りにおける課題 2.見積り手法の歴史と蓄積 3.見積り根拠の「見える化」 4.CoBRA法の概要 5.CoBRAモデルの構築方法 6.CoBRAモデルの応用 7.事例紹介 25 Copyright ©2012 MRI, All Rights Reserved 4.CoBRA法の概要 4.1 CoBRA法のコンセプト ~「勘」「経験」を見える化する 担当者 (経験5年) 熟練者 (経験20年) 優れた「勘」「経験」を見積りに活用 ベテランの見積りは妥当なことが多い 将来の見通しについては「勘」「経験」に頼らざ るを得ない 「勘」「経験」のみの見積りには問題が・・・ 「勘」「経験」を有するベテラン以外は使えない (ノウハウ共有が困難) 見積り結果の正しさを説明することが難しい (説明力の不足) 解決策: 「形式知化し、実績データで検証」 RFP 勘 (K) 45人月でしょ! おぉ!!! 新しい 科学的な 「KKD」 経験 データ (K) (D) モデル化により、優れたノウハウを共有 「勘」「経験」の正しさを「実績データ」で検証 26 Copyright ©2012 MRI, All Rights Reserved 4.CoBRA法の概要 4.2 CoBRA法における工数見積りの考え方 「規模がほぼ同じでも、かかる工数に違いがある。」 ⇒ 現実の工数を、ベースの生産性α と、そこからの オーバーヘッド(CO)により説明 工 数 × × × ×× × × × × × CO × × × × × × α ×規模 × 規模 27 Copyright ©2012 MRI, All Rights Reserved 4.CoBRA法の概要 4.3 CoBRA法の工数見積り式 工数 = α × 規模 × ( 1 + Σ COi ) コスト変動要因のオーバヘッドを考慮 実績データに照らして、変動要因と その定量化を検証し、α を計算 過去プロジェクト 規模 工数 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等の熟練者の知見を 基に、変動要因とその影響を定量化 補完 確率 B氏 C氏 A氏 影響度(%) 28 Copyright ©2012 MRI, All Rights Reserved 4.CoBRA法の概要 4.4 CoBRA法の位置づけ 見積り手法 経験ベース型 ハイブリッド型 データ駆動型 基本的に熟練者の経験 のみを利用 過去のプロジェクトデータと 熟練者の経験を利用 過去のプロジェクト データに基づく • 専門家による見積り • 見積りミーティング • デルファイ法 • CoBRA法 • • • • COCOMO OSR® CART ANOVA 3名程度の熟練者と10個程度の 実績データから見積りモデル構築 29 Copyright ©2012 MRI, All Rights Reserved 4.CoBRA法の概要 4.5 工数見積りの手順 工数見積りの手順 ①規模の推定 見積もる対象のプロジェクトの開発量 (規模)を想定 ②変動要因の 影響度の評価 各変動要因の影響度を評価 (0~3の4段階) ③見積りの実行 見積りを実行し、結果を確認 (ツールを使用) ③ ② ① 工数 = α × 規模 × ( 1 + Σ COi ) 30 Copyright ©2012 MRI, All Rights Reserved 4.CoBRA法の概要 4.6 ツールでの見積り手順 ①想定規模の入力 ① 想定規模 を入力 31 Copyright ©2012 MRI, All Rights Reserved 4.CoBRA法の概要 4.6 ツールでの見積り手順 ②変動要因レベルの入力 ① 想定規模 を入力 ② 変動要因 のレベルを 入力 32 Copyright ©2012 MRI, All Rights Reserved 4.CoBRA法の概要 4.6 ツールでの見積り手順 ③見積りの実行と結果の確認 見積り結果 予算超過確率 ② 変動要因 のレベルを 入力 感度分析 ③ 見積り実行 33 Copyright ©2012 MRI, All Rights Reserved 4.CoBRA法の概要 4.7 CoBRAツール (IPA/SEC提供) 簡易ツール CoBRA法の体験版 IPA/SECのホームページにログイン後に、所定のURLから使用 http://sec.ipa.go.jp/tool/cobra/ 2007年度の実証実験の集約データを参考値として搭載 Webブラウザがあれば利用可能 統合ツール CoBRA法のフル機能版 Excelアプリケーション IPA/SECのホームページからダウンロードして利用 一から独自の見積りモデルを作成 34 Copyright ©2012 MRI, All Rights Reserved 4.CoBRA法の概要 4.8 CoBRAモデルの利用シーン PMO、品質管理部門 プロジェクトマネージャ コストマネジメント リスクマネジメント 工数見積り プロセス改善 予算超過リスクの評価 影響度の高い要因の対策と解消 1.0 要求変更の度合い 見積り時の要求内容の曖昧さ 業務の複雑さ 信頼性要求のレベル システムの複雑性 0.8 予 算 0.6 超 過 確 0.4 率 0.2 見積値(中央値) 24.6 19.4 16.8 15.5 9.8 0.0 10.0 20.0 30.0 [%] 40.0 0.1 660 880 960 1260 1420 工数 変動要因の寄与度 100% 見積り工数分布 及び 予算超過確率 見積り時の要求内容の曖昧さ 600 90% 300 40% 20% 100 0 工数変動幅の確認 見積り工数 [人月] 11.6% 開発期間の厳しさ 顧客の参画度合い 10% 0% 16.2% チームの経験・知識 200 30% 16.4% 信頼性要求のレベル 400 60% 50% 17.8% システムの複雑さ 度数 予算超過確率 70% 25.2% 業務の複雑さ 500 80% 29.5% 要求変更の発生想定時期 660 880 960 1260 工数のコントロール 35 1420 10.6% 8.3% 関係者の数 6.7% プロジェクトマネージャの経験・知識 6.3% 0.0% 10.0% 20.0% 30.0% 40.0% 影響度の高い要因の把握 Copyright ©2012 MRI, All Rights Reserved 4.CoBRA法の概要 4.9 CoBRA法の歩み 1997年、独フラウンホーファ財団実験的ソフトウェア工学研究所(IESE)により発表 http://www.cobrix.org/index.html 国内実証実験 (2007年8月~2008年3月) 8社でCoBRAモデルの構築 金融・保険、製造、情報提供の3分野 複数の規模メトリクス(ソースコード行数、ファンクションポイント、画面数)によるモデル構築 CoBRA研究会発足 (2009年5月) CoBRAモデル構築経験のある企業による自主的な研究会 http://cobra.mri.co.jp 10組織 (2012年6月現在) (株)アイネス、(株)NTTデータセキスイシステムズ、沖電気工業(株)、人事院(CIO補佐官)、 大同生命(株)、日新情報システム開発(株)、(株)日立製作所、ボーズ・オートモーティブ(株)、 (株)三菱総合研究所、三菱電機(株) ※50音順 ガイド発刊 CoBRA法入門 -「勘」を見える化する見積り手法- (2011年4月、オーム社) 支援ツールの無料公開 (2010年3月) (独)情報処理推進機構 ソフトウェア・エンジニアリング・センター 「CoBRA法に基づく見積り支援ツール」 (http://sec.ipa.go.jp/tool/cobra/) 36 Copyright ©2012 MRI, All Rights Reserved ご紹介の内容 1.見積りにおける課題 2.見積り手法の歴史と蓄積 3.見積り根拠の「見える化」 4.CoBRA法の概要 5.CoBRAモデルの構築方法 6.CoBRAモデルの応用 7.事例紹介 37 Copyright ©2012 MRI, All Rights Reserved 5 .CoBRAモデルの構築方法 5.1 CoBRAモデルの構築手順 CoBRAモデルの構築手順 ①変動要因の抽出・定義 ②実績データの収集 ③モデルの構築 ④見積り精度の改善 ② 熟練者2、3名の協力の下に、変動要因 を抽出・定義し、工数への影響度を設定 過去プロジェクト10件程度について、 規模と工数の実績データを収集し、各 変動要因のレベルを設定 支援ツールを用いて見積りモデルを 構築し、見積り精度を確認 初期モデル モデルを見直し、見積り精度を改善 改善モデル ① 工数 = α × 規模 × ( 1 + Σ COi ) 38 ③ Copyright ©2012 MRI, All Rights Reserved 5 .CoBRAモデルの構築方法 5.2 【手順1】変動要因の抽出・定義 ①変動要因の洗い出し 熟練者2、3名の協力を得て、自組織に特有の変動要因をブレーンストーミン グにより抽出 抽出例 ソフトの複雑さ (CO9) 既存システム の整備状況 (CO10) 要件の不安定性 (CO8) 要件管理の 確実さ(CO7) 開発期間の 制約(CO6) 工数 信頼性要求の レベル(CO5) 関係者の 協力度合い (CO1) ユーザビリティ要求 のレベル(CO2) 性能要求の レベル(CO3) チームの 知識・経験 (CO4) (簡易法) 変動要因のサンプルから、自組織に当てはまるものを選ぶ IPA/SECの変動要因セット(19種) 「CoBRA法入門」付録Aに掲載の変動要因事例(ベンダ企業、ユーザ企業別) 39 Copyright ©2012 MRI, All Rights Reserved 5 .CoBRAモデルの構築方法 5.2 【手順1】変動要因の抽出・定義 ②変動要因の定義 熟練者2、3名の協力を得て、ブレーンストーミングにより定義を取りまとめ 定義例 影響なし 工数への影響大 CO 変動要因 定義 レベル3 レベル2 レベル1 レベル0 CO1 関係者の協力度 関係者が回答期限 5%未満 合い を守る度合い 5%以上50% 50%以上 未満 100%未満 CO2 ユーザビリティ要 利用者の特性 求 IT未経験者 (一般) IT経験者 (一般) CO3 性能の要求レベ 応答時間 ル 例外なく反応時 50%の確率で 例外なく3秒以 50%の確率で 間1秒以内 1秒以内 内 3秒以内 CO4 チームの知識・経 社内ランクによる割 験 合 標準メンバが40% 標準メンバが40 標準メンバが60 標準メンバが 未満 ~60%未満 ~80%未満 80%以上 ・・ ・・・・・・・ ・・・・ ・・・・・ ・・・・ 100% 組織内不特定 特定メンバ ・・・・ ・・・・ (簡易法) 定義のサンプルから、自組織に当てはまるものを選ぶ IPA/SECの変動要因セット(19種) 「CoBRA法入門」付録Aに掲載の変動要因事例(ベンダ企業、ユーザ企業別) 40 Copyright ©2012 MRI, All Rights Reserved 5 .CoBRAモデルの構築方法 5.2 【手順1】変動要因の抽出・定義 ③工数への影響度の評価 熟練者に対するアンケート、インタビューにより影響度を収集 3点の幅をもって確認 【例】 CO1:関係者の協力度合い 最低 もっとも可能性のある 最大 関係者の協力がほとんど得られない場合(レベ ル3の場合)、工数は何%増えますか? 15% 30% 60% レベル3の場合の影響度を確認 Aさんの回答 確 率 Bさんの回答 確 率 15% 30% 60% Cさんの回答 複数名に回答 確 率 20% 50% 確 率 40% 三角分布と呼ぶ 75% 110% 他の変動要因についても、同様に設定 (簡易法) IPA/SECの変動要因セット(19種)の影響度の数値をそのまま使う 41 Copyright ©2012 MRI, All Rights Reserved 5 .CoBRAモデルの構築方法 5.2 【手順2】実績データの収集 規模、工数の実績データを6~10件用意 規模、工数の単位は、プロジェクト間で統一されていれば、何を使用しても 良い。 各変動要因の工数への影響度を4段階(0~3)で評価 レベル0: 工数に無影響 レベル3: 工数に最も強く影響 レベル1、2: その中間段階の影響 <例> 番 号 1 2 3 4 5 6 プロジェクト 名称 プロジェクト1 プロジェクト2 プロジェクト3 プロジェクト4 プロジェクト5 プロジェクト6 規模 工数 CO1 CO2 CO3 CO4 CO5 CO6 [KSLOC] [人月] 10.3 9.2 0 1 1 1 1 1 8.8 7.5 1 2 2 3 3 1 21.3 18.7 0 1 1 0 1 1 42.5 52.1 0 2 1 1 2 2 5.2 6.3 0 1 0 0 1 1 22.3 18.2 1 1 1 1 2 2 42 ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ Copyright ©2012 MRI, All Rights Reserved 5 .CoBRAモデルの構築方法 5.2 【手順3】モデルの構築 ①Σ COの計算 (1/2) ツールで実施 Σ COi の計算手順 各変動要因のレベルを 0~3 の4段階で評価 変動要因 CO1 CO2 CO3 CO4 CO5 レベル 1 0 2 1 3 ・・・ <CO1の例> ① ランダムに1つを選択 各変動要因について、COiを計算 (右図) 複数の三角分布から1つをランダムに選択 選んだ三角分布を、レベルに応じて変更 変更後の三角分布から、1点のコスト増加割合 をランダムに選び、COi とする。 ② 値を1/3倍 (レベルが1なので) COiを全変動要因について合計し、Σ COi を 得る。 ③ コスト増加割合をランダムに選び、 COiとする 43 Copyright ©2012 MRI, All Rights Reserved 5 .CoBRAモデルの構築方法 5.2 【手順3】モデルの構築 ①Σ COの計算 (2/2) 以上を多数回(例えば5,000回)実施し、Σ COiの分布を得る。 ツールで実施 多数回計算することで、分布が安定 計算は専用ツールで実施 分布の中央値をΣ COi として採用 得られた分布の 中央値を採用 100% 90% 450 400 80% 350 300 60% 250 50% 200 40% 150 30% 20% 100 10% 50 0% 0 120 130 140 150 160 170 180 190 200 210 220 230 (%) 66 0 70 0 74 0 79 0 83 0 87 0 91 0 96 0 10 00 10 40 10 80 11 20 11 70 12 10 12 50 12 90 13 40 13 80 14 20 超過確率 70% コストオーバヘッド (ΣCOi) 見積工数 44 Copyright ©2012 MRI, All Rights Reserved 5 .CoBRAモデルの構築方法 5.2 【手順3】モデルの構築 ②α の計算 ツールで実施 過去のプロジェクト・データを使って回帰分析し、α を計算 Σ COi (%) 規模×(1+Σ COi) 9.2人月 46.3 15.1 8.8KLOC 7.5人月 75.0 15.4 PJ-3 21.3KLOC 18.7人月 39.0 29.6 PJ-4 42.5KLOC 52.1人月 71.2 72.8 PJ-5 5.2KLOC 6.3人月 30.9 6.8 PJ-6 22.3KLOC 18.2人月 59.0 35.5 ・・・ ・・・ ・・・ ・・・ ・・・ PJ実績 規模 PJ-1 10.3KLOC PJ-2 工数 回帰分析 工数=α ×規模×(1+Σ COi) 45 Copyright ©2012 MRI, All Rights Reserved 5 .CoBRAモデルの構築方法 5.2 【手順4】見積り精度の改善 見積り精度(見積り誤差の程度)の確認 MMRE: 見積り誤差率の平均値 Pred.25: 見積り誤差率が25%以内のプロジェクトの割合 初期モデルの見積り精度: MMREが30~40% 相対誤差(%) PJ別の見積り誤差率 見積り誤差の原因 80.0% 70.0% 変動要因の見落とし 実績データの計測ミス 変動要因のレベルの評定ミス (⇒ レベルの定義が曖昧) ・・・ 56.7% 60.0% 53.5% 50.0% 41.1% 40.0% 31.9% 29.7% 25.5% 25.4% 30.0% 22.8% 23.9% 19.2% 18.8% 18.0% 17.9% 17.4% 20.0% 13.3% 10.3% 8.9% 8.1% 6.3% 4.6% 6.1% 10.0% 3.1% 0.0% 1 2 3 4 5 6 7 8 9 10 11 モデルの見直しを繰り返し、見積り精度を向上 見積り精度の向上以外の効果 自組織のコスト構造に対する理解が深まる 気付かなかった特徴に対する「気付き」 構築した見積りモデルに対する「愛着」が湧く (⇒ 導入に対する抵抗を軽減) 46 Copyright ©2012 MRI, All Rights Reserved 5 .CoBRAモデルの構築方法 5.3 CoBRAモデル構築のスケジュール例 2ヶ月で構築する場合の例 実施内容 1, 2週 3, 4週 5, 6週 7, 8週 変動要因の抽出と定義 変動要因の影響度の収集 プロジェクト情報の収集 初期モデル構築と改良点の 分析 モデルパメータの見直し 見直し結果の評価 主要なマイルストーン ▲ キックオフ ▲ 初期モデル 完成 47 ▲ 改善モデル 完成 Copyright ©2012 MRI, All Rights Reserved ご紹介の内容 1.見積りにおける課題 2.見積り手法の歴史と蓄積 3.見積り根拠の「見える化」 4.CoBRA法の概要 5.CoBRAモデルの構築方法 6.CoBRAモデルの応用 7.事例紹介 48 Copyright ©2012 MRI, All Rights Reserved 6.CoBRAモデルの応用 6.1 予算超過リスクの分析 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 600 見積り工数: 59人月 500 400 300 度数 予算超過確率 予算超過確率を指定して、見積り工数を逆算 (予算超過確率20% ⇒ 62人月で見積もる) 200 100 0 49 50 52 53 54 56 58 59 61 62 64 65 67 68 70 72 見積り工数 [人月] 工数を指定して、その工数を超過する確率を計算 (56人月の見積り ⇒ 予算超過確率85%) 49 Copyright ©2012 MRI, All Rights Reserved 6.CoBRAモデルの応用 6.2 工数のコントロール (影響度の高い要因の確認) 感度分析により、影響度の高い要因を把握 例では、「見積り時の要求内容の曖昧さ」、「要求変更の発生想定時期」の影響度が高い 見積り時の要求内容の曖昧さ: レベル「2」 要求変更の発生想定時期: レベル「2」 影響度の高い要因について、軽減策を検討 例えば、顧客とのQ&Aを通じて 「見積り時の要求内容の曖昧さ」 の軽減を図る 変動要因の寄与度 見積り時の要求内容の曖昧さ 29.5% 要求変更の発生想定時期 25.2% 業務の複雑さ 17.8% システムの複雑さ 16.4% 信頼性要求のレベル 16.2% チームの経験・知識 11.6% 開発期間の厳しさ 顧客の参画度合い 10.6% 8.3% 関係者の数 6.7% プロジェクトマネージャの経験・知識 6.3% 0.0% 50 10.0% 20.0% 30.0% 40.0% Copyright ©2012 MRI, All Rights Reserved 6.CoBRAモデルの応用 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 600 ①最初の見積り: 59人月 56人月だと予算超過確率85% 500 400 300 200 100 0 49 50 52 53 54 56 58 59 61 62 64 65 67 68 70 72 度数 予算超過確率 6.3 工数のコントロール (影響度の低減例) ②プロトタイピングで要求を早期 明確化。「見積り時の要求内 容の曖昧さ」の影響を軽減 (レベル「2」→「1」に) 見積り工数 [人月] 変動要因の寄与度 要求変更の発生想定時期 25.1% 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 500 450 400 350 300 250 200 150 100 50 0 17.8% システムの複雑さ 16.4% 信頼性要求のレベル 16.2% 見積り時の要求内容の曖昧さ 14.8% チームの経験・知識 11.6% 開発期間の厳しさ 顧客の参画度合い 度数 超過確率 業務の複雑さ 10.6% 8.4% 関係者の数 6.7% プロジェクトマネージャの経験・知識 6.3% 0.0% 10.0% 20.0% 30.0% 47 48 48 50 51 52 53 55 56 57 58 60 61 62 63 65 見積り工数 [人月] ③再見積り: 56人月でも大丈夫! 51 Copyright ©2012 MRI, All Rights Reserved 6.CoBRAモデルの応用 6.4 重点管理プロジェクトの把握 コストオーバーヘッドによる難易度比較 複数の開発プロジェクトのコストオーバーヘッド(Σ CO)を比較。 Σ COが大きなプロジェクトを、難易度の高いプロジェクトとして抽出。 オーバーヘッドが大きなプロジェクトほど、工数の変動量も大きい。 従って、工数超過の可能性が高い。 該当プロジェクトを重点監視対象 対策案 工数の予実乖離を定期的に監視 変動要因のレベルの軽減策を実施 プロジェクト 規模 (FP) Aシステム開発 1,200.0 78.9 Bシステム改修 500.0 Cシステム更改 Dシステム開発 ・・・ 見積り工数 (人月) Σ CO CO1 CO2 CO3 CO4 CO5 ・・・ 174.2% 2 1 3 2 2 ・・・ 31.5 164.1% 2 2 1 1 1 ・・・ 700.0 65.5 290.5% 2 3 2 3 3 ・・・ 800.0 48.3 153.3% 2 2 2 1 1 ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ 52 重点監視対象 ✓ Copyright ©2012 MRI, All Rights Reserved 6.CoBRAモデルの応用 6.5 プロセス改善への応用 手順 1. CoBRAモデルを組織で活用し、プロジェクトの変動要因データを蓄積 2. 変動要因を分析 複数プロジェクトで共通に影響度の高い要因の有無 3. 共通要因の軽減・解消に向けた対策の検討 各要因ごとに改善計画 変動要因 影響の軽減策の例 チームの経験・知識 ●メンバ教育 ●要員確保計画の策定・実施 プロジェクトマネー ジャの経験・知識 ●プロジェクトマネージャの教育 ●プロジェクトマネージャの支援体制の整備 システムの複雑さ ●システム可視化ツール等の導入 信頼性要求のレベル ●業務要求に応じた妥当な品質レベルを提案 (過剰品質の回避) ●高信頼性技術・手法の導入 見積り時の要求内容 の曖昧さ ●プロトタイピングプロセスの導入 ●顧客の意思決定支援 ・・・・・ ・・・・・・ プロジェクト プロジェクト プロジェクト プロジェクト プロジェクト プロジェクト 変動要因 データ 分析 共通要因 対策検討 改善計画 53 Copyright ©2012 MRI, All Rights Reserved ご紹介の内容 1.見積りにおける課題 2.見積り手法の歴史と蓄積 3.見積り根拠の「見える化」 4.CoBRA法の概要 5.CoBRAモデルの構築方法 6.CoBRAモデルの応用 7.事例紹介 54 Copyright ©2012 MRI, All Rights Reserved 7.事例紹介 CoBRA法の実績:公開事例 IPA/SECとIESEの共同研究 沖電気殿、2005年 SEC Journal No.7 「ハイブリッドなコスト見積りモデルの反復的な構築方法について」、2006年 「CoBRA法入門」の事例(2007年) 日立製作所殿 SEC Journal No.13 「CoBRA法に基づく工数見積りモデル構築への取り組み」、2008年 プロジェクトマネジメント学会誌、Vol 10、No.6、2008年 NTTデータセキスイシステムズ殿 三菱電機殿 アイネス殿 日新火災海上保険殿 日本IBM殿(2010年) 社内のアプリケーション開発部門が開発要求元に提出する見積り SEC Journal No.26 「CoBRA法を使った見積りモデル構築のポイント」、2011年 NTTデータセキスイシステムズ殿(2007年~現在) 部内でCoBRAモデルによる見積りを制度化。内部コストのマネジメントに利用。 SEC見積りセミナー 三菱電機殿(2011年~現在) オフショアパートナー企業への導入と活用。共同でモデルを構築し、見積りプロセスに組込む。 SEC見積りセミナー 55 Copyright ©2012 MRI, All Rights Reserved 7.事例紹介 オフショアパートナー企業への導入と活用事例:三菱電機殿 背景 2007年に自社内向けのCoBRAモデルを構築 構築には成功したが、見積りプロセスとして組み込むまでにはいかなかった。 ソフトウェア開発においては、国内パートナー会社に加えて、2004年度から海外 オフショアの活用が拡大傾向 海外オフショアの作業見積りは、プログラム開発が中心であり、発注元の事業分 野にはあまり影響されない モデルを一つ作れば、すべての案件に適用できる可能性 目的 従来の標準生産性による見積りと平行して、変動要因(リスク)を考慮した見積り を作成し受発注側で共通認識を実現すること 継続的に開発を委託している会社とは同じゴールを目指すWin-Winの関係が構 築できている。CoBRA法による見積りを通じて、両者でリスクの影響度、優先度 及び対応策について認識を合わせ、力を合わせてリスクをコントロールできるよう になることを期待 (出典) 岩切 博氏(三菱電機)、「オフショアマネジメントツールとしてのCoBRA法 」、SECセミナー講演資料、2012年5月 に基づく 56 Copyright ©2012 MRI, All Rights Reserved 7.事例紹介 CoBRAモデルの構築 【モデル構築体制】 オフショア先 合計10名 (マネージャクラス:2名、開発リーダークラス:8名) 【モデル構築支援】 委託元 2名 【対象プロジェクト数】 17プロジェクト (内3プロジェクトはモデル構築途中に除外) 【抽出された要因数】 12個 【導入のポイント】 双方トップレベルで、目的の確認と共通認識(重要!) 双方で、推進体制の構築、標準プロセスへの組込み 現地での説明会(関係者への周知) IPA/SECツールの活用 (出典) 岩切 博氏(三菱電機)、「オフショアマネジメントツールとしてのCoBRA法 」、SECセミナー講演資料、2012年5月 57 Copyright ©2012 MRI, All Rights Reserved 7.事例紹介 モデル(変動要因) プロジェクト要因 C07 人的要因 オフショア担当の開発期間の制約 C01 オフショアメンバーの開発技術スキル プロダクト要因 C02 C08 当社(日本側)の業務経験・知識 見積り時の要求内容の曖昧さ C03 C09 オフショアメンバーの開発プロセスの 経験・知識 業務(データ)の複雑さ 工数 C10 システムの複雑性 C04 当社(日本側)とオフショアチームの コミュニケーション C11 フレームワークの利用可能度 C05 オフショアメンバーの業務経験・知識 プロセス要因 C06 オフショアPLのマネージャ経験・知識 C12 当社(日本側)の参画度合い (出典) 岩切 博氏(三菱電機)、「オフショアマネジメントツールとしてのCoBRA法 」、SECセミナー講演資料、2012年5月 58 Copyright ©2012 MRI, All Rights Reserved 7.事例紹介 変動要因の定義 CO# レベル0定義 参考 レベル1定義 レベル2定義 レベル3定義 C01 80%以上確保(例.6人のうち5人以上) 65%以上80%未満確保(例.6人のうち4人) 50%以上65%未満確保(例.6人のうち3人) 50%未満確保(例.6人のうち2人以下) C02 リーダに知識・経験があり、メンバの誰かは サポート可能。 リーダのみ知識・経験がある。 リーダに知識・経験がないが、メンバの誰か はサポート可能。 全員が初めての業務。 C03 下記のすべてを満たす。 ・過去一緒に同じプロセスでした経験がある。 ・様式も既に確定している。 ・設計基準、コーディングが確定している。 下記のいずれか2つを満たす。 ・過去一緒に同じプロセスでした経験がある。 ・様式も既に確定している。 ・設計基準、コーディングが確定している。 下記のいずれか1つを満たす。 ・過去一緒に同じプロセスでした経験がある。 ・様式も既に確定している。 ・設計基準、コーディングが確定している。 プロセスは経験なし、様式、設計基準、コー ディングも確定していない。 C04 日本側プロジェクトPM、PLと一緒にプロジェ クト開発経験があり。 日本側プロジェクトPMまたはPLのどちらか と一緒にプロジェクト開発経験があり。 日本側プロジェクトのTL、メンバーと一緒に プロジェクト開発経験があり。 日本側PJ担当部署とのプロジェクト開発経 験がない。 C05 リーダに知識・経験があり、メンバの誰かは サポート可能。 リーダのみ知識・経験がある。 リーダに知識・経験がないが、メンバの誰か はサポート可能。 全員が初めての業務。 C06 プロジェクトマネージャの経験本数が6件以 上、又は経験年数で丸3年以上。 プロジェクトマネージャの経験本数が3件以 上(6件未満)、又は経験年数で丸2年以上 (3年未満)。 プロジェクトマネージャの経験本数が1件以 上(3件未満)、又は経験年数で丸1年以上 (2年未満)。 プロジェクトマネージャを未経験(今回が初 めての経験)。 C07 妥当な工期どおり。またはそれ以上の期間 がある。 妥当な工期から、10%未満圧縮。 妥当な工期から、10%以上30%未満圧縮。 妥当な工期から、30%以上圧縮。 C08 要求仕様書があり、設計仕様をイメージで きる要求事項の比率が9割以上。 要求仕様書があり、設計仕様をイメージで きる要求事項の比率が7割以上9割未満。 要求仕様書があり、設計仕様をイメージで きる要求事項の比率が5割以上7割未満。 下記のいずれかを満たす。 ・要求仕様書がない(口頭のみ)。 ・設計仕様をイメージできる要求事項の比 率が5割未満。 C09 ・テーブル数:10未満。 ・外部I/Fのフォーマット数:0(なし)。 ・テーブル数:10以上45未満。 ・外部I/Fのフォーマット数:1以上15未満。 ・テーブル数:45以上100未満。 ・外部I/Fのフォーマット数:15以上30未満。 ・テーブル数:100以上。 ・外部I/Fのフォーマット数:30以上。 CO10 画面、帳票、アルゴリズムのすべてにおい て複雑なものがない。 画面、帳票、アルゴリズムのいずれか1つが 複雑。 画面、帳票、アルゴリズムのいずれか2つが 複雑。 画面、帳票、アルゴリズムのすべてが複雑。 CO11 過去に使用したフレームワークがそのまま 使用できる。 日本側の案件で過去に使ったものが流用で きる。 日本側の案件では流用できるフレームワー クがないが、オフショア側には類似のフレーム ワークがある。 全く新規に利用するフレームワークである。 CO12 下記のすべてを満たす。 ・日本側窓口が専任 ・日本側窓口のレスポンスが良い。(3日間 以内の回答) ・利用者(エンドーユーザ)が参加している。 下記のいずれか2つが満たされる。 ・日本側窓口が専任である。 ・日本側窓口のレスポンスが良い。(3日間 以内の回答) ・利用者(エンドーユーザ)が参画している。 下記のいずれか1つが満たされる。 ・日本側窓口が専任である。 ・日本側窓口のレスポンスが良い。(3日間 以内の回答) ・利用者(エンドーユーザ)が参画している。 下記のすべてを満たす。 ・日本側窓口が兼任。 ・日本側窓口のレスポンスが悪い。(3日間 以内に回答がない) ・利用者(エンドーユーザ)が参画していない。 (出典) 岩切 博氏(三菱電機)、「オフショアマネジメントツールとしてのCoBRA法 」、SECセミナー講演資料、2012年5月 59 Copyright ©2012 MRI, All Rights Reserved 7.事例紹介 モデル構築と改善~最終モデル完成 工数算定式 参考 工数= α × 規模 × (1 + Σ COi) α =0.44 (出典) 岩切 博氏(三菱電機)、「オフショアマネジメントツールとしてのCoBRA法 」、SECセミナー講演資料、2012年5月 60 Copyright ©2012 MRI, All Rights Reserved 7.事例紹介 変動要因モデルの特徴 CO# 要因名称 カテゴリ 変動要因の主な関係先 オフショア側 人的要因 日本側 システム要件 C01 オフショアメンバーの開発技術スキル ● C02 当社(日本側)の業務経験・知識 C03 オフショアメンバーの開発プロセスの経験・知識 ● C04 当社(日本側)とオフショアチームのコミュニケーション ● C05 オフショアメンバーの業務経験・知識 ● C06 オフショアPLのマネージャ経験・知識 ● C07 オフショア担当の開発期間の制約 プロジェクト要因 C08 見積り時の要求内容の曖昧さ プロダクト要因 C09 業務(データ)の複雑さ ● CO10 システムの複雑性 ● CO11 フレームワークの利用可能度 ● CO12 当社(日本側)の参画度合い ● プロセス要因 ● ● ● ● オフショア先は物作りが主体作業のため、開発作業を進める「人的要因」と、 開発のインプットとなる「システム要件」の変動要因を重視 →開発する「システム要件」の明確化と、オフショア側の適切な「開発体制」 作りがポイント (出典) 岩切 博氏(三菱電機)、「オフショアマネジメントツールとしてのCoBRA法 」、SECセミナー講演資料、2012年5月 61 Copyright ©2012 MRI, All Rights Reserved 7.事例紹介 導入・活用の効果:結果 見積り工数に大きく影響する変動要因を「全て」「定量的に」相互に共通認 識できるようになった。 その結果、プロジェクト推進中に適切にリスクをコントロールすることにより、プロ ジェクトを成功(品質、工期)へと導く確率が向上 変動要因の共通認識の深化 完了時点で、再度変動要因(CO)の状況を評価することにより、「見積り時点、計 画時点の問題」を再認識 完了時点で、再度変動要因(CO)の状況を評価することにより、「プロジェクト遂 行時の変動要因コントロールの問題」を再認識 パートナー企業との相互信頼関係強化 コミュニケーションのツールとして、お互いに主なリスクの認識に効果 パートナー内部として、リスクを明記することで、リスクを軽減 CoBRA手法の運用に伴って、過去の分析結果により見積精度の改善に役立つ (出典) 岩切 博氏(三菱電機)、「オフショアマネジメントツールとしてのCoBRA法 」、SECセミナー講演資料、2012年5月 に基づく 62 Copyright ©2012 MRI, All Rights Reserved 7.事例紹介 導入・活用の効果:前提条件 Win-Winの関係が出来上がっているパートナーとの取引 または、CoBRA導入をきっかけとして、双方で強いパートナー関係の構築 を望むこと 発注金額のみが優先されるプロジェクトではないこと 開発規模が途中で大きく変動しないような比較的安定したプロジェクト、また はコントロール可能なプロジェクトであること (出典) 岩切 博氏(三菱電機)、「オフショアマネジメントツールとしてのCoBRA法 」、SECセミナー講演資料、2012年5月 に基づく 63 Copyright ©2012 MRI, All Rights Reserved おわりに 64 Copyright ©2012 MRI, All Rights Reserved 3.見積り根拠の「見える化」 まとめ:見積りの課題の解決方針 対策①:見積り手法の確立 ⇒見積りモデルの確立 対策②:見積りの妥当性の確保 ⇒複数の見積り方法によるレビュー ⇒見積りモデルによる前提を変えたシミュレーションはその一つ 対策③:モニタリングとコントロールと再見積り ⇒見積りモデルに対する前提条件とインプットの変化のモニタリング ⇒コントロールによるブレ防止と再見積りによる変化への追随 (見積りモデルによる条件を変えてのシミュレーション) 対策④:目標と見積りの峻別 ⇒見積りモデルを活用した見積りプロセスの確立 65 Copyright ©2012 MRI, All Rights Reserved まとめ:CoBRA法の特徴 自組織のコンテキストに合った見積りモデルの構築を可能とする。 1.組織固有のコスト変動要因をモデル化 2.コスト変動要因に、熟練者の優れた「勘」「経験」を反映 モデル構築に必要なもの 1.熟練者2、3名の協力 2.過去プロジェクト10件程度 実績の拡大 1.内部コストのマネジメント(見積りとコントロール) 2.オフショア・パートナーとの見積り時のコミュニケーション手段 66 Copyright ©2012 MRI, All Rights Reserved まとめ:CoBRA法の効果 工数の説明力向上 コストマネジメント力向上 コスト変動要因と 影響度の見える化 工数コントロールのポイント (影響度の高い要因)の把握 見積りリスク把握 工数変動量から 予算超過確率を把握 プロセス改善 CoBRA法 組織に共通する要因を 把握し、軽減・解消 アセット化と属人性排除 熟練者の優れた知見を モデル化し、共有・活用 67 Copyright ©2012 MRI, All Rights Reserved ソフトウェア開発見積りの課題と解決方法 ~見積り手法の歴史とCoBRA法~ ご静聴ありがとうございました。 Email:[email protected] 68 Copyright ©2012 MRI, All Rights Reserved