プロジェクト成功のための 先進的見積り手法 · 必要あり...

36
Information-technology Promotion Agency, Japan Software Engineering Center プロジェクト成功のための 先進的見積り手法 2005年 6月20日 エンタプライズ系プロジェクト 見積手法部会 ソフトウェア・エンジニアリング・センター 研究員 菊地 奈穂美 Copyright © 2005 IPA, All Rights Reserved

Upload: others

Post on 03-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

Information-technology Promotion Agency, Japan

SoftwareEngineeringCenter

プロジェクト成功のための先進的見積り手法

2005年 6月20日

エンタプライズ系プロジェクト 見積手法部会ソフトウェア・エンジニアリング・センター 研究員

菊地 奈穂美

Copyright © 2005 IPA, All Rights Reserved

Page 2: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

2Software Engineering Center

内容

Ⅰ.見積りに関するSECの取組み~全体像~

Ⅱ.見積りの重要ポイント

見積り手法部会の活動による成果

Ⅲ.見積りガイドラインに向けて

Ⅳ.先進的手法の例

ドイツ IESE の手法 CoBRA法

OSR法

日本での試行の状況(共同研究による)

Page 3: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

3Software Engineering Center

Ⅰ.見積りに関するSECの取組み~全体像~

Page 4: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

4Software Engineering Center

見積りに関するSECの取組み

フォーカス: 規模 工数 工期 コストの見積

見積手法部会の活動

見積手法部会の活動

SEC+IESE共同研究

SEC+IESE共同研究

国内企業の成功事例⇒収集・特徴を分析

IESEの先進的な2手法⇒日本企業で実証・評価

見積りの重要ポイント見積りの重要ポイント・見積りの重要性 & 能力向上に必要な活動の導入&啓蒙・ベンダ・ユーザ問わず レベル・ セッティングを図る目的

手法の適切な導入手法の適切な導入ガイドガイド・国内成功事例+IESE等の事例を基に

・小冊子より個別・技術的

・良い手法を効果的に活用可能に

2005年9月目標

2005年4月 見積見積

ガイドラインガイドライン

Page 5: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

5Software Engineering Center

見積手法部会メンバー

榊原彰 日本アイ・ビー・エム株式会社  【主査】太田忠雄 株式会社ジャステック       【副主査】粟野憲一 富士通株式会社石谷靖 IPA/SEC (株式会社三菱総合研究所)井上智史 TIS 株式会社大槻繁 株式会社一(いち)尾股達也 社団法人情報サービス産業協会加藤允基 株式会社日立システムアンドサービス菊地奈穂美 IPA/SEC (沖電気工業株式会社)楠本真二 大阪大学合田治彦 富士通株式会社高橋宗雄 桐蔭横浜大学角田千晴 社団法人日本情報システム・ユーザー協会谷田耕救 株式会社日立製作所中元秀明 株式会社野村総合研究所庭野幸夫 株式会社ジャステック服部克己 日本ユニシス株式会社堀明広 ソフトウェア技術者ネットワーク (財団法人 日本科学技術連盟の一組織)

向井清 住商情報システム株式会社安田守 IPA/SEC (株式会社野村総合研究所)横山健次 IPA/SEC (株式会社野村総合研究所)オブザーバー MET

産学官の連携

I (2005年5月現在 五十音順 敬称略)

Page 6: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

6Software Engineering Center

Ⅱ.見積りの重要ポイント

Page 7: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

7Software Engineering Center

見積手法部会の成果:小冊子小冊子

企業の成功事例の収集・特徴を分析

見積りの重要ポイントの抽出

企業の成功事例の収集・特徴を分析

見積りの重要ポイントの抽出

→小冊子    小冊子    2005年5月にリリース

    『ITユーザとベンダのための定量的見積りの勧め      ~見積り精度を向上する重要ポイント~』見積りの重要性と能力向上に必要な活動の導入書ベンダ・ユーザ問わずレベル・セッティングを図るため

特に、経営層・管理者層への啓蒙の意味も含めた

Page 8: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

8Software Engineering Center

背景:見積りの実情と課題

システム開発のScope、機能要件・非機能要件、リスクに対する、

ユーザとベンダの相互理解の不足

システムが複雑、戦略的ビジネスに呼応するシステム化

初期に仕様が固めにくい

五月雨的に機能が決まる

共有しやすい見積手法がない

早期の契約時に適切な見積りが困難

見積り内訳の詳細を説明できる根拠を示せないベンダもある

プロジェクト途中の仕様変更

プロジェクトのプロジェクトの遅延遅延

