Document

SEC
Software Engineering
for Mo・No・Zu・Ku・Ri
定量データの活用ポイントと事例
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
0
ソフトウェア開発ライフサイクルから見た活用事例
SEC
Software Engineering
for Mo・No・Zu・Ku・Ri
 局面別の定量データ活用ポイントと事例
ソフトウェア開発ライフサイクルを通したプロジェクトマネジメントを
対象に、見積りから評価までの以下の場面について、
定量データの活用ポイントや事例を示す。
見積り
プロジェクト
計画
基本設計
定量的プロジェクト管理・マネジメント
詳細設計
製作
1.見積り
2.計画
3.コントロール
4.評価
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
結合テスト
評価
総合テスト
赤枠内を
対象とする
Software Engineering Center
1
内容:定量データの活用ポイントと事例
SEC
Software Engineering
for Mo・No・Zu・Ku・Ri
1.見積り
2.計画
3.コントロール
4.評価
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
2
SEC
1.見積り
Software Engineering
for Mo・No・Zu・Ku・Ri
 工数の見積り、工期の見積りにおけるデータ活用ポイント
見積り
プロジェクト計画
基本設計
見積り・予測
要件の洗い出し
定量的プロジェクト管理・マネジメント
詳細設計
製作
結合テスト
評価
総合テスト
見積り活動
規模の見積り
工数の見積り
工期の見積り
「類推見積り」、「ボトムアップ見積り」、「係数モデル見積り」など、見積りの手法は
いくつかあるが、蓄積されたデータを活用した見積りの妥当性について考える。
以下について活用ポイント・事例を示す
 1.1 工数の見積り
 1.2 工期の見積り
 1.3 改良開発におけるテスト見積り
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
3
SEC
1.1 工数の見積り
Software Engineering
for Mo・No・Zu・Ku・Ri
 規模と工数のデータ活用
規模と工数の関係(散布図)において、信頼幅を利用し、
工数見積りの妥当性の確認を行う。
・50%の信頼幅の上下限内に
入っていれば妥当性が高いと
みなす。
上限50%
工数
妥当性
の目安
下限50%
▲
規模
・50%の信頼幅に入って
いなければ、差異理由によっては見積りを見直し、
ブレが大きいようであれば、差異原因を追究する。
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
4
SEC
1.1 工数の見積り(事例)
Software Engineering
for Mo・No・Zu・Ku・Ri
 規模と工数のデータの使い方
FP規模と工数 (新規開発、IFPUGグループ) 信頼幅50%付き
例) 新規開発、IFPUGグループ
これを、妥当性の目安とする
y(50%)
y(-50%)
250,000
実績工数(開発5工程) [人時]
・4,000FPの規模の工数を
50%の信頼幅から読み取る
⇒
・約40,000人時から110,000人時
(約250人月~690人月)の範囲。
N=283
300,000
200,000
150,000
110,000
100,000
データ白書2010-2011
P134、図表6-4-9
50,000
40,000
Copyright IPA SEC
0
0
2,000
4,000
▲
6,000
8,000
10,000
12,000
14,000
16,000
FP実績値(調整前)[FP]
 留意点
規模が大きくなると規模の増加率以上に工数が増大する。
一般的に規模が大きくなると関係者も多くなり、間接的な工数が
増加する。
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
5
SEC
1.2 工期の見積り
Software Engineering
for Mo・No・Zu・Ku・Ri
 工数と工期のデータ活用
工数と工期の関係(散布図)において、信頼幅を利用し、
工期見積りの妥当性の確認を行う。
・工数から工期の妥当性チェック
・工期短縮の目標値の目安
・工期短縮のリスク度合いの目安
下限95%
工期短縮
限界
工数と工期を見積る際、
期間短縮や納期の要求に対し、
それが対応可能かどうか、信頼幅95%の
下限値を限界の目安として判断する。
データ白書の見方と定量データ活用ポイント
上限95%
工期
(月数)
Copyright© 2011 IPA, All rights reserved.
▲
工数
Software Engineering Center
6
SEC
1.2 工期の見積り(事例)
Software Engineering
for Mo・No・Zu・Ku・Ri
 工数と工期のデータの使い方
開発5工程の工数と工期 (新規開発) 信頼幅50%、95%付き
例) 新規開発、開発5工程
 留意点
