HAROLABO Tech Blog

テクノロジーを使いやすく!ハロラボの技術情報発信メディアです。

WBS

WBS(Work Breakdown Structure、作業分解構造)の作り方です。

WBSの役割

作業を木構造で担当者が実施可能なレベルにまで分解することで、作業を実施可能な計画にするのがWBSの役割です。 実施可能になっていないWBSは分解が不十分か、分解の仕方もしくは作業の定義が間違っていると言えます。 正しく作業を分解できれば、スケジュール・リソースを割り当てて、実施可能な計画にできます。

WBSの書き方

分解方法

作業ベース

作業をトップに置き、分解していくやり方です。

成果物ベース

成果物をトップに置き、分解していくやり方です。 納品する成果物をトップに並べて、成果物をつくるために必要な作業をその下に分解して置いていきます。

タスクの洗い出し方

何をすべきか、何を作成すべきかが決まったら、それらを完了させるには何が必要か?を考えながらタスクを洗い出していきます。 単に手順を書くだけでなく、中間成果物の作成や、レビューなど、実際にやることを洗い出します。 ここが曖昧だと、見積もりや実際の作業が正しく行えなくなってしまうので、具体的な作業をシミュレーションして、本当に必要なタスクを洗い出すのが大事です。

ガントチャート

WBSを棒グラフなどを使って視覚的に分かりやすくしたのがガントチャートです。 ガントチャートは必ずしも必要ではありませんが、ガントチャートがあると全体の日程感が分かりやすくなります。

余談1:スクラムとWBS

スクラムでは、プロダクトをプロダクトバックログの部分集合として考えます。 プロダクトバックログは、各スプリントでスプリントバックログ、つまりタスクとして分解されます。 スクラムにおけるWBSとは、各スプリントごとに更新されるバックログの集合だと言えるでしょう。

具体的には、プロダクトバックログについてはどのスプリントで実施するかを計画する、 スプリントバックログについてはストーリーポイントで見積もってスプリント内でできることを計画する、 という形でWBSに落とし込むことができます。


余談2:WBSと課題管理表

WBSと課題管理表はしばしば別に作成され、管理されます。 それによって、課題の対応のためにWBSで作成した計画が遅れるといったことが起きたりします。 よくあるのが障害対応による遅れです。 これは使用するリソースが共通であるのに、課題とそれ以外を別々に管理しているために発生します。

WBSは作業を分解したものですので、課題も分解してWBSで表すことができます。 ですので、WBSと課題管理表を合わせて管理するのがよいでしょう。 例えば、課題なのかタスクなのかをタグで表現し、異なるビューで表示し分けることで、WBSと課題管理表の見せ方は変えずに一元管理できます。

複数のビューを用意する場合、一般的な表作成ツールでは管理が難しいので、専用のプロジェクト管理ツールを用いるのがよいでしょう。

WBSに書く項目

一般的な項目

  • タスク名
  • 担当者
  • 進捗状況
  • 開始日
  • 終了日

よくある項目

  • WBS番号
  • ステータス
  • 工数
  • 開始予定日
  • 終了予定日
  • 予定工数
  • 優先度
  • 前タスク
  • 次タスク

課題の場合

  • 課題No.
  • 起票者
  • 優先度

WBSの管理方法

WBSはプロジェクトの計画を1つの表で表すことができる便利なツールですが、正しく管理できないとやがてWBSと実際の進捗が乖離し、プロジェクトを正しく管理することができなくなります。

WBSを正しく管理するための方法をいくつか紹介します。

WBSを最新化する

計画時にWBSを精緻に作成して、開始後は更新されないというのはよくあることです。 WBSは最新の状態であるようにします。 開始日・終了日などに計画と実績の2つの欄を用意して書いていくのが一般的だと思いますが、実績を毎日入れていくようにします。 ツールによっては計画と実績に分かれていない場合もありますが、その場合は実績で上書きしていくようにします。

WBSは毎日更新する

更新頻度が多いと管理するのが大変になり、やがて更新されなくなります。 そのため、毎日更新するというリズムをつけることで、必ず更新されるようにします。 デイリーミーティングをしている場合はそのタイミングでもよいですし、終業前のその日の工数を記録するタイミングでもよいです。 タスク管理ツールを使っていてもメンバーが必ずステータスを更新しているとは限らないため、WBSを更新するタスクは必ず実施した方がよいです。

WBSの各作業に必ず担当者を割り当てる

作業状況が更新されない原因の1つは、担当者が決まっていないことです。 分解した作業には、必ず担当者を割り当てる。 担当者が決まっていなければ、決める人を割り当てます。

WBSを管理するツールを統一する

WBSは頻繁に更新され、かつ、複数人が更新するものです。 したがって、複数のツールで二重管理しているとすぐに情報が古くなったり、整合性がとれなくなったりして管理できなくなります。 特に定例ミーティング等で報告しているフォーマットと二重管理にならないようにします。 最も確実なのは、プロジェクトマネージャーがWBSを更新することです。 タスク管理ツールを使う場合は、プロジェクトマネージャーが管理するタスクと、メンバーが管理するタスクを分けるのも手です。

WBSのテンプレート

Excelテンプレート

Microsoft Excelのテンプレートです。VBAは未使用です。 開始日・終了日を入力すると、ガントチャート部分も更新されます。

templates.office.com

Googleスプレッドシートテンプレート

Googleスプレッドシートのテンプレートです。 テンプレートギャラリーからガントチャートを選択して作成できます。

GoogleスプレッドシートでWBSを作る

Googleスプレッドシートのテンプレートのガントチャートには自動計算が設定されていないので、 ガントチャート部分は手動で更新しなくてはいけません。 ただ、もっと簡単にガントチャートを作成する方法もありますので紹介します。

Googleスプレッドシートでは、タイムラインという機能でガントチャートを作成できます。 この機能を利用すると、WBSとガントチャートを別のビューにできるので、管理しやすくなると思います。

作成方法は簡単で、「タイトル」「開始日」「終了日」の列を持った表(WBSや課題管理表をそのまま使えます)を用意し、表全体を選択した状態で、「挿入」メニューから「タイムライン」を選択するだけです。 あとは、設定で「タイトル」「開始日」「終了日」の列を指定すれば、ガントチャートが出来上がります。

開始日と終了日が無い行はエラーとなり、ガントチャートには表示されません。 この性質を利用し、完了したものやプロダクトバックログの開始日・終了日を空欄にすることで非表示にすることもできます。