ソフトウェアのソフトウェアの品質問題や品質問題やコスト超過コスト超過 などなど

契約時の見積りに対し差の発生 計画のずれ込み、

仕様変更

ベンダベンダユーザユーザ

Page 9: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

9Software Engineering Center

見積りの重要性

プロジェクト・マネジメントの中核プロジェクト・マネジメントの中核

見積り

契約

プロジェクトの全体像

進捗マネジメント

リスクマネジメント

プロセス改善

予実分析

規模・体制

インプット 目標 プロジェクトの特性

Copyright © 2005 IPA, All Rights Reserved

Page 10: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

10Software Engineering Center

見積りのポイント

Copyright © 2005 IPA, All Rights Reserved

(1) 見積り時期とリスク例:データ項目の設計がまだの段階では、FPが計測できないなどマネジメント可能な見積を出す為に、いつ、何を使えば良いか

(2) 見積りと契約の関係例:高信頼性が必要なものはそのような見積りにすべき

(3) 見積り範囲の明確化と見積りの手順

(4) 見積りの組織的取組み組織的な取り組みが必要  リスク・チェック

(5) 複数見積りによる相互チェック

(6) 見積値と実績値の差異分析次回プロジェクトにつなげる

(7) 体制・役割分担・企業文化成熟度に応じた見積り手法 ・・・ガイドラインで示していきたい

Page 11: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

11Software Engineering Center

(1) 見積り時期とリスク

システム化の方向性

設計システム化計画

時間時間

見積① 見積② 見積③見積④

わずかな情報わずかな情報/高いリスク/高いリスク

本来は本来はここのくらいのくらい

ユースケース数

情報の充実/情報の充実/低いリスク低いリスク

 リスク リスク

製作要件定義

類似システム

■見積り時期によって、どの程度正確な見積りが可能か

  「わからない」部分はリスクとして評価し、ユーザ・ベンダ間で共有すべき

■見積りの妥当性を向上させるための方策が肝要

見積 

要求数

ファンクション・ポイント(FP)数

コード行数

※各時点で見積りに 使用可能な基礎数値例

Page 12: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

12Software Engineering Center

(2) 見積りと契約:定額型の場合

プロジェクトの特徴に応じた、契約タイミング契約タイミング(見積り時期)と形態形態(多段階など)

をユーザ・ベンダともに探るべき

■見積りは契約(金額)に直結しないが、契約(金額の決定)のための重要なインプット

■ ユーザの経済原理 :要求(機能+品質+ビジネス効果)実現 & 発注額低減を期待■ベンダの行動原理 :契約額の中で適正な利益を確保する

ユーザとベンダの着地点

1)ベンダの利益の圧縮2)リスク分の縮小3)規模(機能)や工数の縮小

ユーザとベンダとが合意できる見積根拠と金額設定

・規模算出ベースの見積り

・予算前提の規模見積り

利益分

リスク分

コスト

価格の

構成要素

定額方式の契約における価格の基本構造

Page 13: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

13Software Engineering Center

(3-1) 見積り範囲の明確化

スコープスコープ は明確に

■開発対象ソフトウェアの範囲(実現すること)、機能要件(ソフトウェアで実現するビジネス要件など)

非機能要件(信頼性、操作性、セキュリティ、他)

■ システムのライフサイクルにおける対象範囲

■ユーザとベンダでの、担当範囲/分担

調査

企画

付帯作業(インフラ整備、検証バック作業、 ユーザ教育等)

ソフトウェア開発

保守

運用

移行

その他、ハードウェア等直課

Page 14: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

14Software Engineering Center

(3-2) 見積りの手順:オーソドックスな手順

規模

工数

価格

成果物

要求/要件要求/要件(機能、非機能)(機能、非機能)

リスク要因リスク要因

プロジェクトプロジェクト要因要因

+-

見積条件として明確にすべきもの

見積対象

見積順(インプットと     アウトプット)

影響を及ぼす見積過程(+-は増加か減少傾向かを表す)

+-

凡例

コスト

規模算出ベースの見積り

Page 15: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

15Software Engineering Center

(3-2) 見積りの手順: 価格ありきの場合

予算前提の規模見積り

システム開発の予算が決まっていて、予算内で実現可能な品質・工期で開発する場合

1)予算内でかけられる工数の算出2)開発可能な機能、規模の見積

規模

工数

価格

成果物

プロジェクトプロジェクト要因要因

+-

要件

要件の要件の優先順位付け優先順位付け 見積条件として明確にす

べきもの

見積対象

見積順(インプットと     アウトプット)

影響を及ぼす見積過程