30
実績月数(開発5工程) [月]
・工数が約60,000人時
(約375人月)の場合、
工期(月数)の中央値は
12~13ヶ月 である。
・信頼幅95%の下限値の
工期(月数)を見てみると
約5ヶ月である。
N=493
35
y(50%)
y(-50%)
y(95%)
y(-95%)
25
20
15
12~13
10
5
(60,000、5.0)
Copyright IPA SEC
0
0
50,000
100,000
150,000
200,000
実績工数(開発5工程) [人時]
250,000
300,000
データ白書2010-2011
P124、図表6-3-2
工期短縮には限界がある。
12ヶ月から工期短縮を目指しても、5ヶ月以下にするのは難しい。
また、50%の下限値は約9ヶ月であり、目標の目安の一つ。
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
7
SEC
1.3 改良開発のテスト見積り
Software Engineering
for Mo・No・Zu・Ku・Ri
 改良開発の見積りにおけるテスト量について
ソフトウェア改良開発における見積りは、新規開発に比べて、
以下のように改良開発の特質を考慮したテスト量の見積りが
重要である。
 既存の母体システムにおける品質面での考慮
(既存システムの品質が思わしくない場合、品質を確保する作業が必要)
 テスト巻き込み規模(変更の際に影響を受ける部分を表す規模)
の把握
ソフトウェア開発データ白書では、改良開発のプロジェクトを対象に
SLOC規模とテストケース数の関係を母体規模別に示している。
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
8
SEC
1.3 改良開発のテスト見積り(参考)
Software Engineering
for Mo・No・Zu・Ku・Ri
 母体規模別のSLOCとテストケース数
母体規模別SLOC 規模とテストケース数
(総合テスト(ベンダ確認))(改良開発)
N=107
25,000
テストケース数_総合テスト(ベンダ確認)
・母体規模を大・中・小の3つに分け、
散布図の中で識別して示している。
大:200以上
中:50~200未満、
小:50未満 (単位 KSLOC)
・母体規模を含まない実効SLOC
実績値が100KSLOC以下で、テスト
ケース数の大きなプロジェクには、
母体規模が大きいものが多い。
a:母体規模小
b:母体規模中
c:母体規模大
20,000
15,000
データ白書2010-2011
P227、図表8-4-45
10,000
5,000
Copyright IPA SEC
0
0
100,000
200,000
300,000
400,000
500,000
600,000
700,000
実効SLOC実績値[SLOC]
 留意点
実効値としての規模だけではなく、母体の規模も考慮し、テスト
ケース数や、生産性を加味した見積りや計画策定が必要。
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
9
内容:定量データの活用ポイントと事例
SEC
Software Engineering
for Mo・No・Zu・Ku・Ri
1.見積り
2.計画
3.コントロール
4.評価
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
10
SEC
2.計画(プロジェクト計画策定)
Software Engineering
for Mo・No・Zu・Ku・Ri
 計画策定時におけるデータ活用ポイント
見積り
プロジェクト計画
基本設計
詳細設計
定量的プロジェクト管理・マネジメント
製作
結合テスト
評価
総合テスト
以下について定量データの活用ポイント・事例を示す。
 2.1 工数、工期の妥当性の確認

計画策定時における開発条件の検討
 2.2 工数、工期配分の妥当性の確認


工数比率と工期比率のデータ活用
工数比率・工期比率を利用した計画策定
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
11
SEC
2.1 工数、工期の妥当性の確認
Software Engineering
for Mo・No・Zu・Ku・Ri
 定量データを活用した工数、工期計画の妥当性確認
プロジェクト計画は、見積りのアウトプットである工数や工期などから
、
さらに詳細・具体的に策定されるが、定量データを活用した
妥当性の確認により、実現性の高い計画とすることが重要である。
 工数、工期計画の妥当性確認のポイント
計画の妥当性確認の際、見積りにも利用した工数と工期の関係や
規模と工数の関係のデータを活用する。
・信頼幅を利用し、工期のリスク度合いや生産性度合いを把握する。
・工数と工期、規模と工数の両者の関係から、妥当性を確認する。
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
12
2.1 工数、工期の妥当性の確認(事例)(1)
SEC
Software Engineering
for Mo・No・Zu・Ku・Ri
 計画策定時における開発条件の検討
 想定シーン:計画局面における開発条件の検討。
 定量データの利用目的:システム開発における、規模、工数、工
