SEC主催セミナー
IPA 独立行政法人情報処理推進機構
SEC 技術本部 ソフトウェア・エンジニアリング・センター
Information-technology Promotion Agency, Japan
Software
Engineering
Center
ソフトウェア開発データ白書と
定量データの活用方法
専門委員 小椋 隆
(東京)2013年1月31日
SEC
Software Engineering for Mo・No・Zu・Ku・Ri本日の内容
1.定量的マネジメントの必要性
1-1.定量データの必要性
1-2.データ白書の見方
2.定量データの実践的活用方法と事例
2-1.活用その1(品質)
2-2.活用その2(工数・工期)
3.実践的活用をサポートするツール
SEC
Software Engineering for Mo・No・Zu・Ku・Ri市場競争の激化
トラブルの多発
・低コスト、短納期開発
・多機能化、高性能化
安全・安心の
確保要請が増大
・信頼のおけるマネジメント
・トラブル発生未然抑止
人海戦術的な手段による対処
不適切な見積、生産性の見誤り
システムへの
要求が増大
理 想
現 実
KKD(勘、経験、度胸)
ネットワークの普及
ビジネスモデルの転換
リスクの増大
IT産業を取り巻く環境の変化
期待・
ニ
ー
ズ
SEC
Software Engineering for Mo・No・Zu・Ku・Riユーザ
ベンダ
ユーザ・ベンダ間の合意形成
【事業計画】
・事業目的
・事業領域/規模
・投資/回収
・事業スケジュール
【プロジェクト計画】
・開発目的
・スコープ/規模
・予算
・開発スケジュール
要件
実現性
整合
「やりたいこと」と「できること」の整合が必要だが・・・
・共有しやすい見積り手法がない
・初期の仕様は固めにくく、早期契約時の適切な見積りが困難
・要件決定の遅れ、プロジェクト途中での仕様変更の発生 など
定量データに裏付けられたマネジメントが必要
SEC
Software Engineering for Mo・No・Zu・Ku・Ri定量データの必要性
定量データが十分集まれば ・・・ こんな活用ができる
ユーザ
ベンダ
経営層
業務・情報システム部門
組織長・スタッフ
プロジェクト管理者
・IT投資、概略計画の妥当性、実現性の目安
・予算数値、根拠の制御
・ベンダからの見積の比較と評価、強み/弱みの認識
・計画策定、目標値の制定、QCDの妥当性評価
・予実差異の分析、完了評価、開発能力の評価
経営層
プロジェクトマネージャ
プロジェクトリーダ
・自社の強み・弱み、生産性などの開発力の認識
・規模、工数、工期、品質の見積り、計画策定、制御
・オフショア等、外部委託先評価
PMO
品質保証部門
・定量データベースの構築
・自社プロジェクトのベンチマーキング、モニタリング
ユーザ、ベンダ間の合意形成
SEC
Software Engineering for Mo・No・Zu・Ku・Ri定量データ使っていますか?
プロジェクトデータを
している
プロジェクトデータを
している
76%
53%
SECセミナーのアンケート結果
>
収 集
活 用
SEC
Software Engineering for Mo・No・Zu・Ku・Ri収集した定量データ活用の期待とギャップ
期待感
(ひとつの例)
収集したプロジェクトデータについて、代表的な要素間には
相関関係がある。
2つの要素(2変量)の関係が回帰分析により定式化される。
例) ソフトウェア開発規模と工数のデータを収集すれば・・・
・規模と工数は相関関係があり、
工数=規模*係数+α
という定式性があり、規模から工数という答えがでる。
現実とのギャップ
相関は低い
バラツキが大きく、偏りもある
プロジェクトの特性に合わない
⇒ そもそもデータを集めても無駄?
工数
規模
SEC
Software Engineering for Mo・No・Zu・Ku・Ri組織的定量データ活用の重要性
組織成熟度の向上と定量データ活用
例) 組織的見積能力の成熟度
(SEC BOOKS「ソフトウェア開発見積りガイドブック」一部抜粋)
自らの直感に基づいて、見積を行っている状態。
(属人的で再現性がない)
レベル1
その場限りの見積
過去に経験したデータまたは経験的知識を
収集・蓄積して、手順化し見積を行っている状態。
レベル2
再現性のある
見積の実施
組織的な見積手法を確立し、継続的に活用するた
めの体制を整え、組織全体が統一された見積手法を
活用し、改善している状態。
レベル3
組織的な見積手法の
確立と活用
見積能力を定量的に計測及び監視し、コントロール
が可能な状態。また、差異分析などを通して、定期
的に組織的な見積手法を改善している状態。
レベル4
見積能力の定量的制御
組織内のプロジェクトの見積結果の分析に基づき、
組織に共通の強み・弱みを把握し改善目標を定着
化し、定量的に改善を制御している状態。
レベル5
組織の共通原因分析と
改 善
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【参考】 ITプロジェクト性能ベンチマーキング(1)
ISO/IEC 29155-1
のベンチマーキングの
枠組みモデル
(SEC活動成果は、国際
標準化活動にも
取り込まれている)
SEC
Software Engineering for Mo・No・Zu・Ku・Ri【参考】 ITプロジェクト性能ベンチマーキング(2)
【SECの取り組みとの関係】
① データの収集・蓄積
(データ管理による
機密保護やデータ
提供者との精査など)
② データ白書の出版、
大学との共同研究など
③ プロジェクト診断ツール、
データ活用ガイド発行
④ データ測定・提供、
支援ツールの提供
SEC
Software Engineering for Mo・No・Zu・Ku・Ri【参考】 URL
経済産業省 ソフトウェアメトリクス高度化プロジェクト
ITプロジェクトの性能を客観的、共通的に分析、評価でき、他組織のデータやベンチマークと自組織の
ITプロジェクトに係るデータの相互運用性を高めることを目的にした産学官連携活動の成果物。
<活動成果物のダウンロードURL>
1.定量的マネジメントのための公開データ利用ガイド(2009年度)
http://www.meti.go.jp/policy/it_policy/softseibi/metrics/process_metrics.pdf
2.定量的マネジメントのための公開データ利用ガイド付録(2009年度)
http://www.meti.go.jp/policy/it_policy/softseibi/metrics/process_metrics_appendix.pdf
3.発注者/受注者による公開データ利用方法一覧表・メトリクス関係図(2009年度)
http://www.meti.go.jp/policy/it_policy/softseibi/metrics/metrics.xls
4.ITプロジェクトのベンチマーク供給者のためのガイドライン(2010年度)
http://www.meti.go.jp/policy/it_policy/softseibi/metrics/20110324process_metrics2010.pdf
SEC
Software Engineering for Mo・No・Zu・Ku・Ri データ収集からプロジェクトへのフィードバックの流れ
プロジェクト活動における定量データの活用
・プロジェクト活動
評 価
データ活用
コントロール
データ活用
計 画
データ活用
見積り
データ活用
内部ベンチ
マーク
プロジェクト
の測定値
精 査
分 析
・組織活動
収集
蓄積
データ
提供
ベンチマーキング
リボジトリ
リポジトリ管理
ベンチ
マーク作成
外部ベンチ
マーク
SECソフトウェア開発
データ白書 等
支援活動
道具立て
を整える
・ツール
・手法
・ガイド
プロジェクト活動から見た定量データの活用
SEC
Software Engineering for Mo・No・Zu・Ku・Ri本日の内容
1.定量的マネジメントの必要性
1-1.定量データの必要性
1-2.データ白書の見方
2.定量データの実践的活用方法と事例
2-1.活用その1(品質)
2-2.活用その2(工数・工期)
3.実践的活用をサポートするツール
SEC
Software Engineering for Mo・No・Zu・Ku・RiSECの取組みとデータ白書の目的
定量的アプローチによる科学的マネジメントの普及拡大
・モノサシとしての
精度を高めていく
・新たなモノサシや課題抽出の
切り口を提案する
「ソフトウェア開発データ白書」として公開
(2010年度は27企業、3089プロジェクトのデータ)
メーカー系、ユーザ系、独立系の複数のベンダからデータを収集
2012年
09月発行
2012-
2013
1774
942
1418
2056
2005
2006
2007
2008
3089
2327
2009
2584
2010-
2011
SEC
Software Engineering for Mo・No・Zu・Ku・Ri
【参考】データ提供状況
SEC
Software Engineering for Mo・No・Zu・Ku・Riデータ白書2012-2013の構成
プロジェクトの特性
(プロファイル)
開発種別
アーキテクチャ
業 種
開発言語
開発ライフ
サイクルモデル
プラットフォーム
代表的な要素
生産性
信頼性
工 期
規 模
工 数
1章 背景と本書の目的
2章 収集データについて
3章 分析について
4章 収集データのプロファイル
5章 プロジェクトの
主要要素の統計
6章 工数、工期、規模の
関係の分析
7章 信頼性の分析
8章 工程別の分析
9章 生産性の分析
10章 予実分析等
付録A~G
データ項目の定義や
収集データ年別プロファイル 等々
SEC
Software Engineering for Mo・No・Zu・Ku・Ri収集データのプロファイル(1)
データ白書掲載のプロファイル一覧
掲載事項
内容、備考
1
開発プロジェクト
の全般的な特徴
開発プロジェクトの種別、形態、作業概要、
新規顧客か、新規業種・業務か、新技術利用か
2
利用局面
業種、業務、利用形態
3
システム特性
システム種別、業務パッケージ利用、処理形態、
アーキテクチャ、開発対象プラットフォーム、
Web技術の利用、開発言語、DBMSの利用
4
開発の進め方
開発ライフサイクルモデル、類似プロジェクトの参照、
開発方法論の利用、開発フレームワークの利用、
ツールの利用
5
ユーザ要求管理
ユーザ要求と関与、要求レベル
6
要員などの
経験とスキル
PM経験とスキル、要員の経験
7
規模
規模の尺度の種別、FP計測手法、純度、FP実績値、
SLOC実績値
SEC
Software Engineering for Mo・No・Zu・Ku・Ri収集データのプロファイル(2)
掲載事項
内容、備考
8
工期
プロジェクト全体の月数実績値、開発5工程の月数実
績値
9
工数
プロジェクト全体、開発5工程の工数の実績値
(人時、人月)、工数の単位、人月-人時の換算係数
10
体制
外部委託工数比率、外部委託金額比率
11
信頼性
稼動後の不具合数(全体、現象数、原因数)、
品質保証の体制、品質基準、レビューの有無
12
実施工程の組み
合わせパターン
開発プロジェクトにおける実施工程の有無が同じもの
をグルーピングしたパターン
13
プロジェクト成否
計画の評価及び実績の評価は、QCDの三つの観点につ
いての評価を段階的に表す。
計画の評価(QCD)、実績の評価(QCD)、
プロジェクト成否の自己評価、
顧客満足度に対するベンダ側の主観評価
SEC
Software Engineering for Mo・No・Zu・Ku・Ri定量データの収集・分析のイメージ
データ収集から様々な分析を行い、フィードバックを行う。
(以下は一つの例)
(1)収集データの精査
(2)全データの分布分析
(3)主要要素の
データの分布分析
(4)主要要素の関係分析
(5)層別の設定と分析
不良データの除外
データ提供側との確認、見直し
ばらつき、偏りをヒストグラムや
散布図より、自然な傾向を確認
規模、工期、工数、生産性、信頼性
の分布の明確化
代表的な要素について、要素相互の
関係を分析
データの干渉を廃し、極力独立性を
出す、または特徴を出すために層別を
設定し、細分化した分析を実施
SEC
Software Engineering for Mo・No・Zu・Ku・Riデータ収集のポイント
重点収集したデータについて
次に示す重点データ項目について、欠損が極力少ない
プロジェクトを対象にデータ収集している。
項 目
詳 細
開発種別
新規開発、改修・保守、拡張
アーキテクチャ
イントラネット/インターネット、2階層C/S、3階層C/S
業 種
金融・保険業、情報通信業、製造業、卸売・小売業、公務
など
開発言語
Java、VB、C、COBOL、C++など
規模の指標
FP、SLOCのいずれかで計測されているもの
FP計測手法名が明確、SLOC言語名が明確なもの
プラットフォーム
Windows系、Unix系
SEC
Software Engineering for Mo・No・Zu・Ku・Riデータの分布状況の表わし方
・件数、分布の掲載対象と
その層別の方法
右図のように段階的に層別を
行いながら、FP規模、SLOC規模、
工期、工数、月あたりの要員数の
各データについて、件数、
ヒストグラムによる度数分布
及び基本統計量を示している。
新規開発 改良開発 FP詳細値 新規開発 全開発種別 新規開発 改良開発 全開発種別 新規開発 改良開発 規模 新規開発 改良開発 FP規模 SLOC規模 業種 アーキテクチャ 業務 業種 業務 全開発種別 業種 アーキテクチャ 業務 SLOC規模 全開発種別 新規開発 改良開発 業種 開発種別 FP規模 開発種別 工期 月あたりの要員数 新規開発 改良開発 新規開発 改良開発 アーキテクチャ 工数 アーキテクチャ 業務 データ白書2012-2013 P71、図表5-1-1SEC
Software Engineering for Mo・No・Zu・Ku・Ri収集したプロジェクトデータの分布
プロジェクトの主要要素の分布例
項 目
分析結果事例(一部抜粋)
FP規模
1000FP以下のプロジェクトが7割弱
(但し、3000FP超もある)
「改修・保守」の中央値が
310FP
、「新規開発」が
736FP
SLOC規模
100KSLOC以下のプロジェクトが多く
、さらにその内訳は
10KSLOC以下が多い。
「改良・保守」の中央値が
32.2KSLOC
、「新規開発」が
70.0KSLOC
工 期
14ヶ月以下が9割弱
を占めている
業種別において、「情報通信業」の工期がやや短い
「改修・保守」の中央値が
5.2ヶ月
、「新規開発」が
7.1ヶ月
工 数
工数が5000人時(約31人月)以下が4割弱
を占めている
「改修・保守」の中央値が5252人時(約
33人月
)、
「新規開発」が9593人時(約
60人月
)
月あたりの
要員数
2~4人が一番多く、10人以下が6割弱
を占めている
「金融・保険業」の新規開発では、20人超が3割程度ある
「改修・保守」の中央値が
6.6人
、「新規開発」が
8.2人
SEC
Software Engineering for Mo・No・Zu・Ku・Ri基本統計量
基本統計量について
散布図や箱ひげ図など視覚的に傾向を捉える図表と共に、基本統計
量も認識することで、的確なデータ値を把握することができる。
基本統計量の表記
次に示すいずれかの形式で掲載している。
各項目は以下のように表記
「項目」:データ名称、 「N」:件数
「最小」:最小値、
「P25」:25 パーセンタイル
「中央」:中央値、
「P75」:75 パーセンタイル
「最大」:最大値、
「平均」:平均値、 「標準偏差」:標準偏差
項目
N
最小 P25 中央 P75 最大 平均 標準偏差
N
最小 P25 中央 P75 最大 平均 標準偏差
N
中央 平均
標準偏差
SEC
Software Engineering for Mo・No・Zu・Ku・Ri 基本統計量、プロファイルデータの見方と留意点
(収集したプロジェクトデータの分布)
2000FP以上の大きな値に
引きづられ、平均値が大きい。
非対象系の分布など考慮すると、
中央値の方が全体のプロファイルとして適切
だと見て取れる。
【白書の表記と見方の留意点】
FP実績値の基本統計量
FP実績値の分布
(ヒストグラム)
FPによる規模では、
500FPまで
のプロジェクトが
5割強
を占める。
2000FP以上
のプロジェクト
も、
一割強
ある。
データ白書2012-2013 P49、図表4-8-4、5平均値
中央値
[FP]
N
最小
P25
中央
P75
最大
平均
標準偏差
1,270
5
210
475
1,074
34,720
1,031
1,944
SEC
Software Engineering for Mo・No・Zu・Ku・Ri箱ひげ図(1)
データの分布を視覚的に捉えることができるグラフ
外境界点
外境界点
内境界点
内境界点
箱の高さ×1.5
外れ値を除いた
最大値
外れ値を除いた
最小値
中央値
上ヒンジ
下ヒンジ
箱の高さ×3.0
箱の高さ×1.5
箱の高さ×3.0
*
極値
外れ値
ひげ
箱の上端は、「
上ヒンジ
」と呼ばれ、上から
全体の25%に相当するデータの位置である。
箱の下端は、「
下ヒンジ
」と呼ばれ、下から
全体の25%に相当するデータの位置である。
上下50%の境目は「
中央値」
であり、
太線で表す。
箱の高さの3倍の位置を「
外境界点
」と呼び、
そこから外れた点を「
極値
」という。
箱の高さの1.5倍の位置を「
内境界点
」と呼び、
外境界点内で外れた点を「
外れ値」
という。
外れ値、極値の除いた点の最大値、最小値
までを「
ひげ
」として表現する。
SEC
Software Engineering for Mo・No・Zu・Ku・Ri箱ひげ図(2)
箱ひげ図事例
例) FP規模あたりの検出バグ数(新規開発、IFPUGグループ)
幅は狭いほうが、ばらつきが小さい。
正規分布に近いデータの集団では、
上下のひげが同じ大きさで、
中央値が箱の真ん中にある。
データ白書2012-2013 P228、図表8-4-1SEC
Software Engineering for Mo・No・Zu・Ku・Ri回帰分析(1)
回帰分析の結果を散布図上で示す
データ白書ではプロジェクトの代表的な要素間の関係について、
その多くは散布図により表わしている。
基本的には2つの要素間の関係を表わしている。
何らかの傾向があるか見ることができる。
2つの要素間に相関関係がないか見ることができる。
相関関係が見て取れる場合、2つの要素(2変量)の関係を
回帰分析により、定式化する。(近似式として表わす。)
定式化が可能な場合、信頼幅の線を表わす。
SEC
Software Engineering for Mo・No・Zu・Ku・Ri回帰分析(2)
回帰分析結果の掲載基準
回帰分析結果について掲載するのは、下記図表に示す
3項目の目安をすべて満たす場合としている。
回帰式は、相関係数が高くデータの件数も十分ある。
2つのデータ項目間に強い関係が見出せると判断される。
回帰直線又は曲線を示す条件も同様。
傾向を単に視覚的に示す場合や説明の必要性から係数を用いるなどの
ケースはこの限りではない。
回帰分析を使用した場合の評価の目安:
項目
判断の目安
1 データ数nの量
データ数は層別あたり、n≧30とする
2 相関の見方
|相関係数
R
|≧0.85 :強い関係
0.85>|相関係数
R
|≧0.70 :やや強い関係
|相関係数
R
|<0.70 :強い関係は認められないが要継続観察
3 相関の有意性
P値<0.05 とする(危険率5%で相関が有意と判断できる)
SEC
Software Engineering for Mo・No・Zu・Ku・Ri【白書の表記と見方の留意点】
対数変換による分析
ソフトウェア開発プロジェクトのデータは正規分布していないこと
が多い。
(例えば規模の分布:規模の大きい方に裾野が長い分布)
・対数に変換するとほぼ正規分布と見なせることが多く、裾野を含めた
全体の状況が見やすい。
・「正規分布」であることを前提としている相関係数の有意性や回帰式の
予測値の信頼区間推定を求めることができる。
FP実績値(調整前) N=211 0 10 20 30 40 ~ 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 1 ~ FP実績値(調整前) 件数 Log (FP実績値(調整前)) N=211 0 5 10 15 20 25 30 35 40 45 1 . 1 1 1 . 3 2 1 . 5 2 1 . 7 2 1 . 9 3 2 . 1 3 2 . 3 3 2 . 5 4 2 . 7 4 2 . 9 4 3 . 1 5 3 . 3 5 3 . 5 5 3 . 7 6 3 . 9 6 次の級 Log (FP実績値(調整前)) 件数詳細は次の文献を参照のこと
※ 「プロジェクトデータ分析の指針と分析事例」:古山恒夫、SEC journal No3、 pp6~pp13、 2005
対数
スケール化
正規
分布
裾野の分布が
分かり易い
SEC
Software Engineering for Mo・No・Zu・Ku・Ri【白書の表記と見方の留意点】
対数変換後のデータともとのデータの見方
データを対数スケールに変換すると相関が明確になる場合がある。
・散布図の表記において、必要に応じ対数スケール表示を取り入れている。
・元のスケールに戻すと有効範囲(誤差)は右上方向に開く。
・もとのデータに戻し、50%の信頼幅を示すと・・・
規模や工数が大きくなるに伴い
信頼幅が広がる
ため、規模と工数の
関係など、妥当性の検証時は
それを考慮して判断する
必要がある。
FP規模と工数 (新規開発、IFPUGグループ) N=188 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 実績工数( 開発5 工程) [ 人時] y(50%) y(-50%) 実績値Copyright IPA SEC
FP規模と工数 (新規開発、IFPUGグループ) N=188 0 1 2 3 4 5 6 0 1 2 3 4 5 実績工数( 開発5 工程) [ 人時] log(y)(50%) log(y)(-50%) 実績値 10 100 1,000 10,000 100,000 1 1,000,000 100,000 10,000 1,000 100 10 1
Copyright IPA SEC
50%信頼幅
もとのスケールに戻す
対数表示
SEC
Software Engineering for Mo・No・Zu・Ku・Ri本日の内容
1.定量的マネジメントの必要性
1-1.定量データの必要性
1-2.データ白書の見方
2.定量データの実践的活用方法と事例
2-1.活用その1(品質)
2-2.活用その2(工数・工期)
3.実践的活用をサポートするツール
SEC
Software Engineering for Mo・No・Zu・Ku・RiITシステムの障害の影響が深刻化し、高品質な情報システムが
求められている
「品質を高める」=品質を測定する物差しが必要
「品質が高い」=開発者から利用者への説明責任
定量的品質予測が必要
定量的品質予測のために
どうやって品質を予測すればいいか
そのためには、何をどのように測定すればいいのか
SEC活動として
2006年~2008年、定量データ分析部会WGにて、参加企業・大学
が実際に取り組んでいる品質予測の手法を整理
2008年から2010年、上流工程に焦点をあてたプロセス
(特に組織的準備)と定量的品質管理の阻害要因を整理
定量的品質管理のススメ
SEC
Software Engineering for Mo・No・Zu・Ku・Ri定量的品質管理の考え方
品質の測定と予測の枠組み
(注)測定、対策はそれぞれの工程で実施される。
蓄積データ
データの受渡し
人の作業
作業の流れ
分析・
モデル化
モデル
【 プロジェクト 】
【 プロジェクト 】
《 プロジェクト生産活動 》
要件
定義
基本
設計
詳細
設計
製作
総合
テスト
結合
テスト
【 プロジェクト 】
データ
計画(P)
対策(A)
《 プロジェクトマネジメント活動 》
モデルの改善・見直し
単体
テスト
データ蓄積
測定(D)
分析・予測(C)
どのようなプロセスで
SEC
Software Engineering for Mo・No・Zu・Ku・Ri 測定単位(例)
測定単位を小さくして品質データ(欠陥数など)を測定することにより、
詳細な品質管理・分析が可能
その測定値を集計することにより当該工程の品質管理・分析が可能
工 程 基本設計 詳細設計
製 作
単体テスト 結合テスト 総合テスト
システム・
サブシステム
◎
◎
◎
◎
◎
◎
●
◎
◎
◎
◎
◎
●
◎
◎
●
●
●
●
分
解
粒
度
測
定
単
位
の
業務機能
プログラム 数100L~1KL
-
想定規模
100KL~1ML
20KL~50KL
数KL~10KL
●
:その工程完了時に最小の測定単位、
◎
:その工程で主に着目する測定単位
測定単位
どれくらいの粒度で
測定単位について
SEC
Software Engineering for Mo・No・Zu・Ku・Ri
対象工程
測 定 量
単 位
測 定 方 法
全工程
規模
FP、LOC
Function Point (FP) では測定方法 、LOCは測
定ルールを明確にする
作業工数
人時
設計工程
レビュー回数
回数
レビュー時間
人時
Σ 各レビューアのレビュー実施時間
レビュー対象規模
ページ数
レビュー対象ドキュメント量(A4換算ページ数)
レビュー指摘件数
件数
レビュー記録票の指摘事項数
テスト工程
欠陥数
件数
障害連絡票の欠陥数
テスト項目数
項目数
テスト仕様書の項目数
基 本 測 定 量
導 出 測 定 量
対象工程
測 定 量
単 位
算 出 方 法
設計工程
レビュー指摘密度
件数÷FP,LOC
件数÷ページ数
レビュー指摘件数÷規模
レビュー指摘件数÷レビュー対象規模
レビュー工数密度
人時÷FP,LOC
人時÷ページ数
レビュー時間÷規模
レビュー時間÷レビュー対象規模
レビュー指摘効率
件数÷人時
レビュー指摘件数÷レビュー工数
テスト工程
欠陥密度
件数÷FP,LOC
欠陥数÷規模
テスト密度
項目数÷FP,LOC
テスト項目÷規模
品質改善の立案には、属性情報も必要
代表的な基本測定量と導出測定量
何を
SEC
Software Engineering for Mo・No・Zu・Ku・Ri分析名称
(モデル名)
概 要
管理図分析
(閾値モデル)
データの分布がUCLとLCLに対してどの
位置にプロットされるかを見て、データが
正常値であるか外れ値であるかを判断す
る分析方法
ゾーン分析
(ゾーンモデル)
与えられた分析のテーマを、ある特徴に
着目した視点によってゾーンに分割し、
各ゾーン毎に分析を行う
曲線近似分析
(回帰モデル)
二つのデータ列の関係を回帰式と呼ぶ近
似曲線で代替することで分析を行う
トレンド分析
(トレンドモデル)
過去のプロジェクトの実績データの時間
的なパターンと、現在のプロジェクトの実
績データのトレンドを比較し、過去のプロ
ジェクトの最終品質と同等な結果となる
かを予測する分析である
チェックリスト分析
(チェックリスト)
チェックリストは、与えられたテーマに対し
てチェックする項目をリストにしたもの
UCL LCL 品質不良と予測 レビュー指摘密度 ゾーン4 ゾーン3 ゾーン9 ゾーン2 ゾーン1 ゾーン7 ゾーン6 ゾーン5 ゾーン8 尺 度 尺 度 単体テスト 結合テスト 総合テスト 検 出 欠 陥 密 度 UCL CL LCL Xプロジェクト Yプロジェクト 要求分析のレビュー指摘チェックリスト 大分類 小分類 レビュー指摘事項 評価 重み ポイント 備考 全体 網羅性 記載内容の範囲についての記述があり、明確か ○ A 1.2 要求の網羅性について記載があるか ○ B 1.0 要求に漏れがないかの確認をしているか × A 0.0 整合性 内容に矛盾がないか ○ A 1.2 要求の粒度は揃っているか × B 0.0 了解性 主語が明確であるか ○ C 0.8 事実と推測が分離しているか ○ B 1.0 数値表現できるところは数値で表現しているか ○ A 1.2 ※ 評価(○:1、×:0)、重み(A:1.2、B:1.0、C:0.8) 6 .4 近似曲線 二つの要因を回帰式で分析 ① ここの値から をゾーン分析
どうみるか
管理図分析
曲線近似分析
トレンド分析
チェックリスト分析
分析について(分析モデル一覧)
詳細については、SEC BOOKの「品質予測のススメ」及びその続編を参照
SEC
Software Engineering for Mo・No・Zu・Ku・Ri データ白書における「工程別の分析」について
開発5工程全体ではなく、工程別に工数と工期、レビューおよび
テストケースとバグ密度の分析結果を示している。
8.1 工程別の工期、工数
・工期や工数の工程別比率に関する分析
8.2 レビュー指摘件数
・基本設計、製作工程のレビュー指摘件数に関する分析
8.3 レビュー実績工数
・設計工程のレビュー実績工数、各工程のレビュー実績工数比率に関する分析
8.4 テスト工程別のテストケースと検出バグ数
・結合テスト、総合テスト(ベンダ確認)の2工程を対象に
「規模当りと工数当りのテストケース数」、
「検出バグ数(現象数)、(原因数)」を分析
8.5 工程別のFP生産性
・様々な層別による工程別の生産性に関する分析
8.6 工程別のSLOC生産性
・様々な層別による工程別の生産性に関する分析
ソフトウェア開発データ白書の工程別分析
品質関連
SEC
Software Engineering for Mo・No・Zu・Ku・Riレビュー指摘件数(1)
「レビュー指摘件数」について
設計工程及び制作工程のレビュー指摘件数に関する分析結果
を示している。
レビュー指摘件数に対する密度として、以下の3つの観点により
分析結果を基本統計量として示している。
規模当り(FP規模当り、SLOC規模当り)の件数
工数当りの件数
ページ当りの件数
例) ページあたりの基本設計レビュー指摘件数の基本統計量
データ白書2012-2013 P223、図表8-2-5[件/ページ]
N
最小
P25
中央
P75
最大
平均
標準偏差
169
0.000
0.106
0.269
0.507
2.885
0.426
0.513
SEC
Software Engineering for Mo・No・Zu・Ku・Riレビュー指摘件数(2)
「レビュー指摘件数」のデータの活用(1)
ソフトウェアの品質を把握する際、また品質目標を策定する際、
その一つの考え方に閾値モデル(管理図分析)がある。
ある尺度の閾値によって、例えば管理図分析においては、
データの分布がUCLとLCLに対して、どの位置にあるかで、データ
が正常値であるか外れ値であるかを判定する考え方である。
UCL(上部管理限界線 Upper Control Limit)
LCL(下部管理限界線 Lower Control Limit)
例) 要求分析・設計における品質予測の事例(閾値モデル)
UCL
LCL
レビュー
指摘密度
要注意!
SEC
Software Engineering for Mo・No・Zu・Ku・Riレビュー指摘件数(3)
「レビュー指摘件数」のデータの活用(2)
UCLやLCLには、品質データが正規分布する際には、標準偏差
の何倍かを目安に策定する考え方がある。
しかし、ソフトウェア開発のデータ、例えばレビュー指摘件数の
データは正規分布しないこともある。
その場合、基本統計量で示している四分位点のような、外れ値
に引きずられにくい統計量を参照するのも一考である。
留意点:
ただし、P25とP75では、あくまでもその箱の中には50%の
データのみが入るような値なので、品質指標としてUCLやLCL
に直接設定することは早計である。
データ白書では分布や特徴を見る一つの統計量として明示して
いるものではあるので、その点を考慮して参照する必要がある。
SEC
Software Engineering for Mo・No・Zu・Ku・Riレビュー実績工数(1)
「レビュー実績工数」について
データ白書では、基本設計、詳細設計工程について、ページ
あたりの対象工程におけるレビュー実績工数を、基本統計量
として示している。
また、基本設計、詳細設計、制作の3工程について、それぞれ
該当する工数に対するレビュー実績工数を、レビュー実績工数
比率として示している。
プロジェクトのレビューの妥当性確認や、ドキュメントページ数
からのレビュー工数の予測、工程内工数からのレビュー工数
の予測などに利用することが考えられる。
SEC
Software Engineering for Mo・No・Zu・Ku・Riレビュー実績工数(2)
「レビュー実績工数」のデータの見方
設計工程のレビュー実績工数と、工程別レビュー実績工数比率の
基本統計量を以下に示す。
ページあたりの基本設計レビュー実績工数の基本統計量(新規開発)
工程別レビュー実績工数比率の基本統計量
データ白書2012-2013 P225、図表8-3-1 データ白書2012-2013 P227、図表8-3-6[人時/ページ]
N
最小
P25
中央
P75
最大
平均
標準偏差
62
0.018
0.067
0.156
0.621
120.267
8.964
25.693
[比率]
レビュー実績工数比率
N
最小
P25
中央
P75
最大
平均
標準偏差
基本設計
303
0.002
0.026
0.061
0.125
0.667
0.095
0.103
詳細設計
277
0.002
0.029
0.062
0.111
0.450
0.093
0.097
製作
210
0.000
0.014
0.028
0.062
0.825
0.060
0.105
SEC
Software Engineering for Mo・No・Zu・Ku・Riレビュー実績工数(3)
「レビュー実績工数」のデータの活用
ゾーン分析での活用例:
レビュー量とレビュー指摘の適切性の評価
レビュー工数密度とレビュー指摘密度の双方を合わせた視点
から品質を分析し、傾向性を読み取る。
ゾーン分析の目標範囲(目標の上限と下限)の参考
基本統計量の分析結果を参考にする。ただし、
P25、P75を
直接指定するのではなく、策定の際の参考情報とする。
⑧ ⑤ ⑥ ⑦ ① ② ⑨ ③ ④レビュー指摘密度
(件/ページ)
レビュー工数密度
(人時/ページ)
上限
下限
下限
上限
例)
ページあたりの基本設計
レビュー実績工数の
基本統計量を参考に
策定する。
P25
P75
SEC
Software Engineering for Mo・No・Zu・Ku・Ri 「規模あたりのテストケースと検出バグ数」について
データ白書では以下について示している。
結合テスト及び総合テストにおける規模あたりのテストケース数
(テストケース密度)
規模あたりの検出バグ数(検出バグ密度)
テストケース数や検出バグ数の予測の目安に。
基本統計量にある中央値の利用
P25、P75を上下限値として、妥当性確認に利用
テストケース密度と検出バグ密度を利用した、ゾーン分析に
による品質管理のヒントに。
規模あたりのテストケース数と検出バグ数(1)
SEC
Software Engineering for Mo・No・Zu・Ku・Ri規模あたりのテストケース数と検出バグ数(2)
「規模あたりのテストケースと検出バグ数」のデータの見方
結合テストと総合テストのデータの見方:
結合テストと総合テストを横並びにすることで、双方の関係
として、傾向を見ることができる。
結合テストケース数は総合テストケース数の約4倍弱と見える。
FP 規模あたりのテストケース数
(全開発種別)箱ひげ図
FP 規模あたりの検出バグ数
(全開発種別)箱ひげ図
データ白書2012-2013 P229、図表8-4-2 データ白書2012-2013 P228、図表8-4-1SEC
Software Engineering for Mo・No・Zu・Ku・Ri[件/KFP]
N
最小
P25
中央
P75
最大
平均
標準偏差結合テスト(テストケース)
92 16.8 673.8 1,873.0 2,934.2 54,476.6 2,944.1 6,197.2総合テスト(テストケース)
85 11.1 192.8 423.7 1,132.6 12,069.9 1,042.2 1,684.4結合テスト検出バグ(現象)
81 0.0 48.2 121.0 214.8 3,417.3 198.0 391.7総合テスト検出バグ(現象)
74 0.0 4.4 22.3 41.9 884.3 51.8 114.4結合テスト検出バグ(原因)
84 4.3 35.8 79.7 200.1 741.3 140.1 145.6総合テスト検出バグ(原因)
81 0.0 7.3 19.6 52.4 390.6 51.7 81.4 「規模あたりのテストケースと検出バグ数」のデータの活用
ゾーン分析によるプロダクト品質予測の活用例
結合テストケース密度の上下限値と、結合テストバグ密度の上下限値
について、基本統計量のP25とP75を参考に策定。
⑧ ⑤ ⑥ ⑦ ① ② ⑨ ③ ④バグ密度
(件数/KFP)
テスト密度
(ケース数/KFP)
上限
下限
下限
上限
テスト工程別 FP 規模あたりのテストケース数、検出バグ数の基本統計量(新規開発、IFPUG グループ)
データ白書2012-2013 P231、図表8-4-8直接設定するのではなく、
あくまでも上下限値の
策定時に参考と
している例。
規模あたりのテストケース数と検出バグ数(3)
SEC
Software Engineering for Mo・No・Zu・Ku・Ri本日の内容
1.定量的マネジメントの必要性
1-1.定量データの必要性
1-2.データ白書の見方
2.定量データの実践的活用方法と事例
2-1.活用その1(品質)
2-2.活用その2(工数・工期)
3.実践的活用をサポートするツール
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.14 (Aは係数)
(B = 1.14 の場合、FP規模が2倍になると、工数は約2.20倍になる。)
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=347 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=347 データ白書2012-2013 P138、図表6-4-11 データ白書2012-2013 P137、図表6-4-9 FP規模と工数 (新規開発、IFPUGグループ) 信頼幅50%付き FP規模と工数 (新規開発、IFPUGグループ) 対数表示
SEC
Software Engineering for Mo・No・Zu・Ku・Ri 規模と工数のデータの使い方
例)新規開発、IFPUGグループ
・4,000FPの規模の工数を
50%の信頼幅から読み取る。
⇒
・約30,000人時から100,000人時
(約185人月~625人月)の範囲。
これを、
妥当性の目安
とする。
留意点
規模が大きくなると
規模の増加率以上に工数が増大する。
一般的に規模が大きくなると関係者も多くなり、間接的な工数が
増加する。
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=347
①見積り:工数の見積り(事例)
30,000 ▲ FP規模と工数 (新規開発、IFPUGグループ) 信頼幅50%付き データ白書2012-2013 P137、図表6-4-9SEC
Software Engineering for Mo・No・Zu・Ku・Ri データの関係性
新規開発(開発5工程)
工期(月数)は工数の
3乗根に概ね比例。
例) 工期 = A × (工数)* * 0.32 (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=672
①見積り:「工数と工期」のデータの見方
開発5 工程の工数と工期(新規開発)信頼幅50%、95%付き
データ白書2012-2013 P127、図表6-3-2
SEC
Software Engineering for Mo・No・Zu・Ku・Ri 工数と工期のデータの使い方
例)新規開発、開発5工程
・工数が約60,000人時
(約375人月)の場合、
工期(月数)の中央値は
12~13ヶ月
・信頼幅95%の下限値の
工期(月数)を見てみると
約5ヶ月
留意点
工期短縮には限界がある。
12ヶ月から工期短縮を目指しても、5ヶ月以下にするのは難しい。
また、
50%の下限値は
約9ヶ月であり、
目標の目安の一つ。
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=672