SODECブース内セミナー
独立行政法人情報処理推進機構
技術本部 ソフトウェア・エンジニアリング・センター
Information-technology Promotion Agency, JapanSoftware
Engineering
Center
ソフトウェア開発データ白書の活用
SEC
Software Engineering for Mo・No・Zu・Ku・Ri本日の内容
1.ソフトウェア開発データ白書について
2.ソフトウェア開発ライフサイクルから
見た活用事例
3.実践的活用をサポートするツール
SEC
Software Engineering for Mo・No・Zu・Ku・RiSECの取組みとデータ白書の目的
定量的アプローチによる科学的マネジメントの普及拡大
・モノサシとしての
精度を高めていく
・新たなモノサシや課題抽出の
切り口を提案する
「ソフトウェア開発データ白書」として公開
(23企業、2584プロジェクトのデータ)
2010年11月
2010-
2011
1774
942
1418
2056
2005
2006
2007
2008
2584
2327
2009
メーカー系、ユーザ系、独立系の複数のベンダからデータを収集
SEC
Software Engineering for Mo・No・Zu・Ku・Riデータ白書2010-2011の構成
プロジェクトの特性
(プロファイル)
開発種別
アーキテクチャ
業 種
開発言語
開発ライフ
サイクルモデル
プラットフォーム
代表的な要素
生産性
信頼性
工 期
規 模
工 数
1章 背景と本書の目的
2章 収集データについて
3章 分析について
4章 収集データのプロファイル
5章 プロジェクトの
主要要素の統計
6章 工数、工期、規模の
関係の分析
7章 信頼性の分析
8章 工程別の分析
9章 生産性の分析
10章 予実分析等
付録A~G
データ項目の定義や
収集データ年別プロファイル 等々
SEC
Software Engineering for Mo・No・Zu・Ku・Ri 0 20 40 60 80 100 120 140 160 180 200 220 ~ 1 0 0 ~ 3 0 0 ~ 5 0 0 ~ 7 0 0 ~ 9 0 0 ~ 1 ,1 0 0 ~ 1 ,3 0 0 ~ 1 ,5 0 0 ~ 1 ,7 0 0 ~ 1 ,9 0 0 ~ 2 ,1 0 0 ~ 2 ,3 0 0 2 ,4 0 0 超 FP実績値(調整前)[FP] 件数プロファイルデータ
例) FP実績値 (収集したプロジェクトデータの分布)
2000FP以上の大きな値に
引きづられ、平均値が大きい。
非対象系の分布など考慮すると、
中央値の方が全体のプロファイルとして適切
だと見て取れる。
[FP]
N
最小
P25
中央
P75
最大
平均
標準偏差
1,130
5
194
440
995
284,900
1,225
8,617
FP実績値の基本統計量
データ白書2010-2011 P48、図表4-8-4、5FP実績値の分布
(ヒストグラム)
FPによる規模では、
500FPまで
のプロジェクトが
5割強
を占める。
2000FP以上
のプロジェクト
も、
一割強
ある。
平均値
中央値
SEC
Software Engineering for Mo・No・Zu・Ku・Ri工数比率のデータの見方
データの関係性
比率が高い工程には「それだけ多くの作業工数がかかる」ということ。
プロジェクト全体の工数の35%弱を製作工程が占めている。
[比率]
工程
N
最小
P25
中央
P75
最大
平均
標準偏差
要件定義
260
0.001
0.045
0.079
0.132
0.672
0.098
0.082
開発5工程
260
0.328
0.868
0.921
0.955
0.999
0.902
0.082
[比率]
工程
N
最小
P25
中央
P75
最大
平均
標準偏差
基本設計
487
0.001
0.095
0.143
0.205
0.589
0.161
0.094
詳細設計
487
0.016
0.117
0.167
0.222
0.613
0.175
0.084
製作
487
0.018
0.275
0.355
0.449
0.847
0.370
0.143
結合テスト
487
0.002
0.110
0.156
0.211
0.938
0.167
0.093
総合テスト(ベンダ確認)
487
0.000
0.061
0.116
0.172
0.564
0.127
0.086
工数比率
・・・各開発工程を実施するのに必要な作業工数の比率
(新規開発)
データ白書2010-2011 P204、図表8-1-8 データ白書2010-2011 P205、図表8-1-9要件定義工程も含めた工程別の
実績工数の比率の基本統計量 (新規開発)
SEC
Software Engineering for Mo・No・Zu・Ku・Ri工期比率のデータの見方
データの関係性
比率が高い工程には「それだけ長い作業期間を要する」ということ。
プロジェクト期間全体の約30%(1/5~1/3)を製作工程が占める。
工期比率
・・・各開発工程を実施するのに必要とされる期間
要件定義工程も含めた工程別の
実績月数の比率の基本統計量 (新規開発)
[比率]
工程
N
最小
P25
中央
P75
最大
平均
標準偏差
基本設計
131
0.016
0.155
0.227
0.301
0.522
0.232
0.105
詳細設計
131
0.026
0.143
0.191
0.246
0.645
0.200
0.091
製作
131
0.047
0.211
0.263
0.359
0.902
0.285
0.116
結合テスト
131
0.016
0.094
0.143
0.185
0.386
0.145
0.068
総合テスト(ベンダ確認)
131
0.014
0.074
0.121
0.183
0.571
0.138
0.088
(新規開発)
データ白書2010-2011 P202、図表8-1-2 データ白書2010-2011 P202、図表8-1-3[比率]
工程
N
最小
P25
中央
P75
最大
平均
標準偏差
要件定義
82
0.032
0.106
0.146
0.232
0.480
0.178
0.102
開発5工程
82
0.520
0.768
0.854
0.894
0.968
0.822
0.102
SEC
Software Engineering for Mo・No・Zu・Ku・Ri データ白書における生産性の分析について
生産性データの傾向を把握することで、見積りや計画の妥当性
の確認、実績の評価などに利用することができる。
データ白書では、生産性の傾向などを掴むため、以下の層別
による分析を行い、基本統計量を示している。
規模別、業種別、アーキテクチャ別、主開発言語別
プラットフォーム別、月あたり要員数、外部委託比率
信頼性要求の高さ
規模別・業種別、規模別・チーム規模別
業種別生産性と発生不具合密度
規模とPMスキル
生産性の分析について
SEC
Software Engineering for Mo・No・Zu・Ku・Ri信頼性の要求レベル別の生産性
データ白書2010-2011 P261、図表9-1-55FP生産性
(新規開発、
IFPUGグループ)
データ白書2010-2011 P248、図表9-1-29FP生産性
(改良開発
IFPUGグループ)
データ白書2010-2011 P272、図表9-2-23 データ白書2010-2011 P285、図表9-2-47信頼性要求レベルが高い方が生産性は低い傾向がある
SLOC生産
(改良開発、
主開発言語グループ)
SLOC生産
(新規開発、
主開発言語グループ)
SEC
Software Engineering for Mo・No・Zu・Ku・Ri収集した定量データ活用の期待とギャップ
期待感
(ひとつの例)
収集したプロジェクトデータについて、代表的な要素間には
相関関係がある。
2つの要素(2変量)の関係が回帰分析により定式化される。
例) ソフトウェア開発規模と工数のデータを収集すれば・・・
・規模と工数は相関関係があり、
工数=規模*係数+α
という定式性があり、規模から工数という答えがでる。
現実とのギャップ
相関は低い
バラツキが大きく、偏りもある
プロジェクトの特性に合わない
⇒ そもそもデータを集めても無駄?
工数
規模
SEC
Software Engineering for Mo・No・Zu・Ku・Ri今回のポイント
SEC「ソフトウェア開発データ白書」を例とし、
・定量データの見方と活用方法
・ベンチマーキングの実践
について、開発の局面毎にポイントと事例を示す。
ベンチマーキング:
ITプロジェクトの評価対象の特性を、相互に、あるいは
ベンチマークと対比する
活動
(ISO/IEC29155-1の定義を仮訳)
ベンチマーク:
特定のITプロジェクトの性能が、組織内外のITプロジェクトと比較して
どのレベルに位置するかを評価するため、比較対象として利用する
組織内外の参照情報
(基準値)
(ISO/IEC29155-1の定義を仮訳)
SEC
Software Engineering for Mo・No・Zu・Ku・Ri本日の内容
1.ソフトウェア開発データ白書について
2.ソフトウェア開発ライフサイクルから
見た活用事例
3.実践的活用をサポートするツール
SEC
Software Engineering for Mo・No・Zu・Ku・Ri ベンチマークの作成、供給のイメージ
ベンチマークの活用
・プロジェクト活動
評 価
データ活用
コントロール
データ活用
計 画
データ活用
見積り
データ活用
内部ベンチ
マーク
プロジェクト
の測定値
精 査
分 析
・組織活動
収集
蓄積
データ
提供
ベンチマーキング
リボジトリ
リポジトリ管理
ベンチ
マーク作成
外部ベンチ
マーク
SECソフトウェア開発
データ白書 等
支援活動
道具立て
を整える
・ツール
・手法
・ガイド
プロジェクト活動から見た定量データの活用
SEC
Software Engineering for Mo・No・Zu・Ku・Riソフトウェア開発ライフサイクルから見た活用事例
局面別の定量データ活用ポイントと事例
ソフトウェア開発ライフサイクルを通し、様々な局面について、
定量データの活用ポイントや事例を示す。
基本設計
詳細設計
製作
結合テスト
総合テス
ト
定量的プロジェクト管理・マネジメント
(コントロール)
見積り
プロジェクト
評価
計画
①:見積り
②:計画
③:コントロール
④:評価
SEC
Software Engineering for Mo・No・Zu・Ku・Ri①見積り:規模、工数、工期のデータ活用
データ活用のねらい
プロジェクトの規模と工数や、工数と工期との間に定式性や
特性を見出し、適正な工数や工期の範囲を目安にできる
ようにする。
工数
規模
下限50%
上限50%
▲
妥当性
の目安
工期
(月数)
工数
下限95%
上限
95%
▲
工期短縮
限界
①50%の信頼幅の上下限内に
入っていれば妥当性が高い。
入っていなければ、差異理由
を明確にし、見積りの見直しに
繋げる。
②工数・工期短縮の要求に対し、
それが対応可能かどうか、
信頼幅95%の下限値を
限界の目安とする。
SEC
Software Engineering for Mo・No・Zu・Ku・Ri①見積り:「規模と工数」のデータの見方
データの関係性
新規開発、IFPUGグループ
FP規模と工数には正の「相関」が認められる。
例) 新規開発、IFPUGグループ
工数 = A × (FP規模)**B B=1.19 (Aは係数)
(B = 1.19 の場合、FP規模が2倍になると、工数は約2.28倍になる。)
0 50,000 100,000 150,000 200,000 250,000 300,000 0 2,000 4,000 6,000 8,000 10,000 12,000 14,000 16,000 FP実績値(調整前)[FP] 実績工数 (開発 5 工程 ) [ 人時 ] y(50%) y(-50%)Copyright IPA SEC
N=283 1 10 100 1,000 10,000 100,000 1,000,000 10,000,000 1 10 100 1,000 10,000 100,000 FP実績値(調整前)[FP] 実績工数 (開発 5 工程 ) [ 人時 ]
Copyright IPA SEC
N=283 データ白書2010-2011 P135、図表6-4-11 データ白書2010-2011 P134、図表6-4-9 FP規模と工数 (新規開発、IFPUGグループ) 信頼幅50%付き FP規模と工数 (新規開発、IFPUGグループ) 対数表示
SEC
Software Engineering for Mo・No・Zu・Ku・Ri 0 50,000 100,000 150,000 200,000 250,000 300,000 0 2,000 4,000 6,000 8,000 10,000 12,000 14,000 16,000 FP実績値(調整前)[FP] 実績工数 (開発 5 工程 ) [ 人時 ] y(50%) y(-50%)Copyright IPA SEC
N=283
①見積り:工数の見積り(事例)
規模と工数のデータの使い方
例)新規開発、IFPUGグループ
・4,000FPの規模の工数を
50%の信頼幅から読み取る。
⇒
・約40,000人時から110,000人時
(約250人月~690人月)の範囲。
これを、
妥当性の目安
とする。
留意点
規模が大きくなると
規模の増加率以上に工数が増大する。
一般的に規模が大きくなると関係者も多くなり、間接的な工数が
増加する。
40,000 110,000 ▲ FP規模と工数 (新規開発、IFPUGグループ) 信頼幅50%付き データ白書2010-2011 P134、図表6-4-9SEC
Software Engineering for Mo・No・Zu・Ku・Ri①見積り:「工数と工期」のデータの見方
データの関係性
新規開発(開発5工程)
工期(月数)は工数の
3乗根に概ね比例。
例) 工期 = A × (工数)* * 0.31 (Aは係数)
信頼幅95%の下限値より下にはプロジェクトがほとんどない。
⇒ 工数に対する工期の実現可能性を考える目安
0 5 10 15 20 25 30 35 0 50,000 100,000 150,000 200,000 250,000 300,000 実績工数(開発5工程) [人時] 実績月数 (開発 5 工程 ) [ 月 ] y(50%) y(-50%) y(95%) y(-95%)Copyright IPA SEC
N=493
開発5 工程の工数と工期(新規開発)信頼幅50%、95%付き
データ白書2010-2011 P124、図表6-3-2
SEC
Software Engineering for Mo・No・Zu・Ku・Ri 0 5 10 15 20 25 30 35 0 50,000 100,000 150,000 200,000 250,000 300,000 実績工数(開発5工程) [人時] 実績月数 (開発 5 工程 ) [ 月 ] y(50%) y(-50%) y(95%) y(-95%)Copyright IPA SEC
N=493
①見積り:工期の見積り(事例)
工数と工期のデータの使い方
例)新規開発、開発5工程
・工数が約60,000人時
(約375人月)の場合、
工期(月数)の中央値は
12~13ヶ月
・信頼幅95%の下限値の
工期(月数)を見てみると
約5ヶ月
留意点
工期短縮には限界がある。
12ヶ月から工期短縮を目指しても、5ヶ月以下にするのは難しい。
また、
50%の下限値は
約9ヶ月であり、
目標の目安の一つ。
12~13
開発5工程の工数と工期 (新規開発) 信頼幅50%、95%付き
(60,000、5.0)
データ白書2010-2011 P124、図表6-3-2 ▲SEC
Software Engineering for Mo・No・Zu・Ku・Ri②計画:開発条件の検討(事例)
赤
▲
:当初案
緑
▲
:計画変更提案
規模と工数の軸反転
工数と工期
規模、工数、工期からの適切な計画案の策定の事例
・想定工数に対し工期が信頼幅線下位50%以下と相対的に短くリスクが高い。
・規模は信頼幅線の右50%の近傍で、相対的に工数は多め(低生産性)である。
見直しのケース:
工期を12~14ヵ月
で提案すると共に、
工数を
50%信頼幅の中央部近傍の
80,000人時
を提案する。 (図中の緑
▲
位置)
SEC
Software Engineering for Mo・No・Zu・Ku・Ri 工数比率、工期比率からの現在以降の再見積りと評価
例) 基本設計工程が終わった段階で、後工程を見通す際の注意点
読み方:
基本設計工程は全工期の
概ね15-30%を占める。
中央値: 23.0%
使い方:
基本設計工程にかかった工期から、
それ以降の工期は約2.3~5.6倍
かかると予測できる。
中央値で見ると: 約3.3倍
計画値で全工程6ヶ月半のプロジェクトの場合:
基本設計1.5ヶ月の予定が2ヶ月かかった。 ⇒ 2週間遅れ、計画
上残り4ヶ月半。
基本設計以降の工期は(2*3.3=6.6)から、あと
約6ヶ月半はかかる
可能性。
※ 基本設計が2週間遅れただけと安易に考えていると、
実質
2ヶ月も遅れるリスクを見落とすことになる。
データ白書2010-2011 P201、図表8-1-1工程別の工期比率の箱ひげ図
③コントロール:残作業の再見積りと評価(事例)
SEC
Software Engineering for Mo・No・Zu・Ku・Ri緑
▲
:計画値
赤
▲
:実績値
赤
+
:実績自己の位置
④評価:プロジェクト完了時の評価(事例)
短期開発のため要注意プロジェクトと指定し重点監視したが、計画時
(100,000人時、12ヵ月)の予定が、実績(130,000人時、13ヵ月)となった。
プロジェクト完了時のプロジェクト評価
・信頼幅線下位50%を下回り、計画段階から厳しく挑戦的な工期であった。
・実績も同様で、工数の割に工期が厳しく、短期での開発力、管理力が
備わっていたとも言える。
・工数が30%増加しているが、工期を守るためのトレードオフと推察できる。
SEC
Software Engineering for Mo・No・Zu・Ku・Ri本日の内容
1.ソフトウェア開発データ白書について
2.ソフトウェア開発ライフサイクルから
見た活用事例
3.実践的活用をサポートするツール
SEC
Software Engineering for Mo・No・Zu・Ku・RiSECが提供する定量関連のコンテンツ・ツール群
定量データの投入
収集データの精査
定量データの送付
データ提供企業
IPA/SEC
データ収集サイクル
定量データの収集依頼
■収集ツール
文書化・編集
白書コンテンツ作成
機密室
機
密
室
SECデータ
■分析ツール
データ登録
データ出力
開発5工程の工数と工期 (新規開発) N=185 0 5 10 15 20 25 30 35 40 45 50 0 50,000 100,000 150,000 200,000 250,000 300,000 実績工数(開発5工程) [人時] 実績月数( 開発5 工程) [月] y(95%) y(50%) y(-50%) y(-95%) 実績値Copyright IPA SEC
開発5工程の工数と工期 (新規開発) N=185 0 5 10 15 20 25 30 35 40 45 50 0 50,000 100,000 150,000 200,000 250,000 300,000 実績工数(開発5工程) [人時] 実績月数( 開発5 工程) [ 月] y(95%) y(50%) y(-50%) y(-95%) 実績値
Copyright IPA SEC
開発5工程の工数と工期 (新規開発) N=185 0 5 10 15 20 25 30 35 40 45 50 0 50,000 100,000 150,000 200,000 250,000 300,000 実績工数(開発5工程) [人時] 実績月数( 開発5 工程) [月] y(95%) y(50%) y(-50%) y(-95%) 実績値
Copyright IPA SEC
簡易分析
自社蓄積
データ
ベンチ
マーク
品質管理
ノウハウ
■
スタンドアロン型診断支援ツール
■
プロジェクト
診断支援ツール
(IPA/SECWebサイト)
開発5工程の工数と工期 (新規開発) N=185 0 5 10 15 20 25 30 35 40 45 50 0 50,000 100,000 150,000 200,000 250,000 300,000 実績工数(開発5工程) [人時] 実績月数( 開発5 工程) [ 月] y(95%) y(50%) y(-50%) y(-95%) 実績値
Copyright IPA SEC
・データ白書のグラフと自社の
データをWEB上で重ねて表示可能
ツール化
プロジェクト診断
(外部データとの対比)
■SECBOOKS
マネジメント
ノウハウ
一般利用者(企業)
・白書の収集項目枠と代表的な
分析グラフを用意した
EXCELのtool
プロジェクト診断
(自社デ―タ)
■定量的プロジェクト管理ツール
ソース規模、
WBS,工数等
収集
ソース管理、
障害管理、
工数管理
自社蓄積 データ 0 500 1000 1500 2000 2500 3000 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 ソ ー ス 規模( 行数) ソースコード規模推移 モジュールA モジュールB モジュールC モジュールD 全体規模 想定到達規模 規模計画値 4W平均生産性(右目盛) 計画値 開発終了 遅れ予測プロジェクト管理
(自社デ―タ)
■利用目的別
メトリクス一覧表
メトリクス
情報収集
SECコンテンツ
SECツール
の活用
(今回の説明)
SEC
Software Engineering for Mo・No・Zu・Ku・Riプロジェクト診断支援ツール(Web)
SECのWebサイト上で
「ソフトウェア開発データ白書」のデータに対して
ベンチマーキングが可能
2007年12月25日より無償公開,稼働中!
データ白書に掲載されている様々な図表が参照可能
入力したデータはサーバ等には一切残らない
(ログオフ時にすべて破棄されます。)
SEC
Software Engineering for Mo・No・Zu・Ku・Ri