工数見積もりのやり方|4つの技法とバッファの決め方・精度の上げ方

工数見積もりとは、作業に必要な延べ作業量(人日・人月)を予測することです。 精度を決めるのは勘ではなく、①案件のフェーズに合った技法を選ぶこと、②バッファをタスクごとに隠さずまとめて持つこと、の2点です。この記事では4つの見積技法の使い分け、三点見積もりの計算式、根拠の示し方を解説します。

4つの見積技法と使い分け

技法 考え方 精度 使うフェーズ
類推見積もり 過去の似た案件の実績から当てる 低い 企画・概算
係数(パラメトリック)見積もり 単価×数量で計算する(画面数×2人日など) 提案・予算取り
ボトムアップ見積もり 作業に分解して積み上げる 高い 発注前・着手前
三点見積もり 楽観・最頻・悲観の3値から期待値を出す 中〜高 不確実性が大きい作業
精度は「技法の優劣」ではなく「情報量」で決まる。作業が分解できていない企画段階でボトムアップを試みても、精度は上がらず時間だけ消える。フェーズが進むほど下の技法へ切り替えるのが正しい進め方。

類推見積もりは最も速く、過去実績が蓄積されているほど当たります。逆に言えば、実績を記録していない組織では最初から使えません。案件が終わるたびに「見積もり工数」と「実績工数」を1行だけでも残しておくと、次回の見積もりが根拠を持ちます。

係数見積もりは「画面1本あたり2人日」「記事1本あたり0.5人日」のように単価を決めて掛け算する方法です。金額の桁を早く出したいときに便利ですが、単価そのものが過去実績から来ている点で類推見積もりと同じ弱点を持ちます。

ボトムアップ見積もりは分解の粒度で決まる

ボトムアップ見積もりは作業を洗い出して積み上げる方法で、発注前の見積もりはこれが基本です。分解の土台になるのがWBSで、1タスクを1人日〜10人日程度に収める「8/80ルール」が粒度の目安になります(WBSの作り方)。

🧰 関連ツール: 洗い出したタスクの人日を入力すると、人月換算・金額・バッファ込みの工数を計算できる工数見積計算ツールがあります。タスク分解から工程表とガントチャートまで一気に作るならWBS作成ツールへ。

分解が粗いまま積み上げても精度は上がりません。「開発一式 40人日」という行が1つあるだけで、その40人日には根拠がなく、実質は類推見積もりです。分解できていない部分が、そのまま見積もりの不確実性になります。

三点見積もり(PERT)の計算式

不確実性の大きい作業では、1つの数字を出すより3つの数字から期待値を出す方が現実的です。

期待値 =(楽観値 + 最頻値 × 4 + 悲観値)÷ 6
標準偏差 =(悲観値 − 楽観値)÷ 6

たとえば「うまくいけば3人日、通常は5人日、最悪10人日」の作業なら、期待値は(3 + 5×4 + 10)÷ 6 = 5.5人日です。単純平均の6人日より最頻値に寄り、悲観値の重みは抑えられます。標準偏差は(10 − 3)÷ 6 ≈ 1.2人日なので、「5.5人日±1.2人日に収まる可能性が高い」と幅で報告できます。

この「幅で答える」形は、発注元や上司への説明でも有効です。1つの数字で答えると、その数字が約束として一人歩きします。

バッファはタスクごとに積まない

見積もりで最も差が出るのがバッファの持ち方です。各タスクに少しずつ余裕を隠すのは、最も効率の悪い方法です。

  • 隠したバッファは見えないので、全体でいくら余裕があるのか誰も把握できない
  • 余裕があるタスクは、その余裕を使い切るまで作業が延びる(パーキンソンの法則)
  • 結果として、バッファは消えているのに遅れだけが残る

正しいのは、各タスクは正味工数(バッファなし)で見積もり、バッファはプロジェクト末尾にまとめて1本持つやり方です。全体の10〜20%が目安で、これならバッファの残量が可視化され、どのタスクが食い潰したかも追えます。

不確実性の大きさに応じて必要量を計算したい場合は、SRSS法(二乗和平方根)が使えます。タスクごとに「悲観値 − 平均値」を出し、それらを二乗して合計し、平方根を取った値をバッファにします。悲観値を単純に足し合わせるより小さくなり、不確実性ゼロのタスクはバッファを増やしません。

工数と期間を混同しない

工数(人日)÷ 投入人数÷ 稼働率= 期間(営業日)

10人日の作業を1人で担当し、その人が他案件と兼務で稼働率50%なら、期間は20営業日です。ここに土日祝とレビュー待ちが加わります。工数から期間へ落とすときは、投入人数・稼働率・休日・待ち時間の4つを必ず通します。

依存関係のある作業が連なる場合は、最も長い経路(クリティカルパス)が全体の期間を決めます。人を増やしてもこの経路上の作業が短くならなければ、納期は縮みません。受注から納品までのリードタイムを短縮したいときは、まずこの経路を特定します。

よくある失敗

  • 希望納期から逆算して工数を決める — 「来月末までなので20人日で」は見積もりではなく割り当てです。まず必要工数を出し、それから納期とのギャップを範囲削減か増員で埋めます
  • 見積もりの前提を書き残さない — 「レビューは1回」「テストデータは先方支給」といった前提が抜けると、増えた作業を追加費用として説明できなくなります。前提と除外事項は見積書に明記します
  • 担当者に「何人日?」とだけ聞く — 経験の浅いメンバーほど楽観値を答えます。「うまくいけば/通常/最悪」の3つを聞けば、三点見積もりの材料が同時に手に入ります
  • 実績を記録せずに次の見積もりに進む — 見積もり精度は記録がなければ永久に上がりません。案件ごとに見積もりと実績の差を残し、予実管理として振り返るところまでが見積もりの工程です

見積もりが固まったら、社内の承認を通す段階に移ります。費用対効果の示し方は稟議書の書き方、ベンダーに見積もりを依頼する場合はRFP(提案依頼書)の書き方を参照してください。実際の数字を置いてみるなら、工数見積計算ツールでバッファ込みの工数と金額を試算するのが早道です。

よくある質問

工数見積もりの方法にはどんな種類がありますか?

実務で使うのは主に4つです。過去の似た案件から当てる「類推見積もり」、単価×数量で計算する「係数(パラメトリック)見積もり」、作業を分解して積み上げる「ボトムアップ見積もり」、楽観値・最頻値・悲観値から期待値を出す「三点見積もり」です。企画段階は類推、発注前はボトムアップ、というように工程が進むほど精度の高い技法へ切り替えます。

見積もりのバッファは何%積めばいいですか?

全体に対して10〜20%を目安に、各タスクではなくプロジェクト末尾にまとめて持つのが定石です。タスクごとにバッファを隠すと、余裕がある分だけ作業が延びて(パーキンソンの法則)、積んだバッファが消えたまま全体の遅れだけが残ります。不確実性の大きいタスクが多い案件では、SRSS法(差の二乗和の平方根)で必要量を計算する方法もあります。

工数(人日)と期間(暦日)は何が違いますか?

工数は「延べ作業量」、期間は「カレンダー上の日数」です。10人日の作業を2人で分担すれば期間は約5営業日ですが、工数は10人日のままです。また土日祝・他案件との兼務・レビュー待ちが入るため、1人が1日に投入できる工数は1人日より小さくなります。工数をそのまま期間として約束すると、ほぼ必ず遅れます。