【バグ管理の作法】
エンピリカルソフトウェア工学に触れる
第1回:エンピリカルソフトウェア工学を学ぶ前に
著者:シンクイット編集部
公開日:2007/12/5(水)
エンピリカルソフトウェア工学とは
Think ITの12月の特集「バグ管理の作法」では、ソフトウェア開発では避けて通れないバグに焦点をあてている。その中で、水曜日は少し学術的な内容について取り上げる。11月の「新・言語進化論」では、「仕様記述言語」について解説した。今回は「エンピリカルソフトウェア工学(Empirical Software Engineering)」について取り上げてみたい。
近年のソフトウェア開発は急激な成長をみせ、いろいろな手法や考え方が導入されつつも、さまざまな問題を抱えている。特に現在では、ソフトウェアに生産性と高品質の両方が求められており、読者の皆さんもその実現に常に追われているのではないだろうか。
例えば、人月計算や属人性に頼るソフトウェア開発には限界がみえている。ただそれを手をこまねいてみているだけでは、ソフトウェア産業にとって、プラスとなるはずもない。そこで、業界全体でさまざまなプロジェクトを進め、これらの課題に取り組んでいる。
その中でもソフトウェア開発について「高度かつ安全なコンピュータのソフトウェアを短期間で設計するための研究などを行う(「ソフトウェア工学 - Wikipedia」)」分野がソフトウェア工学(Software engineering)である。
エンピリカルソフトウェア工学は、そのようなソフトウェア工学の1つだ。研究というと少し開発の現場から遠い話のように感じる方もいらっしゃるだろう。しかし、エンピリカルソフトウェア工学は、実際の開発現場のデータからソフトウェア開発の生産性と信頼性を高める研究であり、現場抜きには語れないのである。
これはその言葉にもあらわれている。エンピリカル(Empirical)とは「Experimental + Experienced」を足し合わせた言葉で、「Experimentalとは実験に基づく」「Experiencedは経験に富む」という意味である。
エンピリカルソフトウェア工学は、実証的なソフトウェア工学ともいわれ、開発現場のデータからのアプローチが、ソフトウェア開発のさまざまな課題を解決する1つの方策として注目されているのである。
では次に、エンピリカルソフトウェア工学を推進しているプロジェクト「EASEプロジェクト(http://www.empirical.jp/)」について紹介する。 次のページ