TOPシステム開発> 【バグ管理の作法】エンピリカルソフトウェア工学に触れる> 第4回:法則を発見し、開発支援へつなげるアプローチの事例 (3/3)

【バグ管理の作法】エンピリカルソフトウェア工学に触れる

【バグ管理の作法】
エンピリカルソフトウェア工学に触れる

第4回:法則を発見し、開発支援へつなげるアプローチの事例

著者:奈良先端科学技術大学院大学 松本 健一

公開日:2007/12/26(水)

身近にあるエンピリカルアプローチ

今回の連載もそろそろ終わりに近づいてきました。最後に、少し脱線気味に、エンピリカルアプローチについて思うところを書こうと思います。

ソフトウェア開発におけるエンピリカルアプローチ、あるいはもう少し広くソフトウェアの生産性や品質の向上を目的とした活動とはどういうものか、身近なものにたとえることができないかと考えたことがあり、思い至ったのが「ダイエット」でした。

ダイエットの方法というのは世の中に数え切れないほどあり、方法ごとに成功例も数多く紹介されています。しかしその一方で、万人に有効な方法はないようで、頑張ってはみたけれど効果が見られずあきらめたという人は周りにたくさんおられます。

また、例えその人にマッチした方法があったとしても、効果が出るまでにはある程度時間がかかり、目に見える効果がなくても努力を継続しなければいけません。そして何よりも、実行した方がよいに決まっているが、今すぐ実行しないからといって、命にかかわるわけではなく、現状のままでもそれなりに生きていくことができるので、結局先延ばしになってしまいます。

ましてや、若い時から健康と体力に自信のある人に勧めるとなると、これは容易なことではありません。いかがでしょうか、ソフトウェアの生産性や品質の向上に取り組もうとした時、同じような思いが頭をよぎらないでしょうか。

折しも、「計るだけダイエット」が注目を集めています。開発データを計測するだけでソフトウェアの生産性や品質が向上するのであれば何の苦労もありませんが、具体的な実証データや実績データなしでの議論に限界があるのも確かです。

今回の連載ではいくつかの事例を紹介しましたが、それは「広範な開発プロジェクトで有効な方法を示すことができないので、その代わりに比較的うまくいった例を示します。よければそれらを自らの組織やプロジェクト向けにカスタマイズしてみてください。ただし、うまくいかないこともあります」というぐらいの意味です。

ベストプラクティスと呼ばれるものの中には、「読者の皆さんの組織やプロジェクトにも必ず適用できますよ」とか、「適用できないのはあなたのやり方が間違っているからですよ」などというものがありますが、そういったつもりは毛頭ありません。まったく使いものにならないものばかりだったかもしれませんが、もしも、一部だけでもアイデアだけでも、皆さんの組織やプロジェクトで参考になるものがあったのなら、インスパイアされるものがあったのなら幸いです。

新たな取り組みのはじまり

現在、エンピリカルアプローチの研究は従来の開発者中心の議論から、発注者やユーザまでを巻き込んだ議論へと広がりつつあります。2007年8月からは、文部科学省・次世代IT基盤構築のための研究開発の一環として、「ソフトウェア構築状況の可視化技術の普及(略称STAGEプロジェクト)」が5年計画ではじまりました。

STAGEプロジェクトの概要
STAGEプロジェクトの概要

STAGEプロジェクトでは、ソフトウェア開発状況をあらわすエンピリカルデータを「ソフトウェアタグ」として扱いやすい形態にし、ソフトウェア開発者、発注者、ユーザで共有し活用することで、ソフトウェアを安心して作り使えるIT社会の実現に向けた技術開発が進められている。

このように、エンピリカルアプローチは今後も研究が進み、さらにソフトウェア開発を発展させていくであろう。これらの成果についてもぜひ注目していただきたい。最後に、ここまでお付き合いいただいた読者の皆様に感謝し、本連載を締めくくらせていただく。 タイトルへ戻る




奈良先端科学技術大学院大学 松本 健一
著者プロフィール
著者:奈良先端科学技術大学院大学 松本 健一
1989年5月大阪大学・基礎工学部・情報工学科・助手、1993年4月に奈良先端科学技術大学院大学・情報科学研究科・助教授、2001年4月から同大学教授。ソフトウェア工学、特に、ソフトウェアメトリクスの研究に従事。2007年8月から、ソフトウェアタグの研究開発を目的とした文部科学省STAGEプロジェクト研究代表者。
http://se.naist.jp/
http://www.empirical.jp/


INDEX
第4回:法則を発見し、開発支援へつなげるアプローチの事例
  「法則の発見」と「支援の実現」の事例
  バージョン間にまたがったコードクローン分析
身近にあるエンピリカルアプローチ