[調査・レポート]
「総工数(人月)=0.97×画面数+0.26×バッチ数」─JUASソフトウェアメトリックス調査から
2008年12月22日(月)IT Leaders編集部
システム開発プロジェクトが寄せられた時、それがどの程度の工数を必要とするかを見積もることはとても重要だ。開発の「規模感」がイメージできれば、投入すべきリソースも見当がつくし、それはそのままコスト面での計画にも結び付く。
経験則に拠ったり、開発協力ベンダーが提示してきた概算に頼るという方法もあるが、世の中一般の開発プロジェクトから導き出した「指標」を参考にすることも検討したい。
日本情報システム・ユーザー協会(JUAS)が2004年度から毎年続けている「ソフトウェアメトリックス調査」では興味深い調査結果を発表している。スクラッチ開発、つまりパッケージソフトを利用せずに独自でゼロから開発することを前提とした場合、対象システムに実装する「画面数」「バッチ処理数」から、おおよその総工数が見積もれるというものだ。その計算式は以下で表される。
総工数(人月)= 0.97 × 画面数 + 0.26 × バッチ数
調査では、ファイル数、画面数、帳票数、バッチ数と総工数の間には何らかの相関関係があるのではという仮説を基に分析を加えている。最新の調査では上記5項目のデータがそろっている186のプロジェクトを対象に考察。総工数を目的変数とする回帰分析などの手法で有意性を検証した結果、上記の式が導き出された。
例えば画面数200、バッチ数100のの開発案件だとすると、0.97×200+0.26×100=220(人月)の総工数だと試算できるわけだ。
ちなみに総工数と最も高い相関を示す画面数だけで同様の式を立てると、総工数(人月)=1.09×画面数という結果が出たという。
同調査の中では、ソフトウェアの機能規模を測定する「ファンクションポイント(FP)法」にも着目し、総工数をFPに置き換えた場合の計算式にも言及している。その結果は以下の通りだ。
FP = 23.6 × 画面数 + 3.1 × バッチ数
工数の見積もりとしてFP法に馴染んでいる企業にとっては、この式も参考になるだろう。
もちろん、これらの式はすべての開発案件にジャストフィットするものではなく目安である。ただし、こうした指標を導き出す上では、分析対象となるプロジェクトが多いほど、より精緻な値として信頼性が高まるのは間違いない。現在、JUASは「ソフトウェアメトリックス調査2009」について11月30日を期限として回答を受け付けている。衆知を結集し、そしてその恩恵を受けるためにも参加してみてはどうだろうか。詳しくはJUASのWebサイトに案内があるので参照してほしい。