WBS
WBSとは
WBS(Work Breakdown Structure)は、プロジェクトで必要な作業を階層的に分解して洗い出す手法、およびその成果物(ツリー構造の一覧)です。「システムを作る」のような大きな塊のままでは見積もりも分担もできないため、扱える大きさになるまで細かく割っていきます。
ECサイト構築
├── 要件定義
│ ├── 業務ヒアリング
│ └── 要件定義書の作成
├── 設計
│ ├── 画面設計
│ └── データベース設計
└── 実装
├── 商品一覧機能
└── 決済機能
親タスクは子タスクの集まりで表現され、末端の「これ以上割らない単位」をワークパッケージと呼びます。担当者と期間を割り当てるのはこの末端で、親側の進捗や期間は子の集計として決まります。
100%ルール — 漏れなく、重複なく
WBSの品質を支えるのが100%ルールです。「子タスクをすべて合わせると、親タスクの作業のすべてになる」ように分解します。子の合計が親に足りなければ作業の漏れ(見積もりに入っていない作業が後から噴出する)、子同士が重なっていれば二重計上になります。
分解の細かさは「1人が数日で終えられ、完了を判定できる」程度が目安です。細かすぎると管理コストが作業を上回り、粗すぎると進捗が「着手中のまま数週間」になって状況が見えなくなります。
何のために作るのか
- 見積もりの土台 — 小さく割った単位なら工数を現実的に見積もれる。[[ウォーターフォール開発]] の積み上げ型見積もりはWBSが前提
- スケジュールの土台 — ワークパッケージに期間と順序を与えると [[ガントチャート]] になる。WBSが「何をやるか」、ガントが「いつやるか」を受け持つ
- 進捗と責任の見える化 — 末端タスクごとに担当と状態(未着手・進行中・完了)を持たせると、プロジェクト全体のどこが遅れているかを特定できる
初学者向けポイント
- WBSは成果物や作業を割るものであって、組織図や担当者で割るものではありません。「誰がやるか」は分解が終わってから割り当てます
- [[アジャイル開発]] ではWBSという言葉はあまり使いませんが、エピック→ストーリー→タスクという分解は同じ発想です。[[チケット管理]] ツールの親子チケットはWBSのツリーそのものです
- タスク管理ツールで「親タスクの進捗が子タスクから自動計算される」のは、WBSの「親は子の集計」という考え方の実装です
関連技術とのつながり
- [[ガントチャート]] — WBSのタスクを時間軸に並べた表現。セットで使われる
- [[見積もりとベロシティ]] — 分解した単位が見積もりの精度を決める
- [[要件定義]] — 「何を作るか」が決まっていないと作業は分解できない
- [[チケット管理]] — WBSの各タスクを実務で運用する受け皿
Q: WBSの100%ルールの説明として正しいのはどれ?
- [x] 子タスクをすべて合わせると親タスクの作業全体になるように分解する
- [ ] タスクの100%を1人の担当者に割り当てる
- [ ] プロジェクト期間の100%をタスクで埋める
解説: 漏れなく・重複なく分解するのが100%ルールです。漏れは後からの作業噴出、重複は二重計上につながります。
Q: ワークパッケージとはどれ?
- [ ] WBSの最上位にあるプロジェクト全体のこと
- [x] これ以上分解しない末端のタスクで、担当と期間を割り当てる単位
- [ ] 複数プロジェクトをまとめた管理単位
解説: 見積もり・担当割り当て・進捗判定は末端のワークパッケージに対して行い、親タスクは子の集計で表現します。
Q: WBSとガントチャートの役割分担として正しいのはどれ?
- [ ] WBSが「いつやるか」、ガントチャートが「何をやるか」を受け持つ
- [x] WBSが「何をやるか」、ガントチャートが「いつやるか」を受け持つ
- [ ] 両者は同じもので呼び名が違うだけ
解説: WBSで作業を洗い出し、それぞれに期間と順序を与えて時間軸に並べたものがガントチャートです。