皆さん工数見積もりってどうやってますか?
私は今まで完全に勘で見積もっていました。
特に根拠のない見積もりをしていたので、実際には見積もり時間の1.5~2倍くらいかかってしまうこともありました。
さすがにこのままではまずいと思い、工数見積もりの方法をググってみたところ、PERT法なるものがあることを知りました。
ちょうど仕事で小規模なタスクがあったので、さっそくPERT法を試してみようと思いました。
PERT法は本来であればPERT図というものを作るのですが、今回は小規模なタスクのため、工数見積もりの部分だけを試してみました。
PERT法における工数見積もり
PERT法における工数見積もりの特徴として、各タスクに4つの時間を見積もります。
楽観的時間 (O)
タスク完了に必要な最小時間。先行する作業やイベントが予想よりうまく進行した場合の見積。
悲観的時間 (P)
タスク完了に必要な最大時間。プロジェクトが崩壊するほどではないが、全てが予想より悪く進行した場合の見積。
最確時間 (M)
タスク完了に必要と思われる最もそれらしい見積時間。全てが普通に進行した場合の見積。
期待時間 (TE)
タスク完了に要する時間の最良見積もり値。全てが普通に進行すると仮定する(そのタスクを何度も繰り返し実施したときの平均時間)。
TE = (O + 4M + P) ÷ 6
期待時間を出す式が興味深いですね。
期待時間 = (楽観的時間 + 4 × 最確時間 + 悲観的時間) ÷ 6
最確時間に重みをつけているんですね。
実際にやってみて
これらの時間を見積もってみたところ、今まで私は楽観的時間に近い時間で見積もっていたことがわかりました。
エンジニアは工数を少なく見積もりがちという話を聞いたことがあります。
まさか自分がやっているとは思いもしませんでした。
また、悲観的時間を見積もるのが難しかったですね。
どのくらい悪い事態を想定するかは人によって基準が違うのではないかと思いました。
実際にPERT法の一部分を試してみて、今までの工数見積もりの甘さを痛感しました。
自分の工数見積もりを見直す良い機会になりました。
偉大な先人たちが編み出した知識はこれからも積極的に使っていきたいですね。