無料ブログはココログ

« 2007年11月 | トップページ | 2008年1月 »

見積り手法CoBRAの魅力

見積り手法というとCOCOMOが有名で、大量に集めたデータから統計的に見積もりをするものです。しかし、企業内で実践するにはデータ数をそろえることが大変です。また、すでに公開されているモデル式で見積もるには、パラメータをどう与えるか人間がモデル式に合わせる努力が必要です。

そこで、似たプロジェクトから類推する協調フィルタリング(リンク先はEASEプロジェクト)と言う方法が提案されています。この方式は、データに抜けがあっても見積もることができることもあり、非常に魅力的です。

しかし、そもそも見積もり精度を高めるのは、ソフトウェア開発プロセスを改善するためで、その処理系である開発者の能力を高めたいという気持ちがあります。それは、COCOMOのパラメータを上手に決定できるということや、良いアルゴリズムを入手するということも含まれるのですが、現場の人間としてはなにか寂しいものを感じていました。

先日(といってもかなり前ですが)のSEC設立三周年成果報告会講演を聞いた見積り手法CoBRAはこの不満を解決するものでした(リンク先はすべてIPA)。

このCoBRAというのはドイツフラウンホーファ協会IESE(実験的ソフトウェア工学研究所)で開発された見積もり法です。私も名前だけは聞いたことがありましたが、人間の経験を生かすことができる見積もり法であるとは、きちんと理解していませんでした。

モデル式は以下のようにあらわされます。

  工数=α×規模(1+∑COi)

この式でCOiと言うのは要因影響分のオーバヘッド分で確率分布で表現されるものです。

COはコストオーバヘッドの略で、式からも分かるように「この要因があればどの程度の比率で作業が増えるか」を表します。「XXなときはYY%ほど工数がオーバする」という経験が式であらわされているのです。講演(リンク先はIPA)によると、この要因は複数のPMによるブレインストーミングで決められるようです。

これはモデル化とプロセス改善のあるべき姿です。モデル化の目的には、予測のほか、人への伝達、議論、教育なども含まれます。CoBRAを使うことで、それぞれのPMがどのように考え、どのように対処したか、それがこのモデル式の議論の中で明確になるでしょう。また、モデルから大きく外れることがあれば、それが頻繁にある要因か、対処が適正に行われたか、ほかに対処法はなかったかなど、多くのコミュニケーションが行われると思います。そして、このようなコミュニケーションは、プロセス改善の目的である組織の能力を高めることになるでしょう。このようにCoBRAは魅力的な見積り手法だと思います。

ことしは、あまり活動できませんでしたが、来年は、こんな観点をまとめて、コミュニケーションツールとしてのメトリクスという観点で、エンピリカルソフトウェア工学の実践の講演をする予定です。

ひたむきであること

今日は同じ会社の有名人Aさんのお話を聞いてきました。内容も面白いし、トークも最高でした。

以前から楽しそうにされている様子がうらやましく、人間関係や仕事の内容に苦しみながら仕事をしている自分とどう違うのだろうと、以前から気になっていました。

今日のお話を聞いているうちに、先日、とある方からうかがった言葉を思い出しました。それは、お寺の掲示板に書かれていたもので、たしかこんな感じでした。

一生懸命なら喜ぶ。中途半端なら不満をいう。さぼっていれば言い訳をする。

いつも楽しそうなAさんはよく働きます。仕事好きというよりは、理想に向かって、ただひたむきに仕事をされます。ときどき愚痴も言われますが、笑いながら夢を語られるのです。

そういえば私も、若いころは良く働きました。昔は楽しかったなどとおじさんのような(というかおじさんそのものの?)言葉を言ったりしますが、昔は楽しいからというよりは、より良くなるように一生懸命でした。だから、身体は大変でも喜びを感じることができたのかもしれません。

色々と不満なことがあっても、なすべきことにひたむきに働くことが大事なのだと思いました。ソフトウェア開発は本来楽しいものなのですから、、、

« 2007年11月 | トップページ | 2008年1月 »