COCOMO(工数と工期)
COCOMO自体はプログラムステップから工数を出す見積もり手法だが、COCOMOには工数から工期を算出する計算式があるので、そいつについて。 式は 工期(月)=α×(工数(人月)の3乗根) だそうな。 なお、このの工数と工期はプロジェクト全体(要件定義からシステムテストまで)が入るので注意。 この式のαについては「日本情報システムユーザ協会(JUAS)」が収集・計測したところ、「2.7」が妥当らしい。 本来、αの部分は「プロジェクトのメンバの能力による適当な係数」と「正規分布を想定した時間経過ごとの要員割り当て」をもとに割り出という手順になっている。 (要員割り当てはαだけではなく式全体に影響がある、と思う) とはいえ、JUASでは実際のプロジェクトをいくつも収集したというのだから、「2.7」は日本のプロジェクトには使ってもよいと思う。 αを2.7としたときの各人月に対する工期は以下のとおり。 1人月 2.7ヶ月 2人月 約3.4ヵ月 5人月 約4.6ヶ月 10人月 約5.8ヶ月 20人月 約7.3ヶ月 50人月 約9.9ヶ月 100人月 約12.5ヶ月 うーむ、工程が要件定義からシステムテストまで入ってると・・・。 10人月以下あたりはちょっと長い印象。 20人月以上になるとこれくらいで適当かなぁという印象。 思うに10人月以下の場合は一人が担当する範囲が広い(プログラム設計者が実装もして、単体テストもして、結合テストもしてetc)な場合が多い、というか実際自分のところではそうなので、感覚と違うのだと思われる。 要員が少なければ各工程ごとの要員割り当てが正規分布どころか、一直線になるんだからこの式に当てはめるて違和感がでるのは、納得感あり。 うーん、大きな工数になることがない限り使う機会が少ない、かな? ■参考 ThinkIT 日本情報システムユーザ協会