工数見積もりと作業日数のバッファーを係数で考える
タスクを洗い出してから、どれくらいのバッファーを持たせるか?は悩むところだと思います。
「アジャイルサムライ」では「当てずっぽうの奥義」と呼ばれるくらいなので、作るモノが確定しておらず、前提条件やプロセスが複雑になるほど、正確に見積もることは難しくなります。
ここでは「概算見積もり」と「係数」を使って見積もりを作っていく、個人的によく使っている簡易的な方法をまとめています。
対象としては、請負契約のウォーターフォールプロジェクトになりますが、基本的な考え方だけを参考にしてもらうのもいいと思います。
概算見積もり
ここではすべてのタスクと懸念点を洗い出して「もっと時間がかかったり、早くできるかもしれないけど、平均値としてはこれくらいかな?」と現時点で思える概算見積もりを作っておきます。
もし、事前に準備をしていて、他の人が一般的に提供していないものがあれば、今回は稼働していなくても付加価値として工数に上乗せしてもいいと思います。
ただし、要望にないものを「こうしたほうがいい」と個人的な理由で加える場合は、合意を得たうえで請求するようにします。
プロジェクトのトレードオフスライダーや、タスクを洗い出していて気がついた懸念点などは関係者と認識合わせをしておいてください。
「係数」から「作業バッファー」を計算する
係数は1.5倍を使います。
洗い出したタスクごとに1.5を掛けて、それを実質的な作業時間としてスケジュールに組み込んでいきます。
根拠というか理由としては3つ。
PMBOKの概算見積もり
プロジェクトマネジメントを体系化した「PMBOK」では見積もり精度について、以下のように定義されているようです。
- 超概算見積もり(-50%〜+100%):プロジェクトの初期段階で情報が少ない状態
- 概算見積もり(-25%〜+50%):プロジェクトが進んでいて情報は揃ってきているが、考慮漏れの可能性が残っている状態
- 確定見積もり(-5%〜+10%):抜け漏れなく、詳細まで検討できている状態
現在は概算見積もり段階なので、1.5倍に増える可能性があります。
タスクの洗い出しをしていない段階では2倍を想定しながら動く必要があります。
あとで「詳細に検討をしたら、想定の2倍かかることがわかりました」と伝えるよりも、先に「想定の2倍かかってしまう可能性を見込んで、こうしましょう」と伝えたほうが絶対的にかしこい選択です(自戒)。
エッセンシャル思考
書籍「エッセンシャル思考」内に「見積もりは1.5倍で考える」という内容があります。
「計画錯誤」(プランニング・ファラシー)というバイアスが紹介されていて、簡単に表現すると「人は作業時間を楽観的に見積もる傾向がある」ということです。
つまり、PMBOKには「-25%」の可能性も提示していますが、「+50%」に寄ってしまう可能性のほうが高く、注意する必要があると考えられます。
1日あたりの稼働時間
1人日は8時間稼働を前提にしていますが、以下のような仕事もあり、すべてをプロジェクトに当てることはできません。
- 社内ミーティング
- スキルアップ
- 休憩
- 社内業務(経理、採用、営業など)
- 緊急対応
一般的には役職が上がるごとにプロジェクト外の業務時間が増えていきます。
個人的に測ってみたことがありますが、案件割合は70~80%となっていて、単純に8時間稼働と考えていては時間がまったく足りなくなるのがわかります。
「ゆめみオープン・ハンドブック」の最優先業務と稼働が空いた場合の動き方には以下のような記載があり、考え方としてズレてはなさそうです。
プロジェクト・案件稼働のガイドライン
採用、育成などを行いつつも全社平均として80%以上のプロジェクト・案件稼働を確保することをガイドラインとする
80%の計算を見てみると、1.5倍で見積もりを計上しても、実質的なバッファーは0.25倍であることがわかります。
- 70%:
(100/70)=1.43
- 80%:
(100/80)=1.25
- 90%:
(100/90)=1.11
大枠のスケジュールを決める
係数1.5を使って、タスクごとの作業時間は決まりました。
あとは、公開日までの全体スケジュールを作成する必要があります。
ここで使うのは係数2.0です。
つまり、見積もりをしてきたプロジェクトと同じくらいの作業時間が他にも発生すると仮定しています。
1つのプロジェクトに集中できそうであれば、係数を1.3や1.5などに下げてもいいかもしれません。
注意点としては、係数を2.0以上にすると、全体のスケジュールが間伸びしすぎる傾向があることです。
希望している公開日に間に合わないこともありますし、請求タイミングの問題も出てくるかもしれません。
余裕を持たせるのも大切ですが、期間を集中して作りきる姿勢も大切になってくると思います。
まとめ
- タスクを洗い出して工数を出そう
- タスク工数×1.5を見積もりとして出そう
- 見積もり工数×2.0で全体スケジュールをざっくりと作っていこう
それぞれの係数は人によって変えたほうがいいので、計測した稼働時間や目標値を基に、自分なりのいいバランスを探してみてください。
Discussion