【バグ管理の作法】
エンピリカルソフトウェア工学に触れる
第2回:開発者の実務を軽減するエンピリカルアプローチ
著者:奈良先端科学技術大学院大学 松本 健一
公開日:2007/12/12(水)
ソフトウェア開発プロジェクト成功率
2003年と少し前の調査であるが、日経コンピュータが12,546社を対象に実施したアンケート結果(回答率13.9%)によると、ソフトウェア開発プロジェクトの成功率は品質面で46%、コスト面で76%、納期面で55%である。
ここで、「プロジェクトの成功」とは、開発当初の目標の達成を意味している。例えば、コスト目標を優先するあまり、品質と納期が犠牲となって失敗に終わるということもある。
実際、この調査結果では「品質」「コスト」「納期」のすべての面で成功したプロジェクトとなるとわずか26.7%に過ぎず、コスト面での成功率が高いことから、品質や納期よりもコストが重視される傾向にあるといえよう。なお、経済産業省による組込みソフトウェア開発を対象とした別の調査では、品質面での成功率が非常に高く、組込みソフトウェア開発では、コストや納期よりも品質が優先される傾向にあるようだ。
求められているエンピリカルアプローチ
こうした事態を日本政府も憂慮しており、経済産業省・産業構造審議会・情報経済分科会、情報サービス・ソフトウェア小委員会が2006年9月に発表した報告書「情報サービス・ソフトウェア産業維新〜魅力ある情報サービス・ソフトウェア産業の実現に向けて〜」でも、
- ソフトウェアの信頼性・生産性の向上という観点からは、プロジェクトの計画、実装、試験、運用段階における定量的な運営手法などのソフトウェアエンジニアリングに関する実証的な研究を産学官が連携して進めるとともに、その普及に努めること
- 新しい手法の現場への導入を促進するためには、理論やガイドラインのみでは十分ではなく、実際の現場へ適用して成功例を示すことや、現場からのフィードバックを得て、さらに理論等を改善していくこと
が重要であると指摘している。
ここで指摘されている「定量的な運用手法」「実証的な研究」「成功例を示す」「現場からのフィードバック」といった表現は、まさにソフトウェア工学におけるエンピリカルなアプローチに属するものである。
このように、エンピリカルアプローチはいまやソフトウェア開発において、求められているアプローチなのである。
海外でも
国際的にもエンピリカルアプローチは注目されている。2007年9月にスペインで開催された国際会議「Empirical Software Engineering and Measurement 2007(ESEM 2007)」では、大学や企業から44編の論文が発表された。
その中の1つ「Usage and Perceptions of Agile Software Development in an Industrial Context: An Exploratory Study」は、Microsoft Researchの研究者によるもので、マイクロソフトにおけるアジャイル開発の現状と今後の課題を実証データに基づき定量的に議論している。
このように、海外においても多くの取り組みがなされており、次世代のソフトウェア開発には、欠かせない1つとなるといえよう。
なお、44編のうち5編は日本からの発表である。「バグを含む可能性の高いソフトウェアモジュールを特定する新技術」に関する筆者らの研究グループの論文が最優秀論文賞を受賞したなど、日本勢も国際的に頑張っている。
さて、次回以降ではエンピリカルアプローチの3段階と分析の粒度を軸に、最新の研究成果を紹介しいこう。
タイトルへ戻る