ブログ一覧に戻る
マネジメント

工数見積もりのコツ:精度を2倍に上げる7つの実践テクニック

Ganty Team

「見積もりの2倍かかった」「いつも工数が足りなくなる」。工数見積もりの精度に悩むプロジェクトマネージャーやエンジニアは非常に多いです。ソフトウェア業界の調査では、プロジェクトの60%以上が当初の工数見積もりを超過しており、超過率の平均は約30%に達します。しかし、工数見積もりのコツを押さえれば、精度は確実に向上します。この記事では、工数見積もりのコツを7つの実践テクニックとして体系的に紹介します。

なぜ工数見積もりは外れるのか

工数見積もりのコツを学ぶ前に、なぜ見積もりが外れやすいのかを理解しておきましょう。主な原因は3つあります。

  • 計画の誤謬(Planning Fallacy):ノーベル賞受賞者のダニエル・カーネマンが提唱した認知バイアスで、人間はタスクの所要時間を楽観的に見積もる傾向があります。過去に同様のタスクで遅延した経験があっても、「今回は違う」と考えてしまうのです。
  • 不確実性の過小評価:タスクに含まれる未知の要素(技術的な障壁、外部依存、仕様の曖昧さ)を正しく認識できていないと、実際の作業時間が大幅に増加します。
  • 割り込み作業の無視:会議、問い合わせ対応、別プロジェクトのサポートなど、計画外の作業が1日あたり1から2時間発生するのが現実です。「1日8時間」を丸々開発に使えると仮定するのは非現実的です。

工数見積もりのコツ1:類推法で過去の実績を活用する

最も信頼性が高い工数見積もりのコツは、過去の類似プロジェクトの実績データを基準にすることです。「前回のECサイト構築では商品一覧ページに5人日かかった」というデータがあれば、類似のページ実装の見積もりに直接活用できます。

ポイントは、見積もりの根拠を「誰がいつ何日かかったか」のレベルで記録しておくことです。プロジェクト完了後に実績工数をデータベース化しておくと、組織全体の見積もり精度が継続的に向上します。

工数見積もりのコツ2:3点見積もり(PERT法)を使う

単一の値ではなく、3つの値を使って見積もるのがPERT法です。

  • 楽観値(O):すべてがうまくいった場合の最短期間
  • 最頻値(M):最も起こりそうな期間
  • 悲観値(P):問題が多発した場合の最長期間

期待値 = (O + 4M + P) / 6 で算出します。例えば、API連携機能の実装で楽観値3日、最頻値5日、悲観値14日なら、期待値は(3 + 20 + 14) / 6 = 約6.2日です。さらに標準偏差 = (P - O) / 6 = 約1.8日を算出すれば、「6.2日プラスマイナス1.8日」という幅のある見積もりが可能になります。

工数見積もりのコツ3:タスクの粒度を1日から3日に分解する

「フロントエンド開発:20人日」のような粗い見積もりは精度が低くなります。工数見積もりのコツとして、1タスクあたり1日から3日の粒度まで分解してから見積もることが重要です。

例えば「フロントエンド開発」を分解すると以下のようになります。

  • トップページ実装:3日
  • 商品一覧ページ実装:2日
  • 商品詳細ページ実装:3日
  • カート機能実装:3日
  • 決済フロー実装:4日
  • レスポンシブ対応:3日
  • ブラウザテスト:2日

合計20日で粗い見積もりと一致しますが、各タスクの根拠が明確になり、どこにリスクがあるかが見えるようになります。

工数見積もりのコツ4:稼働率係数を掛ける

開発メンバーが1日8時間すべてをプロジェクトに使えることはほぼありません。会議、コードレビュー、問い合わせ対応、自己学習などで、実際の稼働率は60から75%程度です。見積もった工数に稼働率係数(例:0.7)を掛けることで、より現実的なスケジュールが得られます。

具体的には、純粋な作業時間が5人日の場合、5 / 0.7 = 約7.1人日がカレンダー上の所要日数になります。このシンプルな計算を追加するだけで、見積もり精度は大きく改善します。

工数見積もりのコツ5:プランニングポーカーでチームの合意を取る

アジャイル開発で広く使われるプランニングポーカーは、ウォーターフォール型のプロジェクトでも有効です。チームメンバーが各自の見積もりを同時に提示し、差異がある場合はその理由を議論します。

この手法のメリットは、経験豊富なメンバーの見積もりに引きずられる「アンカリング効果」を防げることです。全員が独立して見積もった後に議論することで、多角的な視点が反映された見積もりになります。3回のラウンドで意見が収束しない場合は、最も悲観的な値を採用するのが安全です。

工数見積もりのコツ6:バッファの設定方法を工夫する

すべてのタスクに一律20%のバッファを加えるのは非効率です。推奨される方法は以下の通りです。

  • 経験のあるタスク:見積もりの10%をバッファとして追加
  • 類似経験はあるが差異があるタスク:見積もりの20%を追加
  • 未経験のタスク:見積もりの30から50%を追加

CCPM(クリティカルチェーンプロジェクトマネジメント)の考え方を取り入れ、個々のタスクのバッファを最小限にし、プロジェクト全体のバッファをクリティカルパスの末尾に集約する方法も効果的です。これにより、個々の遅延がバッファに吸収され、全体の納期を守りやすくなります。

工数見積もりのコツ7:見積もり結果を振り返る習慣をつける

プロジェクト完了後に、見積もりと実績を比較する振り返りの場を設けましょう。重要なのは「なぜ差異が生じたか」を分析することです。技術的な想定外が原因だったのか、要件の追加が原因だったのか、見積もり方法自体に問題があったのかを分類します。

この振り返りデータを蓄積すると、「自社のプロジェクトでは平均して見積もりの1.3倍かかる」といった傾向が見えてきます。この係数を次のプロジェクトの見積もりに反映させることで、組織的に見積もり精度が向上していきます。

工数見積もりの精度を支えるツール活用

工数見積もりのコツを実践するには、見積もりと実績を記録・比較できるツールが欠かせません。Gantyでは、各タスクに見積もり工数を設定し、ガントチャート上でスケジュールの妥当性を視覚的に確認できます。AIによるタスク自動生成機能を使えば、タスクの洗い出しと初期見積もりを短時間で行え、そこから精査する進め方が可能です。無料プランで今すぐ試してみてください。