(+-は増加/減少傾向かを表す)

+-

凡例

Page 16: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

16Software Engineering Center

(5) 複数見積りによる相互チェック

■見積り方法にはそれぞれに一長一短があり、唯一絶対なものはない

■各手法の長所と短所を把握して、複数の方法を組み合わせた使用を推奨

過去の類似プロジェクトの実績を基礎に見積る

• 初期の見積りに用いる• 過去の実績について、制約や技法が明らかでないと、適用は困難

類推法類推法類推法

必要となる作業を洗い出し、その作業ごとの工数を見積って積み上げる

• 作業項目の洗い出しの精度で見積り精度が変わる

• 事前に開発工程の作業をWBSで洗い出す必要あり

積み上げ法積み上げ法積み上げ法

例えば、開発工数を目的変数とし、工数要因を説明変数として、数学的関数で表される (代表的な例:COCOMO)

• 再現性があり、客観的である• 過去の経験値が定式化されている• 条件を変えることによりシミュレーションが可能である• 不確定な工数要因を入力すると、見積りの誤差は大きい

パラメトリック法 (アルゴリズム的)パラメトリック法パラメトリック法 (アルゴリズム的)(アルゴリズム的)

Page 17: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

17Software Engineering Center

(6) 見積り値と実績値の差異分析

■見積は1回きりではなく、見積り値と実績値の対比が必須■差異の原因を分析 ⇒ 改善のきっかけとなる

リスク・マネジメントリスク・マネジメント

プロジェクトプロジェクト・・マネジメントマネジメント能力能力の改善の改善

見積り手法へのフィードバック見積り手法へのフィードバック

組織としての改善組織としての改善

当初の条件がプロジェクトの進行に伴っ

て変わる (メンバ変更、他)・・・

要件の膨張を抑えられなかった・・・

時間不足で、見積り条件の検討不足・・・

etc

見積り方法が最近のシステム開発に合

わなくなってきたのではないか・・・

パラメトリック法では、見積りベースライ

ンと変動パラメータにムリはないか・・・

etc

Page 18: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

18Software Engineering Center

(7) 体制・役割分担・企業文化

組織の成熟度に応じて利用できる見積手法

も異なり、成熟度に合った見積りが適切

組織の成熟度と見積り手法組織の成熟度と見積り手法

成熟度に応じた手法を、始められるところから

始めるべき

様々な見積り方法の中から、自組織の特徴

に適した見積り方法を選択・使いこなし・適

切に結果を判断できること

成熟度に見合った適切な見積り方法の活用

成熟度に見合った適切な見積り方法の活用 • 実績データの蓄積&活用方法

• 見積り手法 教育、普及・定着の体制• 継続的に手法を見直し改善してゆくプロセスを確立できる企業文化の醸成

組織・体制のバックアップ

見積りの向上のためには、組織的な取り組

みが必要(ユーザ・ベンダ双方)

経営層のコミットメント経営層のコミットメント

Page 19: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

19Software Engineering Center

見積り手法に共通した事項

定量的データの蓄積と活用

規模 工期 工数

ユーザ・ベンダ共有 ベンダ内部

•機能要件•非機能要件(信頼性、性能、他)など

時期に応じて様々•要求の数•画面の情報•データ数•ソースコード量•要求/設計ドキュメント量•機能規模(ファンクションポイント)など

変動要因 (リスク・ファクター)

見積りのために考慮すべきデータ(例)見積りのために考慮すべきデータ(例)

•人的要因•プロダクト要因•プロセス要因•プロジェクト要因

Page 20: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

20Software Engineering Center

Ⅲ.見積りガイドラインに向けて

Page 21: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

21Software Engineering Center

見積ガイドラインに向けて

見積りガイドライン見積りガイドライン見積り方法の策定実証された手法(国内企業での成功事例,IESE事例等)をもとに示す

プロジェクトデータの蓄積が少ない場合の例- CoBRA法 (IESEの手法)

プロジェクトデータを大量に蓄積している場合の例- 統計的な分析方法、データマイニング的方法

- Cocomo法- OSR法   (IESEの手法)

見積り手法の適切な導入方法組織の成熟度に適した導入

ナレッジの集約度合い、データの集約度合い

Page 22: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

22Software Engineering Center

Ⅳ.先進的手法の例    

ドイツ IESE の手法            

CoBRA 法            

OSR 法            

日本での試行の状況(共同研究による)

Page 23: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

23Software Engineering Center

IESEとの共同研究プロジェクト

共同研究:ドイツ フラウンホーファ協会 IESE(実験的ソフトウェア工学研究所)と共同研究

