DX Column

2021年9月2日

#WBS – 知ったかテックワード!君もIT博士

カテゴリー:

タグ:, ,

WBSは「Work Breakdown Structure」の略で、日本語にすると「作業分解構成図」だよ。

作業を分解・整理して図にしたものってこと。

まあ、図といっても一覧表なんだけどね。

ITシステムの開発プロジェクトでは、膨大な作業が必要になる。

だから、その作業を階層的に分解した一覧表を用意するんだ。

いわば、タスク管理表の親分だ!

WBSを使うことで、開発プロジェクトの膨大な作業の抜け漏れ防止・工数の可視化・全体の流れの把握が容易になる。WBSには次のようなメリットがある。

  • プロジェクト全体で作業タスクの抜け漏れ・重複が確認しやすくなる
  • 各タスクの担当者と日程が明確になる
  • 現在の作業状況が、どのような状態なのか把握しやすくなる

作業の進捗状況を横棒で表すガントチャートがよく使われるけど、実はガントチャートの左側がWBSになってる。
だから、ちゃんとガントチャートを作るためには、WBSのことを知っておく必要があるんだ。

WBSの見本

システム開発のWBSを作ると、こんな感じになる。よく見ると、大きな作業タスクを分解して小さな作業タスクを洗い出している。だから「作業分解構成図」という名前なんだ。

WBSの作り方

WBSは次のような順序で作っていく。

  1. 1.プロジェクトのゴールを明確にする
  2. 2.ゴールに必要な作業タスクを大きな粒度で洗い出す
  3. 3.洗い出した作業タスクの実施順を決める
  4. 4.2-3で洗い出した作業タスクを分解して、中規模の作業タスクを洗い出す
  5. 5.洗い出した中規模タスクの実施順を決める
  6. 6.さらに小規模な作業タスクを洗い出す
  7. 7.洗い出した中規模タスクの実施順を決める

ゴール設定と大きな作業タスクの洗い出し

ここで重要なのは、まずプロジェクトのゴールを明確にすること。たとえば、業務システムを開発することがゴールになる。これがないと、プロジェクトで何を実現しようとしているのか分からなくて迷走してしまうからね。

次に重要なのは、大きなタスクを洗い出してからそれを分解していくこと。システム開発をウォータフォールでやる場合は、次のようになる。ここでは、業務システムを開発するための作業を分解して列挙している。

続いて、洗い出した作業タスクの実施順を決める。この例はウォータフォール型開発だから、この順番で実施する必要がある。前工程の作業成果を利用して直後の工程を開始するからだ。同じレベルの作業タスクは、先に実施すべき作業と、並行して進められる作業があるけど、この場合は並行して進められる作業はない。

中規模の作業タスクの洗い出しと優先順位付け

大きな粒度で作業タスクを洗い出して順番を決めたら、各作業タスクを分解して、中規模の作業タスクを洗い出す。この例では、基本設計のところをさらに分解している。

それから、作業タスクの順番を決める。たとえば、基本設計では「全体構成・API」を先に完了してから、「バックエンド」や「フロントエンド」の作業を始める。「全体構成・API」で設計した情報を元にして、「インフラ設計」や「バックエンド設計」「フロントエンド設計」をおこなうためだ。

一方で、 「インフラ設計」や「バックエンド設計」「フロントエンド設計」 は並行して進められる。お互いの情報のやり取りをAPIとして先に決めてあるので、それに対応すれば互いに相手のことを知らなくてもいいからだ。

小規模の作業タスクの洗い出し

それから、さらに作業者一人ずつまで作業タスクを分解する。この例では、インフラ・バックエンド・フロントエンドを、システムのモジュール単位に分解している。

このように大きな作業タスクから分解していくことで、作業の抜け漏れ・重複を防止するんだ。

とはいえ、大きな作業タスクを順番に分解していくだけでWBSが完成する訳ではない。各作業や階層構造を見直してブラッシュアップしていくことが欠かせないんだ。

担当者と日程調製

あとは、各作業の担当者と開始予定日・作業予定日数などを記入すれば完成する。

このとき、同じ担当者に同時並行した作業タスクを割り当てないよう注意しよう。せっかく同時並行で作業できるのに、同じ人に割り当てたら並行して作業できなくなるからね。

あと、優先順位のある作業は、前の作業が終わってから次の作業を始めるように開始日を指定する。

こうすると、WBSでは作業日数が下位レベルの作業日数から自動的に算出できる。下位レベルで、優先順位のある作業の日数を合計すれば、ひとつ上位レベルの作業日数になるんだ。並行して作業できるところは最大の作業日数を使えばいい。

WBSとガントチャートと関係

ガントチャートは、WBSの右側にグラフを追加したものだ。横軸を日付にして作業開始日から作業期間の間に色を付ける。

このようにガントチャートは、WBSが持つ情報を見やすくしたものに過ぎない。だけど、どの作業タスクがいつから始まるか。どの作業とどの作業か関連付けられているか一目で把握できるんだ。

ただし、作業開始日や作業期間は余裕を持たせておくことを忘れずに。前工程が遅れると、それに関連すう後工程も遅れるためだ。完璧に遅滞なく進められるプロジェクトは滅多にない。思わぬトラブルが発生することもよくあるから、かならず作業バッファを確保していこう。

おまけのコント

うさぎ:ついに、ウッサギ・ボーン・システム(Wussagi Born System)が完成した!!

カエル:なにそれ。

うさぎ:ウサギによるウサギのためのウッサギ育成支援システムである。

カエル:なんだか、スゴそうだね。

うさぎ:1組のウサギが、毎月ひとつがいのウサギを生むとするだろ。

カエル:ふむふむ。

うさぎ:ある月に生まれたウサギは、2ヶ月後には次のつがいを生み始める。

カエル:そうなの?

うさぎ:最初のウサギも、次のウサギも、その次のウサギも、どんどんウサギを生んでいく。
すると、1ヵ月目には1組だったウサギが、2ヶ月目には2組、3ヶ月目には3組、4ヵ月で5組と増えていって、
なんと36ヵ月後には、1493万352組になっているのだ。
この調子なら、ウサギによる世界征服も夢ではないゾ。ガハハハ!

カエル:うーむ。