期
からの適切な計画案の策定。
赤▲:当初案
緑▲:計画変更提案
工数と工期
データ白書の見方と定量データ活用ポイント
規模と工数の軸反転
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
13
2.1 工数、工期の妥当性の確認(事例)(2)
SEC
Software Engineering
for Mo・No・Zu・Ku・Ri
(1)図表から認識できること
・想定工数に対し工期が信頼幅線下位50%以下と相対的に短くリスクが高い。
・しかし規模は反転した信頼幅線の右50%の近傍で、相対的に工数は多め
(低生産性)である。
(2)利用・想定事例
ケース1:発注側の要件として工期を優先する場合、開発規模を小さくするため
機能を削減するか、または分割開発により工期をずらし、機能毎の
優先度と必要時期を協議する。
ケース2:発注側が工期に拘らない場合、コストを守ることを前提に、工期を
50%信頼幅の中央部近傍の12~14ヵ月を提案する。
ケース3:開発対象機能(規模)を優先する場合、工期を12~14ヵ月で提案する
と共に、工数を50%信頼幅の中央部近傍の80,000人時を提案する。
(図中の緑▲位置)
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
14
2.2 工数、工期配分の妥当性の確認
SEC
Software Engineering
for Mo・No・Zu・Ku・Ri
 工数(要員)山積みの妥当性の確認
プロジェクトの計画策定の中で、見積り結果として引き継がれた
工数、工期、マスタスケジュールなどに基づき、要員の割振りが
行われる。
プロジェクト計画策定において、工程別、月別の工数(要員)山積み
から、工期と工数が適切に配分されているか、妥当性を確認する
ことが重要でなる。
・プロジェクトの工数比率、工期比率の妥当性を確認する。
・工数比率、工期比率から工数(要員)山積みの妥当性を確認する。
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
15
2.2 工数、工期配分の妥当性の確認(ポイント)
SEC
Software Engineering
for Mo・No・Zu・Ku・Ri
 工数比率と工期比率のデータ活用
各工程にどの位の工数と期間がかかるか、要員を各工程に何人
くらい投入するか、工数比率と工期比率のデータから妥当性を
確認する。
①
②
③
④
開発すべきシステムの構築に必要な総工数、全体工期を算出
工数比率によって、各工程に必要な工数を算出
工期比率によって、各工程に必要な期間を算出
上記②と③から、各工程に必要な要員数を算出
基本設計
工数
工期
要員数
データ白書の見方と定量データ活用ポイント
詳細設計
製作
②
③
④
Copyright© 2011 IPA, All rights reserved.
結合テスト
総合テスト
合計
①
Software Engineering Center
16
2.2 工数、工期配分の妥当性の確認(事例)(1)
SEC
Software Engineering
for Mo・No・Zu・Ku・Ri
 工数比率・工期比率を利用した計画策定
 想定シーン:PMによる開発計画策定。
 定量データの利用目的:プロジェクトで計画した工程別の工期、
工数の配分の適正度を評価し、計画
実現の達成度、リスク度を認識する。
製造
テスト
赤+:計画値
工程別工期比率
データ白書の見方と定量データ活用ポイント
製造 テスト
工程別工数比率
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
17
2.2 工数、工期配分の妥当性の確認(事例)(2)
SEC
Software Engineering
for Mo・No・Zu・Ku・Ri
(1)図表から認識できること
・設計および製作期間が短く、テスト期間が相対的に長い。
また、工数もテスト時に相対的に多い。
(2)利用・想定事例
ケース1:設計(作り込み)重視の方針から評価すると、設計・製作の工期、工数
が少なく、作り込み品質を確保するにはリスクが高い。特に製造工程は
リスクが高く、当作業に対する準備を万全に行う必要がある。
ケース2:作り込み品質の達成が難しいことを予想して、作り込み結果の品質
確保を重視するため、総合テストの期間、工数を相対的に多く確保
している。工程配分を是認する場合、前半工程での作込み品質確保
策をより一層検討する。
ケース3:製造完了までの期間が短い制約を受けている。前半工程の期間制約
を是認するとして、製造の工数が相対的に少なく、要員のピークが生じ
ても、工数をかけて工期と品質の確保に注力する。
ケース4:自プロジェクトの工程別の工期、工数を少しずつ変化させ、相対的に
バランスの取れた(箱ひげ内)数値を探し出す。
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
18
内容:定量データの活用ポイントと事例
SEC
Software Engineering
for Mo・No・Zu・Ku・Ri
1.見積り
2.計画
3.コントロール
4.評価
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
19
SEC
3.コントロール
Software Engineering
for Mo・No・Zu・Ku・Ri
 管理、コントロールにおけるデータ活用のポイント
