はじめに:なぜかいつも見積もりが外れる…
前回の記事では、プロジェクトを計画通りに進めるための「進捗管理」について解説しました。
しかし、そもそも最初の見積もりが甘いと、どれだけ進捗管理を頑張っても、納期に間に合わない、手戻りが増える…といった問題にぶつかってしまいます。
- 「ざっくりでいいから、いつまでに終わりそう?」と言われた結果、大幅に納期が遅れた
- 見積もりを1人で考えてしまい、タスクの抜け漏れがたくさんあった
こんな経験、ありませんか?
この記事では、僕と同じPM初心者や、見積もりに苦手意識があるエンジニアに向けて、見積もりが外れる原因と、その精度を高めるための3つのコツを解説します。
1. なぜ見積もりはいつも外れてしまうのか?
見積もりが外れる原因は、決してあなたの能力不足ではありません。主な原因は、以下の2つに集約されます。
原因①:タスクの「抜け漏れ」
「この機能の実装なら3日くらいかな」とざっくり見積もると、設計やテスト、レビューなど、見落としがちなタスクがごっそり抜け落ちてしまいます。
-
本で学んだこと:
- タスクの洗い出しは、**WBS(作業分解)**が最も効果的な方法である。
- 1つひとつのタスクを、**「1日以下で終わるレベル」**まで細かく分解することが、抜け漏れを防ぐカギとなる。
原因②:「不確実性」への考慮不足
プロジェクトには、必ず予期せぬトラブルやリスクが潜んでいます。しかし、見積もり段階ではそうした「不確実性」を考慮に入れず、楽観的なスケジュールを立ててしまいがちです。
-
例:
- 外部APIの仕様変更
- 開発環境のセットアップに時間がかかる
- 担当者の急な体調不良や休暇
2. 見積もり精度を上げる3つのコツ
見積もりの精度を上げるには、上記2つの原因を解消することが重要です。僕が本から学んだ、実践的な3つのコツを紹介します。
コツ①:タスクを徹底的に分解する
まず、WBSを徹底的に活用し、タスクを最小単位まで分解します。
具体例:
「ユーザー登録機能の実装」というタスクを依頼された場合、以下のように分解してみます。
- UI/UX設計(ワイヤーフレーム作成)
- バックエンドAPI設計
- データベース設計
- フロントエンド実装(画面作成)
- バックエンド実装(API開発)
- 単体テスト
- 結合テスト
- レビューと修正
ここまで細かく分解すれば、タスクの抜け漏れは大幅に減らせます。
コツ②:楽観・悲観見積もりを使いこなす
見積もりは「これくらいで終わらせたい」という楽観的な時間と、「もしトラブルが起きたら…」という悲観的な時間の2つを考えます。
- 楽観見積もり:理想的な場合にかかる時間(例:3日)
- 悲観見積もり:トラブルが発生した場合にかかる時間(例:5日)
そして、この2つの間の値(例えば4日)を現実的な見積もりとします。こうすることで、予期せぬ事態に備えた**「バッファ」**を適切に確保できます。
コツ③:チームの知見を借りる
見積もりは、決して一人で抱え込むべきではありません。
- 複数人で見積もる:タスクを複数人のエンジニアに見積もってもらい、その平均値や中央値を採用する。
- 「プランニングポーカー」:見積もり精度を上げるためのゲーム形式の手法です。数字が大きくずれたタスクは、認識合わせのための議論を深める良いきっかけになります。
3. 見積もりを依頼された時に確認すべきこと
見積もりを依頼された際、すぐに時間を答えるのではなく、以下の3点を依頼者と確認しましょう。
-
スコープはどこまで確定しているか?
- 「何をやり、何をやらないか」が明確になっているか確認します。
-
過去の類似プロジェクトはあるか?
- 過去のデータを参照することで、より精度の高い見積もりが可能になります。
-
求められている見積もりの精度は?
- ざっくりとした「概算」なのか、納期が確定する「確定見積もり」なのかを確認します。
まとめ:見積もりは「予測」であり「約束」ではない
見積もりは、完璧な未来を予測するものではありません。あくまで現時点での**「予測」**です。
大事なのは、この予測をチーム全員で共有し、進捗管理を通じて常に調整していくことです。
次回の記事では、この見積もりと進捗管理を支える「リスク管理」について、僕が学んだことをシェアしたいと思います。
参考書籍
この記事は以下の書籍の内容を参考にしています。
-
『プロジェクトマネジメントの基本が全部わかる本』
- 著者:橋本 将功
- 出版社:翔泳社