HOMEソフトウェア高信頼化報告書・出版物・ツール事業成果(報告書等)「ソフトウェア開発データが語るメッセージ2017」を公開
~ソフトウェアの信頼性は向上するも生産性は低下傾向~

本文を印刷する

ソフトウェア高信頼化

「ソフトウェア開発データが語るメッセージ2017」を公開
~ソフトウェアの信頼性は向上するも生産性は低下傾向~

2018年3月6日公開
独立行政法人情報処理推進機構
技術本部 ソフトウェア高信頼化センター

概要

 独立行政法人情報処理推進機構ソフトウェア高信頼化センター(以下、IPA/SEC)は2018年3月6日、「ソフトウェア開発データが語るメッセージ2017」(以下、本書)を公開しました。

 本書は、「ソフトウェア開発データ白書2018-2019」(2018年10月発行予定)作成用に収集した最新のプロジェクトデータに基づいて、ソフトウェア開発の傾向を分析したものです。

 分析の結果、ソフトウェア開発の信頼性は向上しているものの、ソフトウェアの品質に対する要求の高まりにより、生産性は低下傾向にあることが分かりました。また、生産性・信頼性の向上には定量的管理を推進し、品質要求レベルに見合った生産性目標を設定すべきこと、さらに、要員の人材育成が重要であることが分かりました。

背景と目的

 近年、ソフトウェアの大規模化/複雑化が進む一方、信頼性向上、生産性向上、開発期間短縮等の要求は高まっています。このようなニーズに適切に応えるには、プロジェクト実績データから導出した統計情報や知見をベンチマークとして利用する定量的管理(ベンチマーキング)が重要となります。

 このような状況に応えるべく、IPA/SECでは、公開ベンチマークとして利用してもらえるよう「ソフトウェア開発データ白書」(以下、白書)を2004年度より定期的に刊行しています。また、白書データを分析して得られた知見及びメッセージを、「ソフトウェア開発データが語るメッセージ」の形で公開しています。

 本書のねらいは、主に次の2点です。

  • データによる裏付けが無い生産性目標の設定の削減
  • 生産性マネジメント(生産性目標の妥当性評価、生産性向上方策立案等)に役立つ公開ベンチマークの提供

分析結果から得られた知見

1. ソフトウェア生産性は全体的に低下傾向にある

 ソフトウェア開発プロジェクトは、低価格の強いプレッシャーに晒されることが多々あります。例えば予算管理や価格交渉等の場面では、経年での生産性向上を前提に年率5%の開発コスト削減や前年度比10%のライン単価低減等が要求されるケースが見受けられます。

 しかし、白書データによれば、信頼性には向上傾向が見られるものの、生産性に低下傾向が見られます。具体的には、新規開発プロジェクト全体のSLOC(※1)生産性の経年変化を見ると、低下傾向にあることが分かります。また、中央値で見ると2004年度から2010年度(前半)で6.0SLOC/人時であった生産性が、2011年度から2017年度(後半)では4.6 SLOC/人時に下降していることが分かります(約23%下降していることになります)。

拡大図はこちら

2. ソフトウェアに対する品質要求は高まっている

 白書データから、性能・効率性要求レベル及び保守性要求レベルに上昇傾向があることが分かりました。例えば、性能・効率性要求レベルが高いプロジェクトの割合が、前半で約37%であったものが、後半では約50%になっています。保守性要求レベルが高いプロジェクトの割合が、前半で約26%であったものが、後半では約49%になっています。また、信頼性、性能・効率性及び保守性の要求レベルを数値化して合計した品質要求レベル(総合値)にも上昇傾向が見られます。

3. 生産性を低下させないポイントは上流工程強化

 新規開発プロジェクトの中では、上流工程での不具合摘出比率が70%以上と高いグループでの生産性が低下していないことが分かりました。同グループではSLOC不具合密度が低く、信頼性も高い状態が続いています。

拡大図はこちら

ソフトウェア開発者に向けたメッセージ

1.定量的管理を推進し、生産性の経年推移を踏まえて生産性目標の設定を

 データによる裏付けがない高すぎる生産性目標を設定すると、開発プロジェクトのリスク増大や品質低下を招きかねません。生産性目標の設定や妥当性評価においては、自組織の生産性の経年推移(特に近年の推移)を踏まえて妥当な範囲を設定した上で評価する必要があります。

2.定量的管理を推進し、品質要求レベルに見合った生産性目標の設定を

 白書データによると、経年とともに品質要求レベルが高まっている傾向が見られます。また、品質要求レベルが高いとSLOC生産性が低くなる傾向が見られます。したがって、品質要求レベルに見合った生産性目標を設定することが望まれます。

3.業務分野経験等のスキルが高い要員の育成を

 上流工程での不具合摘出比率が70%以上と高いグループは、上流工程強化による作込み品質向上を狙った定量的管理が進んでいるだけでなく、要員の育成・確保が進んでいる模範的なグループであると考えられます。生産性向上に向けては、開発要員のスキルアップを図ることが重要と考えられます。

ソフトウェア開発側と発注側の双方が、データに裏付けられた共通認識を基にして開発プロジェクトを検討・計画することが重要です。本書の分析結果及びメッセージが、生産性目標や生産性向上方策を検討する際のご参考となることを願っています。

(※1)Source Lines of Code ソースコードの行数

ダウンロード