Upload
buihanh
View
215
Download
0
Embed Size (px)
Citation preview
© 2016 IPA Software Reliability Enhancement Center
「ソフトウェア開発データ白書2016-2017」ご紹介
ET/IoT2016ブースプレゼン資料2016年 11月 16日
独立行政法人情報処理推進機構(IPA)
技術本部 ソフトウェア高信頼化センター(SEC)
塚元 郁児
2© 2016 IPA Software Reliability Enhancement Center
はじめに
IPA/SECでは、ソフトウェア開発における定量的管理の普及促進の一環として、国内の多様なソフトウェア開発のプロジェクトデータを整理・分析した「ソフトウェア開発データ白書」を2004年より定期的に発行しています。
その最新版である「ソフトウェア開発データ白書2016-2017」を2016年10月1日に発行、2016年10月12日にWeb公開しました。
本プレゼンテーションでは、 「ソフトウェア開発データ白書2016-2017」の概要(業種編3種含む)について説明します。
本内容の詳細につきましては、
11/18(金)15:00〜15:30 アネックスホール2階[F203]
「ソフトウェア開発データ白書」の取組みと活用方法
で紹介します。
3© 2016 IPA Software Reliability Enhancement Center
1.「ソフトウェア開発データ白書2016-2017」の概要
◇統計情報(目安として)プロファイル、規模、工数、工期、生産性、信頼性とそれらの変動要因等
◇分析のノウハウ(ヒントとして)データ項目、メトリクス、分析方法
◇分析結果(知見)(ヒントとして)
自組織のリポジトリ
組織/企業における定量的管理
生産性向上
信頼性向上
◇ベンチマーキング◇開発計画の実現可能性検討◇見積りの妥当性評価◇組織の重点強化領域の特定等
ソフトウェア開発データ白書
29社からのエンタープライズ系のソフトウェア開発プロジェクトデータ 4,067
プロジェクト
IPA/SEC
毎年
データ収集
隔年
発行
参考
◇プロジェクトマネジメント◇組織の品質・生産性のマネジメント
データ白書のリポジトリ
データ提供企業
1.1 定期的なデータ収集と発行
4© 2016 IPA Software Reliability Enhancement Center
1章 背景と本書の目的
2章 収集データについて
3章 分析について
4章 収集データのプロファイル
5章 プロジェクトの主要要素の統計
6章 工数、工期、規模の関係の分析
7章 工程別の分析
8章 生産性の分析
9章 信頼性の分析
10章 その他の分析
付録A~G: データ項目の定義や収集データ年別プロファイル 等々
☆2016/10/1に発行、2016/10/12Web公開
記載項目再整理と新規分析項目追加
1.2 構成と主な掲載内容
今回は 部分を整理、強化した
業種編3種も同時発行(金融・保険業、情報通信業製造業)
5© 2016 IPA Software Reliability Enhancement Center
業種編(金融・保険業、情報通信業、製造業)の活用
分析対象データが業種混在か特定業種かの違いだけで、抽出条件および分析方法は変えていないため、それぞれのデータでの分析結果の比較が可能である。⇒業種毎の違いの把握や、業種毎のベンチマーク情報の取得が可能となる。⇒業種混在に比べ自プロジェクトの見積もり時や自組織の改善ポイントの把握などでより条件に合ったベンチマーキングの推進が可能となる。
生産性、信頼性変動要因分析結果の活用
白書データのような外部ベンチマーク情報だけでなく、自組織の基準値との差が出たときに差の要因を見つけ出すのに参考となる。⇒比較した結果を評価する際に今回の白書データから見えた変動要因分析の結果を参考にすることができる。⇒自プロジェクトの特性の把握や自組織の強み弱みの発見の参考情報となる。
「ソフトウェア開発データ白書2016-2017」活用のポイント
6© 2016 IPA Software Reliability Enhancement Center
データ白書収集プロジェクトデータの分布
(白書2016-17を参照)収容プロジェクトデータの概要項目 収集されたデータの傾向
開発プロジェクト種別 新規開発(49.5%)、改修・保守(33.3%)で8割強である 経年で見ると改修・保守の占める割合が増えている
開発プロジェクトの形態 受託開発(91.0%)がほとんどである
業種 金融・保険業(30.5%)、情報通信業(17.3%)、製造業(17.1%)の三業種で6割強である
システム特性 アプリケーションソフト(94.1%)がほとんどである 業務パッケージの利用(18.1%)は2割弱である インターネット/イントラネット(38.5%)、2層,3層クライアント/サーバ
(41.0%)で約8割である 言語では、Java(32.2%)、COBOL(15.1%)、VB(10.8%)、C言語(10.3%)で
7割弱である
開発の進め方 ウォータフォール型(96.8%)がほとんどである 全体では、開発フレームワークの利用(48.2%)は半数近くとなっているが、年々増え続け2012年以降は50%を超えている
7© 2016 IPA Software Reliability Enhancement Center
データ白書収集プロジェクトデータの分布
項目 分析結果事例(一部抜粋)
FP規模 1,000FP以下のプロジェクトが6割以上(但し、3,000FP超もある) 「改修・保守」の中央値が400FP、「新規開発」が786FP
SLOC規模 100KSLOC以下のプロジェクトが多く、さらにその内訳は10KSLOC以下が多い。 「改修・保守」の中央値が25KSLOC、「新規開発」が69.3KSLOC
工期 14ヶ月以下が9割弱を占めている 業種別において、「情報通信業」の工期がやや短い 「改修・保守」の中央値が5.5ヶ月、「新規開発」が7.6ヶ月
工数 工数が5,000人時(約31人月)以下が4割弱を占めている。 「改修・保守」の中央値が5,950人時(約37.2人月)、「新規開発」が10,168人時(約63.6人月)
月当たり要員数 2~4人が一番多く、10人以下が6割弱をを占めている 「金融・保険業」の新規開発では、20人超が3割強ある 「改修・保守」の中央値が6.6人、「新規開発」が8.8人
プロジェクトの主要要素の分布例 (白書2016-17を参照)
8© 2016 IPA Software Reliability Enhancement Center
規模と工数の関係6.3 FP規模と工数の
関係
6.4 SLOC規模と工数の関係
新規開発
改良開発
新規開発
改良開発
6.3.5&9 業種別
6.3.6&10 アーキテクチャ別
6.6 規模測定要素(ILF,EIF,DB テーブル、画面、帳票、バッ
チ)と工数
新規開発
改良開発
6.5 FP規模とSLOC規模との関係
6.4.4&7業種別
6.4.5&8アーキテクチャ別
新規開発
FP計測手法(6.3.1~4&7&8)
6.4.3&6主開発言語別
6.4.9母体規模別
規模(FP,SLOC)と工数の関係性を分析した内容を中心に記載している。関係性を回帰式の形で提示している。FP,SLOC以外の規模測定要素と工数の関係や、FP規模とSLOC規模との関係についても掲載している。
6章 記載内容について①
9© 2016 IPA Software Reliability Enhancement Center
ソフトウェア開発データ白書2016-2017 データ白書2016-2017(金融・保険業)
データ白書2016-2017(情報通信業) データ白書2016-2017(製造業)
相関関係があってもパラメータの値は違う
相関の強さにバラツキがある
掲載例 規模と工数の関係
10© 2016 IPA Software Reliability Enhancement Center
6.2 工数と工期の関係 6.2.2 新規開発
6.2.7 改良開発
6.2.3 業種別
6.2.5 主開発言語別
6.2.4 アーキテクチャ別
6.2.8 業種別
6.2.10 主開発言語別
6.2.9 アーキテクチャ別
工数と工期の関係性については以下の切り口で分析した内容を掲載している。
6章 記載内容について②
11© 2016 IPA Software Reliability Enhancement Center
ソフトウェア開発データ白書2016-2017 データ白書2016-2017(金融・保険業編)
データ白書2016-2017(情報通信業編) データ白書2016-2017(製造業編)
業種によりパラメータの値が異なる
業種別の方が相関係数は高くなる
掲載例 工数と工期の関係
12© 2016 IPA Software Reliability Enhancement Center
要件定義
基本設計 詳細設計 製作 結合テスト 総合テスト(ベンダ確認)
工程別工期 - 基本設計実績月数/開発5工程実績月数
詳細設計実績月数/開発5工程実績月数
製作実績月数/開発5工程実績月数
結合テスト実績月数/開発5工程実績月数
総合テスト(ベンダ確認)実績月数/開発5工程実績月数
工程別工数 - 基本設計実績工数/開発5工程実績工数
詳細設計実績工数/開発5工程実績工数
製作実績工数/開発5工程実績工数
結合テスト実績工数/開発5工程実績工数
総合テスト(ベンダ確認)実績工数/開発5工程実績工数
7章 工程別分析掲載内容 (工期比率)
この章では、工程別の工数と工期、レビューまたはテストケースとバグ密度の分析結果を掲載しております。
13© 2016 IPA Software Reliability Enhancement Center
掲載例 工程比率
ソフトウェア開発データ白書2016-2017 データ白書2016-2017(金融・保険業編)
データ白書2016-2017(情報通信業編) データ白書2016-2017(製造業編)
業種によって工期比率が
違う
14© 2016 IPA Software Reliability Enhancement Center
ソフトウェア開発データ白書2016-2017 データ白書2016-2017(金融・保険業編)
データ白書2016-2017(情報通信業編) データ白書2016-2017(製造業編)
業種によって工数比率が異なる
掲載例 工数比率
15© 2016 IPA Software Reliability Enhancement Center
要件定義 基本設計 詳細設計 製作 結合テスト
総合テスト(ベンダ確認)
設計書ページ数
- 規模(FP,SLOC)あたりの基本設計書ページ数を掲載
規模(FP,SLOC)あたりの詳細設計書ページ数を掲載
- - -
レビュー指摘件数
- 規模(FP,SLOC)、工数、ページ数あたりのレビュー指摘件数を掲載
- 工数あたりのレビュー指摘件数を掲載
- -
レビュー実績工数
- ページあたりの基本設計工数、基本設計工程のレビュー実績工数比率を掲載
ページあたりの詳細設計工数、基本設計工程のレビュー実績工数比率を掲載
製作工程のレビュー実績工数比率を掲載
- -
レビュー関連記載内容
16© 2016 IPA Software Reliability Enhancement Center
ソフトウェア開発データ白書2016-2017 データ白書2016-2017(金融・保険業編)
データ白書2016-2017(情報通信業編) データ白書2016-2017(製造業編)
掲載例 基本設計レビュー指摘件数
17© 2016 IPA Software Reliability Enhancement Center
要件定義
基本設計
詳細設計
製作 結合テスト 総合テスト(ベンダ確認)
テスト工程のテストケースと検出バグ数
- - - - 規模(FP,SLOC)当たり/工数あたりの結合テストでのテストケース数と検出バグ(現象数、原因数)を掲載
規模(FP,SLOC)当たり/工数あたりの総合テスト(ベンダ確認)でのテストケース数と検出バグ(現象数、原因数)を掲載
テストケースと検出バグ数
18© 2016 IPA Software Reliability Enhancement Center
ソフトウェア開発データ白書2016-2017 データ白書2016-2017(金融・保険業編)
データ白書2016-2017(情報通信業編) データ白書2016-2017(製造業編)
情報通信はテストケース数が多い。金融はバグ原因数が少ない。製造は、テストケース数は少ないが、バグ原因数は多い
掲載例 テスト工程別テストケース数と検出バグ数
19© 2016 IPA Software Reliability Enhancement Center
要件定義 基本設計 詳細設計 製作 結合テスト 総合テスト(ベンダ確認)
工程別規模生産性
- FP,SLOC実績値/基本設計工数実績
FP,SLOC実績値/詳細設計工数実績
FP,SLOC実績値/製作工数実績
FP,SLOC実績値/結合テスト工数実績
FP,SLOC実績値/総合テスト(ベンダ確認)工数実績
規模あたりの成果物量
要件定義書ページ数/FP,KSLOC規模
基本設計書ページ数/FP,KSLOC規模
詳細設計書ページ数/FP,KSLOC規模
KSLOC実績値/FP,KSLOC規模
結合テストケース数/FP,KSLOC規模
総合テストケース数/FP,KSLOC規模
工程別の成果物量と工数
要件定義実績工数/要件定義書ページ数
基本設計実績工数/基本設計書ページ数
詳細設計実績工数/詳細設計書ページ数
製作実績工数/KSLOC
結合テスト実績工数/結合テストケース数
総合テスト実績工数/総合テストケース数
工程別成果物量と工数
20© 2016 IPA Software Reliability Enhancement Center
生産性分析信頼性分析
8.2 FP規模とFP生産性9.2 FP規模と発生不具合密度
8.3 SLOC規模とSLOC生産性9.3 SLOC規模と発生不具合
密度
新規開発
改良開発
新規開発
改良開発
8.4 生産性変動要因分析9.4 信頼性変動要因
主開発言語別別
FP手法混在/IFPUGグループ
8章/9章 生産性分析/信頼性分析
8章では、開発規模(FP、SLOC規模)及び開発5工程の工数をもとに、ソフトウェア開発の生産性について記載している。9章では、システム稼動後の発生不具合密度をもとに開発したソフトウェアの信頼性について記載している。
21© 2016 IPA Software Reliability Enhancement Center
ソフトウェア開発データ白書2016-2017データ白書2016-2017(金融・保険業編)
データ白書2016-2017(情報通信業編) データ白書2016-2017(製造業編)製造業は高く、金融・保険、情報通信業は低い
傾向
掲載例 SLOC生産性
22© 2016 IPA Software Reliability Enhancement Center
ソフトウェア開発データ白書2016-2017 データ白書2016-2017(金融・保険業編)
データ白書2016-2017(情報通信業編) データ白書2016-2017(製造業編)
金融・保険業は、稼働後の不具合発生密度が低いように見える。
掲載例 SLOC発生不具合密度
25© 2016 IPA Software Reliability Enhancement Center
まとめ
ソフトウェア開発データ白書では、プロジェクト計画立案時の見積りの妥当性確認や工数見積り時の参考指標、自社の基準値の策定時に参考となる情報など外部ベンチマークとしての参考情報を掲載しております。必要に応じ該当情報を参考にしていただきソフトウェア開発の信頼性向上に役立てていただければと思います。今回業種編を提供させていただいており、より条件に合った活用が可能と考えます。
今回新たに生産性/信頼性変動要因分析結果を掲載しております。自プロジェクトの見積りの値が外部ベンチマークや自社基準値と乖離する場合は、今回掲載の変動要因や分析結果も参考にしていただき、乖離する合理的な理由や自プロジェクトの特性などの把握に役立てていただければと思います。
今回の白書の詳細内容をET2016 IPAセミナーで紹介予定。11/18(金)15:00〜16:00 アネックスホール2階[F203]「ソフトウェア開発データ白書」の取組みと活用方法
白書掲載のグラフデータの活用については、IPAブースプレゼンにて概要紹介予定。11/18(金) 16:00~16:20 IPAブース「ソフトウェア開発データ白書2016-2017データ活用法」