見積り
プロジェクト計画
基本設計
詳細設計
定量的プロジェクト管理・マネジメント
製作
結合テスト
評価
総合テスト
以下について定量データの活用ポイント・事例を示す。
 3.1 計画からの差異発生時の今後の見通し

工数比率、工期比率からの現在以降の再見積りと評価
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
20
3.1 計画からの差異発生時の今後の見通し
SEC
Software Engineering
for Mo・No・Zu・Ku・Ri
 計画(ベースライン)からの差異発生時の今後の見通し
プロジェクトが進むに従い、当初の計画と実績に差異が発生する
場合がある。(例えば作業進捗や消化工数など。)
プロジェクトコントロールにおいて、予実差異を吸収して計画通りに
完了させるため、現状を把握し今後の見通しを考慮して、何らかの
手を打つかどうかを判断し、対応することが重要である。
・当初不明確であった情報、条件などが明確になれば、さらに精度
の高い残作業の見積り(残りの工程の予定)を行う。
・再度測定した規模、これまでに掛かった期間、消化した工数、
実績からみた生産性などから、今後の実現性を検証する。
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
21
3.1 計画からの差異発生時の今後の見通し(事例)SEC
Software Engineering
for Mo・No・Zu・Ku・Ri
 工数比率、工期比率からの現在以降の再見積りと評価
例) 基本設計工程が終わった段階で、後工程を見通す際の注意点
 読み方:
基本設計工程は全工期の
概ね15-30%を占める。
工程別の工期比率の箱ひげ図
データ白書2010-2011
P201、図表8-1-1
中央値: 23.0%
 使い方:
基本設計工程にかかった工期から、
それ以降の工期は約2.3~5.6倍
かかると予測できる。
中央値で見ると: 約3.3倍
計画値で全工程6ヶ月半のプロジェクトの場合:
基本設計1.5ヶ月の予定が2ヶ月かかった。 ⇒ 2週間遅れ、計画上残り4ヶ月半。
基本設計以降の工期は(2*3.3=6.6)から、あと約6ヶ月半はかかる可能性。
基本設計が2週間遅れただけと安易に考えていると、
実質2ヶ月も遅れるリスクを見落とすことになる。
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
22
内容:定量データの活用ポイントと事例
SEC
Software Engineering
for Mo・No・Zu・Ku・Ri
1.見積り
2.計画
3.コントロール
4.評価
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
23
SEC
4.評価
Software Engineering
for Mo・No・Zu・Ku・Ri
 プロジェクトの評価におけるデータ活用のポイント
見積り
プロジェクト計画
基本設計
定量的プロジェクト管理・マネジメント
詳細設計
製作
結合テスト
評価
総合テスト
以下について定量データの活用ポイント・事例を示す。
 4.1 開発力の評価



プロジェクトの開発力の評価
ベンダ(開発委託先)の評価
PMの評価
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
24
SEC
4.1 開発力の評価
Software Engineering
for Mo・No・Zu・Ku・Ri
 プロジェクト完了時の規模、工期、工数、生産性の評価
プロジェクト完了時の様々な情報や定量データは、見積算定者や
PM自身が、次の案件・プロジェクトで役に立てるため、分析、蓄積し
、
評価することが重要である。
・規模、工数、工期、生産性、品質の面など、多角的な評価。
・開発者(ユーザ、ベンダ、組織、管理者、PM、メンバ)など、
プロジェクト遂行に影響を与える面からの評価。
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
25
SEC
4.1 開発力の評価(事例1)(1)
Software Engineering
for Mo・No・Zu・Ku・Ri
 プロジェクトの開発力の評価
 想定シーン:PMによるプロジェクト完了時のプロジェクト評価。
 定量データの利用目的:プロジェクトの結果から見て開発力が
