プロジェクトにおける見積もり方法の種類と比較

## はじめに
「業務で工数を見積もる場面が多いけど、具体的にどうやって見積もればいいのかわからない」
このような問題に直面した方も多いのではないでしょうか？

そこでプロジェクトの見積もり方法についていくつか比較してみました。

## 見積もり方法の種類

|種類|特徴|メリット|デメリット|利用場面|
| ---- | ---- | ---- | ---- | ---- |
|3点見積もり|楽観値、最頻値、悲観値の3つの値を設定	|不確実性を考慮できる|見積もりに時間がかかる	|不確実性の高いプロジェクト
|類推見積もり	|過去の類似プロジェクトを参照	|短時間で概算の見積もりを出せる	|精度が低い可能性がある	|過去の類似プロジェクトがある場合
|ボトムアップ見積もり	|作業を細かく分解して見積もる	|詳細な見積もりが可能	|時間がかかる	|詳細な設計が完了している場合
|トップダウン見積もり	|プロジェクト全体の規模から見積もる	|短時間で概算の見積もりを出せる	|精度が低い可能性がある	|プロジェクト初期段階
|デルファイ法	|複数の専門家の意見を聞き合わせる	|客観的な見積もりが可能	|時間と手間がかかる	|複雑なプロジェクト
|パラメトリック見積もり	|パラメータと過去のデータに基づいて見積もる	|客観的な見積もりが可能	|適切なパラメータを選択する必要がある	|大量のデータがある場合


## 各見積もり方法の具体的な例
現場でよく使われそうな手法の例を抜粋して記載します。

### 3点見積もり
#### 特徴
プロジェクトの作業時間や、その作業の金額を**楽観値、最可能値、悲観値**の三点から見積もります。

#### 期待値の計算方法
`(楽観値 + 4×最頻値 + 悲観値) / 6`

#### 具体例
開発案件の各工程でかかる工数を見積もるとする
|作業項目|楽観値（時間）|最頻値（時間）|悲観値（時間）|
| ---- | ---- | ---- | ---- |			
|要件定義	|0.5	|1	|2
|設計	|1	|2	|3
|プログラミング	|3	|4	|6
|テスト	|1	|2	|3

例えば要件定義の期待値は、上記の[計算式](#期待値の計算方法)に当てはめると
 `(0.5 + 4×1 + 2) / 6 = 1.17時間`になります。

### 類推見積もり
#### 具体例
「Aという機能を持ったシステムを開発するのに、前回は**3ヶ月**かかった。今回のシステムも機能が似ているので、今回も**3ヶ月程度**で開発できるだろう。」

#### 特徴 
過去の類似プロジェクトのデータに基づいて見積もるため、迅速に概算を出すことができます。
（これ、実はみなさん日常で何気なくやっているのではないでしょうか？？）

#### 注意点 
今回のプロジェクトと過去のプロジェクトが完全に同じであるとは限らないため、誤差が生じる可能性があります。

### ボトムアップ見積もり
#### 具体例

システム開発プロジェクトの場合

- 要件定義：1週間
- 設計：2週間
- プログラミング：4週間
- テスト：2週間
- 総合計：9週間
#### 特徴
プロジェクトを細分化して見積もるため、より詳細で正確な見積もりが可能です。

#### 注意点 
作業の分解が詳細になりすぎると、見積もりに時間がかかることがあります。

### トップダウン見積もり
#### 具体例
新規のシステム開発プロジェクトを行う場合

「この規模のシステム開発は、通常6ヶ月から9ヶ月かかる。」

#### 特徴
プロジェクト全体の規模感から概算を出すため、迅速に大まかな見積もりが可能です。

（自分の場合はですが、チーム開発で初めてReactのフロントエンド開発をするとなった時、この手法を活用していました）

#### 注意点
詳細な作業内容が不明なため、誤差が大きくなる可能性があります。

## 補足
### ボトムアップ見積もりとWBSってどう違うの？
#### WBSとは
WBSとは、**Work Breakdown Structure**の略で、
プロジェクト全体を細かな作業（Work）に分解（Breakdown）した構成図（Structure）です。
つまり、プロジェクトの作業を段階的に細かなタスクに分解して計画を立て、実績管理することです。

##### WBSイメージ図
以下はエクセルのスプレッドシートから選択したテンプレートの例です。
テンプレートの使い方は[こちら](https://dime.jp/genre/1491774/)をご参考ください。
![スクリーンショット 2024-09-20 6.54.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677000/50dd8306-66f5-d914-baad-73cc58ca3d0c.png)

##### ガントチャートとの違い
- **WBS**：細分化したタスクリスト
- **ガントチャート**：プロジェクトのタスクや工程の進捗状況を表す「横軸の日付などの時間」と、「縦軸のWBSで細分化されたタスクや工程」を並べた横向きの棒グラフ

WBSで、タスク同士の関係性やタスク処理に必要な**リソース管理**をしながら、ガントチャートで**プロジェクト全体のスケジュールを俯瞰し**、タスクの進捗管理を行うという目的です。

##### ガントチャートのイメージ図
![スクリーンショット 2024-09-20 7.03.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/677000/2c77bb1e-e731-c730-cfac-91342cac3fff.png)


#### ボトムアップ見積もりとWBSの違い
- **WBS**: プロジェクトの構造を可視化するツール
- **ボトムアップ見積もり**: WBSに基づいて、プロジェクトのコストや期間を算出する手法

WBSで作成された作業単位をベースにボトムアップ見積もりが行われます。


## まとめ
- 3点見積もり：楽観値、最可能値、悲観値の三点から見積もる手法
- 類似見積もり：過去の類似プロジェクトに基づいて見積もる
- ボトムアップ見積もり：プロジェクトのタスクや期間を細分化して見積もる
- トップダウン見積もり：プロジェクト全体の規模から概算の見積もりを出す


## おわりに
自己啓発的な主張になりますが、
「管理、マネジメント」と聞くと誰もがやりたがらないことかもしれません。
しかし、自分事に置き換えると、人生も一種のプロジェクトです。

ですので、仕事という枠組みに囚われすぎず、自分の人生（という名のプロジェクト）をマネジメントすることにも取り入れてみてはいかがでしょうか？

## 参考記事
- [見積もり手法とは？プロジェクト計画に役立つ 6 つのテクニックを紹介](https://asana.com/ja/resources/estimation-methods)
- [プロジェクト管理の基本ツールWBSとは？テンプレートをお探しならJooto！](https://www.jooto.com/contents/wbs/)

- [仕事が効率アップ！Googleスプレッドシートのテンプレートを活用するヒント](https://dime.jp/genre/1491774/)