第1期は、見積手法に関して実施中。

目的

IESEにおいて開発されて実証例のある2つの見積手法CoBRACoBRA®®法, OSROSR®®法に関し、日本企業における適用可能性を分析・検証

アプローチ

SEC研究員+IESE研究員がチームを作り、参加している複数の日本企業に見積手法を具体的に適用して、分析・検討

Page 24: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

24Software Engineering Center

【参考】 フラウンフォーファ・IESE

IESE1996年設立

ドイツ・カイザースラウテルン

所長  Dr. Prof. Rombach

研究員 140人

ソフトウェア・エンジニアリング研究グループ対象のランキングで世界第4位 (2004年9月)

特色ソフトウェア・エンジニアリング手法および技法を開発、実証的に評価 (大学と連携も多い)

ドイツ企業等との共同研究/コンサルティング→ 産業界への技術移転

定量的手法の分野での活動例:

測定システム、品質モデル

プロセス・モデリング、アセスメント、改善

Page 25: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

25Software Engineering Center

CoBRACoBRA、、 OSROSR  見積り手法での位置づけ

見積り手法見積り手法

経験ベース型経験ベース型 混合(ハイブリッド)型混合(ハイブリッド)型 データ駆動型データ駆動型

•• 専門家による見積り専門家による見積り•• パーセント法パーセント法•• 見積りミーティング見積りミーティング•• デルファイ法デルファイ法

•• アナロジー利用アナロジー利用•• CoBRACoBRA®®

•• プロセス重視の見プロセス重視の見積り積り

•• CCocomoocomo•• OSROSR®®

•• RegressionRegression((回帰法)回帰法)•• CARTCART•• ANOVAANOVA•• ファンクションポイントファンクションポイント分析分析

あいまい性のある現存データと経験を利用

大量のデータと明確な経験を利用

中間的なもの(少数のデータ+経験)

※ IESEの資料から抜粋

Page 26: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

26Software Engineering Center

CoBRA法 概要

CoBRACoBRA法 (Cost Estimation, Benchmark and Risk Management)

プロジェクト実績データが少ない場合にも経験豊富なPL等専門家の知識→要因項目として取込み確率モデルとして定式化する

INPUT専門家 6名程度がモデル作成に参加

過去のプロジェクト・データ 約10個 (自社の対象分野)規模と工数. 規模は一定方法で計測したものが必要

パラメータ:要因の種類と影響度について評価し数値化

OTUPUT 工数見積モデル

 工数 = SIZE × α + CO      CO=要因影響分のオーバヘッド分 ・・・確率分布で表現される

前提「理想のプロジェクト」では、工数や生産性は、規模と線形関係にあるとし、「実際のプロジェクト」では「理想」から外れる要因が影響を及ぼす(工数や生産性を悪化)という考え。

Page 27: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

27Software Engineering Center

例 – CoBRAを用いた工数見積りIESEのTutorialの例からの説明

CoBRA法で作成されたモデル新規プロジェクトの工数オーバーヘッド分布

