工数と工期(元『クモモの木のこと』)
■プロローグ
何を書くのか思いつかなかったので『クモモの木のこと』を仮題にしていたのだけれども、やっぱり何を書くのか決まっておらず、何となく適当に工数と工期について書こうと思いました。
■悩ましきこと
見積りをするときに、案外悩ましいのは、工数の出し方もそうですが、工数に紐づく工期だったりしませんか?
若干わかりやすく小さい切りの良い数字を例にします。
たとえば、あることを100人日と見積もった時にそれをスケジュールに当てはめる違和感。
確かに作業量的には100人日なんだけど、じゃあ、100人がその作業に従事すると1日で終わるか。
「そんなわけない」
そんじゃあ、50人で2日はどうでしょうか?
「これもなさそうだ」
20人で5日。
「微妙」
10人で10日。
「なんかイケそうな気がする」
単純な割り算・掛け算ではその通りなんだけど、適切な工期はどの位なんだろう?
スパッと計算で求められないのか?
■悩ましさの解消
結論から言うと、ある条件下では計算で出せます。
その条件とは。
・ある程度規模があること
・工程が要件定義からシステムテストであること
■計算式
工期 >2.6×工数^(1/3)
工期は工数の三乗根掛ける2.6より大きければほぼ大丈夫が、その答えとなります。
(※定数の2.6は2.4だったり2.7だったり他の数字だったりしますが、ここでは、JUASの調査結果を採用しました。成功したプロジェクトの8割はこの式に当てはまるそうです。)
さて、実際に数字を当てはめてみましょう。
条件はある程度の規模があるプロジェクトです。どのくらいが適当なのかはとりあえず置いときます。
見積り工数1000人月の場合:2.6×1000人月^(1/3) = 26か月
2年と2か月と出ました。
規模が大きすぎてピンと来なかったのであれば、10分の1にしてみます。
見積り工数100人月の場合:2.6×100人月^(1/3) = 約12か月
ほぼ1年ですね。
工数は10分の1なのに期間は半分に少し足りない程度になっています。
ここで違和感を感じるのであれば、単純な割り算と掛け算の呪縛から逃れられていないということです。
極端に小さな数字で試してみます。
見積り工数5人時の場合:2.6×5人時^(1/3) = 約4.4時
単位が小さいと違和感が大きくなりますね。5人時と言っているのに、4.4時ってどういうことでしょうか?
最低人数は1名なので工期が4.4時であれば、「1人×4.4時=4.4人時じゃないの? 見積もった5人時ってなんだったの?」と思いませんか?
なぜなのか? この答えは宿題とします。
最後に工数と工期の関係をグラフで表します。(表すまでもないですが、イメージがないと寂しいので)
■エピローグ
ここから山積みという話をしようと思いましたが、次の機会にしようと思います。工数の山積みで当てはめるとすんなり理解ができるんですよ。
ご拝読ありがとうございました。
あ、『クモモの木のこと』についてはggrksでよろしくお願いいたします。