妥当な範囲か評価したい。
例) 短期開発のため要注意プロジェクトと指定し重点監視したが、計画時
(100,000人時、12ヵ月)の予定が、実績(130,000人時、13ヵ月)となった。
緑▲:計画値
赤▲:実績値
赤+:実績自己の位置
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
26
4.1 開発力の評価(事例1)(2)
SEC
Software Engineering
for Mo・No・Zu・Ku・Ri
(1)図表から認識できること
・工数と工期の信頼幅線下位50%を下回り、計画段階から工期が厳しく挑戦的
な工期であった。実績も同様で、工数の割に工期が厳しく、短期での開発力、
管理力が備わっていることが分かる。
・工数が30%増加しているが、工期を守るためのトレードオフと推察できる。
(2)利用・想定事例
ケース1:平均要員数60人規模のプロジェクトを短期で開発・管理できる能力
がある。
これを強みと捉え、実践した施策、手法をプロセスとして文書化する。
ケース2:短工期に対応できる工程別工期比を自社の特徴と捉え、新たな
プロジェクトに際しても適用する。
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
27
SEC
4.1 開発力の評価(事例2)(1)
Software Engineering
for Mo・No・Zu・Ku・Ri
 ベンダ(開発委託先)の評価
 想定シーン:複数ベンダの生産性の比較、分析。
 定量データの利用目的:ベンダ間での生産性の差異を明確にし、
生産性が低いベンダに対してその向上を
要請する。
ベンダA
ベンダB
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
28
4.1 開発力の評価(事例2)(2)
SEC
Software Engineering
for Mo・No・Zu・Ku・Ri
(1)図表から認識できること
・ベンダBはベンダAに比べて、明らかに生産性が低い。他社のプロジェクトと比較
した場合、ベンダAは相対的に高い状況にあるが、同一分野の開発であれば、
ベンダBもベンダA並みの生産性を出せる可能性はある。
(2)利用・想定事例
・ベンダBに対して生産性の向上を要請する。また、ベンダAにおいても生産性に
幅があるため、その差異の分析および取り組みを要請する。
・生産性向上への取り組みについては、必ず具体的な数値で目標を設定
(0.25FP/人時を目指す、あるいは10%向上させるなど)し、併せて取り組み内容
を具体的に提示して頂く。
・取り組み内容は、例えば、開発標準や規定類の充実、フレームワークの導入、
共通関数の整備、テストの効率化など。
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
29
SEC
4.1 開発力の評価(参考)
Software Engineering
for Mo・No・Zu・Ku・Ri
 PMの評価 (規模、PMスキル、生産性の関係)
PMスキル別のFP規模とFP生産性(新規開発)
PMスキル別のSLOC規模とSLOC生産性(新規開発)
N=117
0.8
N=84
90
Copyright IPA SEC
0.7
a:レベル6、レベル7
b:レベル5
c:レベル4
d:レベル3
0.6
0.5
データ白書2010-2011
0.4
P249、図表9-1-31
0.3
0.2
0.1
SLOC生産性(SLOC/開発5工程工数)
FP生産性(FP/開発5工程工数)[FP/人時]
Copyright IPA SEC
80
a:レベル6、レベル7
b:レベル5
c:レベル4
d:レベル3
70
60
50
データ白書2010-2011
40
P273、図表9-2-25
30
20
10
0
0.0
0
1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 11,000 12,000 13,000
0
500,000
1,000,000
1,500,000
2,000,000
2,500,000
3,000,000
3,500,000
4,000,000
実効SLOC実績値[SLOC]
FP実績値(調整前)[FP]
新規開発プロジェクトを対象にFP規模とFP生産性、SLOC規模と
SLOC生産性をPMスキル別に層別して示している。
・規模の小さいプロジェクトは生産性のばらつきが大きく、PMスキル分布も
ばらついている。
・規模の大きいプロジェクトは生産性が低い傾向と同時に、PMスキルが高い
傾向が見られる。
データ白書の見方と定量データ活用ポイント
Copyright© 2011 IPA, All rights reserved.
Software Engineering Center
30