1062)1(

プロジェクト・データ

≈+××= adCostOverheaSizeEffort

完了した

過去の

プロジェクト

再帰法

0.000

0.200

0.400

0.600

0.800

1.000

0 35 70 105 1400 35 70 105 140

25% 50% 25%39.9149 66.0156

平均値=54.76017

/100

規模 工数 CO平均値 規模*CO 過去プロジェクト2 200 2000 46.25 292.5 過去プロジェクト3 150 3000 42.14 213.21 過去プロジェクト4 210 2300 39.04 291.984 過去プロジェクト5 190 1900 71.24 325.356 過去プロジェクト6 310 2700 30.85 405.635 過去プロジェクト7 270 2650 59.01 429.327 過去プロジェクト8 255 2500 53.46 391.323 過去プロジェクト9 190 2800 58.21 300.599 過去プロジェクト10 220 2100 86.11 409.442

 新規プロジェクト 100 x x x

工数 規模 工数オーバーヘッドCO : 工数オーバーヘッド

Page 28: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

28Software Engineering Center

例 – CoBRAを用いたリスク分析

A

B

Distribution for Effort Model/AA17

0.2

0.4

0.6

 0.8 

1.0

660 1040 1420 1800

13201320

660 1040 1420 1800

5% 90% 5%854.8776 1328.751

A

B

940

0.1

1260

累積工数分布

平均値=1062.707

0.0

意思決定での活用シナリオ(例)

予め想定したリスクレベル(x%)から、プロジェクトマネジャは、想定された確率内で超過工数の値を推定できる

前提として、工数が先に決まっている場合、プロジェクトマネジャは、工数が超過するであろう確率を推定できる

Page 29: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

29Software Engineering Center

例 – CoBRA法 要因関係図の例

要因関係図の例

追加コスト工数増加顧客の参加

プロジェクトチームの混在

要件の不安定性 要件管理の確実さ

顧客の競争力

プロジェクトのビジネス目的との

整合性

関係部署の数

開発期間の制約

信頼性要件

性能要件

ユーザビリティ要件

キープロジェクトチームの能力

--

++

+-

+は、終点の項目について増加要因となるもの-は、減少要因となるもの

Page 30: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

30Software Engineering Center

CoBRA法 見積モデル作成 概要

New Project

Measurement(or estimation)

PRODUCTIVITY

CO

ST O

VER

HEA

D

Past Projects Database

Cost Size COaSimulation1.0

0.8

0.6

0.4

0.2

0.0100 200 300 400 500 600

Distribution of CO

Prob

abilit

yRequirements

Volatility

Reliability Requirements

Project Team Capabilities

Customer Participation

Effort Overhead

Project Data Questionaire

F3: Low

F2: High

F1: High

要因の抽出 & 要因の関係図を作成(PM等の専門家約6名 + CoBRA法の専門家)

要因の定量化を行うPM等専門家約6名以上が要因項目に点数付け

対象分野の過去プロジェクト・データ約10件 計測・収集

モデル作成(シミュレーション&統計分析)  CoBRA法の専門家が実施

見積モデル出来上がり

見積りたい新しいプロジェクト

過去プロジェクト

Page 31: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

31Software Engineering Center

CoBRA 試行の状況

試行No.1 :国内の試行企業1社で適用(1) エキスパート約10名 全員で3日間 + 一人づつ半日間  要因抽出と関係検討 & 要因項目の定量化

(2) 一次結果: 過去プロジェクトでの評価  平均差異 30%           (クロスバリデーションによる評価結果)

(3) 現在、モデル改良中(継続中)→ 過去プロジェクトでの評価 平均差異 25% 《改善》

試行No.2 :国内の試行企業2社目で計画中

試行によってわかったこと要因項目(Factor)の定量化方法としても有効そうである

コンテキストの同じようなプロジェクト群についてのモデルとしては有効性が高い

Page 32: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

32Software Engineering Center

OSR法 概要

OSROSR法 (Optimized Set Reduction)

大量のプロジェクト実績データがある場合、データマイニング手法を用いて、要因分析・見積モデルを作成する

Page 33: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

33Software Engineering Center

OSR法 概要

プロジェクト工数を見積る例

・パラメータを決定

・見積る対象項目を決定

想定されうるプロジェクト工数

最適な部分集合

最も精度の高くなるプロジェクトが選択される

対象プロジェクトに類した

プロジェクト群

工数のクラス

工数の分布

%プロジェクト

過去プロジェクト

サブセット1 サブセット2

サブセット3

サブセット1

セットリダクション

データに欠損値を含んでいてもそのまま使える!

100件以上が理想過去

プロジェクトDB

見積り対象プロジェクト

Page 34: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

34Software Engineering Center

OSR 試行の状況

試行

国内の2社のデータでプレ分析・評価

結果: 過去プロジェクトでの評価 平均差異 70~50%         (クロスバリデーションによる評価結果)

現在、本格分析中(継続中)

試行によってわかったこと欠損値のあるデータ群で,分析可能 ⇒ メリット大 (∵統計分析は欠損値NG)

ツールでの分析は自動。(数十秒。何回も自動で繰り返す)。

もとのプロジェクトデータの精度が高いと,結果の有効性も高そう。

そもそも強い要因のデータ項目がデータに含まれていることは前提。

今後の課題: 有効な分析方法の検討。定量データ分析での活用。

Page 35: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

35Software Engineering Center

まとめ

見積りに関するSECの取組み

見積りは、プロジェクト・マネジメントの中核

見積りのポイントと能力向上に必要な活動

プロジェクト成功のために、ユーザ・ベンダの協調

今後の予定、見積りガイドライン

実証された有効な手法

導入方法

先進的手法の例として、IESEの2つの手法CoBRA法

OSR法

Page 36: プロジェクト成功のための 先進的見積り手法 · 必要あり 積み上げ法積み上げ法 例えば、開発工数を目的変数とし、工数要因を説明変数とし

SECSoftware Engineeringfor Mo・No・Zu・Ku・Ri

36Software Engineering Center

ご清聴ありがとうございました。