見積り手法CoBRAの魅力
見積り手法というとCOCOMOが有名で、大量に集めたデータから統計的に見積もりをするものです。しかし、企業内で実践するにはデータ数をそろえることが大変です。また、すでに公開されているモデル式で見積もるには、パラメータをどう与えるか人間がモデル式に合わせる努力が必要です。
そこで、似たプロジェクトから類推する協調フィルタリング(リンク先はEASEプロジェクト)と言う方法が提案されています。この方式は、データに抜けがあっても見積もることができることもあり、非常に魅力的です。
しかし、そもそも見積もり精度を高めるのは、ソフトウェア開発プロセスを改善するためで、その処理系である開発者の能力を高めたいという気持ちがあります。それは、COCOMOのパラメータを上手に決定できるということや、良いアルゴリズムを入手するということも含まれるのですが、現場の人間としてはなにか寂しいものを感じていました。
先日(といってもかなり前ですが)のSEC設立三周年成果報告会で講演を聞いた見積り手法CoBRAはこの不満を解決するものでした(リンク先はすべてIPA)。
このCoBRAというのはドイツフラウンホーファ協会IESE(実験的ソフトウェア工学研究所)で開発された見積もり法です。私も名前だけは聞いたことがありましたが、人間の経験を生かすことができる見積もり法であるとは、きちんと理解していませんでした。
モデル式は以下のようにあらわされます。
工数=α×規模(1+∑COi)
この式でCOiと言うのは要因影響分のオーバヘッド分で確率分布で表現されるものです。
COはコストオーバヘッドの略で、式からも分かるように「この要因があればどの程度の比率で作業が増えるか」を表します。「XXなときはYY%ほど工数がオーバする」という経験が式であらわされているのです。講演(リンク先はIPA)によると、この要因は複数のPMによるブレインストーミングで決められるようです。
これはモデル化とプロセス改善のあるべき姿です。モデル化の目的には、予測のほか、人への伝達、議論、教育なども含まれます。CoBRAを使うことで、それぞれのPMがどのように考え、どのように対処したか、それがこのモデル式の議論の中で明確になるでしょう。また、モデルから大きく外れることがあれば、それが頻繁にある要因か、対処が適正に行われたか、ほかに対処法はなかったかなど、多くのコミュニケーションが行われると思います。そして、このようなコミュニケーションは、プロセス改善の目的である組織の能力を高めることになるでしょう。このようにCoBRAは魅力的な見積り手法だと思います。
ことしは、あまり活動できませんでしたが、来年は、こんな観点をまとめて、コミュニケーションツールとしてのメトリクスという観点で、エンピリカルソフトウェア工学の実践の講演をする予定です。
« ひたむきであること | トップページ | 早起きのご褒美 »
「ソフトウェア」カテゴリの記事
- One fact in one placeとチケット駆動開発 - Software Processes are Software, Too -(2021.12.21)
- マルチスレッド処理と進捗管理・配員・作業分割/割り当て- Software Processes are Software, Too -(2021.12.20)
- カプセル化と組織パターン - Software Processes are Software, Too -(2021.12.20)
- 論文研修会(導入編)- 論理的思考のすすめ -(2019.12.01)
- デブサミ関西でNode-REDとペンギンと勇気の話をしました #devsumiB(2018.10.28)
「プログラミング」カテゴリの記事
- Greedy algorithmと2割8割の法則 - Software Processes are Software, Too -(2021.12.12)
- 論理的に考え伝える – SEA関西「開発現場で役立つ論文の書き方のお話」 -(2021.05.09)
- 論文研修会(導入編)- 論理的思考のすすめ -(2019.12.01)
- スクリプト言語入門 - シェル芸のすすめ - 第2回クラウド勉強会(2019.01.27)
- デブサミ関西でNode-REDとペンギンと勇気の話をしました #devsumiB(2018.10.28)
この記事へのコメントは終了しました。
コメント