WBSを作ってみた

## 0.はじめに

新卒2～3年目の際「WBSを書いてみて」と言われてやり方も何も知らずに、
インターネットで調べても苦労した経験がありました。
その後有難いことに、複数回WBSを作成・他者に使ってもらう機会があったので、
WBSを書く際のポイントなどを簡単にまとめてみました。

## 1.WBSを作る前に　「目的・粒度設定」

そもそものWBSの目的として
　- スケジュールの管理
　- 作業・項目や全体像の把握
　- 役割分担の明確化

などがあります。
目的を意識せず作ってしまうと、
「**誰に対して・何を管理したいのか**」第三者に伝わりづらい物になってしまいます。
作る側としては意気込むし色々細かく作りこんでしまうのですが、
細かすぎたりして管理コストが高くなってしまい折角作ったWBSもチームメンバーに使われない事もあります。
そうならないために、
##### 「誰に向けて・何を・どれくらいの粒度で」
を予め決めておくと作っていく中で迷走しなくなります。
目安として、作業ができる最低限のレベルであることが一つあるのかな思います。
「どのくらいの粒度で」についてですが、次の作業項目の洗い出しにも繋がります。

## 2-1.WBSの作り方　「作業項目の洗い出し」

作業項目の洗い出しはWBSの肝ですが、MECEである必要があります。
MECEとは「**漏れなく、ダブりなく**」という意味であり、
MECEを意識しないと項目が重複したり漏れが大量に発生してしまいます。

>※MECEとは
https://g.co/kgs/GHpxkHp

ポイントとしては、大きな項目（タスク）から書き出していくこと。
順番に項目を書き出していくと漏れが発生しがちです。
今回例として「豚汁を作る」という工程をWBSにしてみようと思います。

 - 「豚汁を作るWBS」
　- 買い出し
　- 材料の下ごしらえ
　- 調理（加熱）
　- 盛り付け

とざっと豚汁の作り方の全体像を書き出し
「作り方の大まかな流れが伝わる」という項目を**大項目**とします。
この大項目から、じゃあ買うものは？材料の下ごしらえって何をしてるっけ？と細分化していくことで漏れが発生しにくいWBSを作ることができます。

また、細分化するにあたって
例えば「材料の下ごしらえ」という大項目を細分化させるしたとしたら、
##### 「野菜を洗う」「皮をむく」「材料を切る」
などと細かく分けることができます。
大項目から細分化したものを**小項目**に置き、管理しやすい単位に落としていければ、漏れなくダブリなくを自然に達成できるかと思います。

##### ※イメージ図①
![豚汁WBS1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719681/0df92672-954e-d8ff-5975-71f9df8eb309.png)
$\tiny{（豚汁に入れる具の話はまた別で(._..)}$

小項目をより細かく記載することもできると思います。
例えば、「野菜を切る」という項目で人参・大根はイチョウ切り...等々。

ここで冒頭の「**目的・粒度設定**」が関係してくるのですが、どこまでWBSで管理するべきなのか決めておくと迷走しません。今回はレシピを作成するわけではないので優先度が低いもの（切り方）はWBSに記載をしませんでした。
逆にもっと細かく管理・確認したい場合もあると思うのでその場合は項目として切り出します。（例えばごぼうのささがきとか）

この粒度の基準に明確なものはありません。
例が料理なので想像しやすいかもしれませんが、実際のプロジェクトのWBSとなると難しく考えがちです。項目をWBS内で説明していたり、手順を記載していたり項目ごとの粒度が揃っていなかったり...。
担当者が項目の詳細な手順・内容を知っていれば問題がないため、WBS内で細かく説明する必要はないと思います。

逆に運用していく中で問い合わせが多かったり漏れやすいため項目として記載したほうがいいとなる場合もあるかと思いますので、その場合は追記を行ったり逆に細かすぎてWBS内に必要がないと判断できた場合は削除するなど適時軌道修正を行ってください。

## 2-2.WBSの作り方「インプット・アウトプットの作成」

項目の洗い出しが終われば、
小項目ごとのインプット・アウトプットを作成します。
インプットは何を条件で始まるのか、アウトプットは各項目の状態がどのような形であれば完了としていいのか判断する材料となります。
項目同士の依存関係を確認できます。
インプット・アウトプットを意識できていないと、チームメンバーごとに各項目への認識にズレが発生してしまいWBSの意味がありません。
では、インプット・アウトプットとはどのようなものを書けばいいのか...？
同様に「豚汁を作る」WBSを例にしてみますが

##### ※イメージ図②
![豚汁WBS2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719681/7acb1404-d06f-d607-f358-b36866c64ee9.png)
$\tiny{項目によっては必要ない場合もありますが...}$

料理では次の項目に進むために前の項目が完了している必要があります。
今回は「野菜を洗う」という項目から「皮をむく」項目に進むために前の項目が完了している必要がありますので、「野菜を洗う」という項目の**成果物やその状態**がアウトプット「洗い終わった〇〇」となり、「皮をむく」のインプットが「洗い終わった〇〇」となります。
なので基本的に書くべきなのですが、次の項目で何をどう動けばいいのか全員が同じ認識で判断できる場合は無くてもいいかもしれません。

また、インプットやアウトプットには手順書や参考ページなどがあるのであれば紐づけると親切です。あとは、Redmineのチケットをアウトプットへリンクさせれば、個々の項目の進捗状況も詳しく管理ができて一石二鳥です。

この例だと、野菜の切り方・洗い方をWBS内に記載するのではなく参考になるページへリンクを紐づける事でWBS内の列数・文字数を減らしました。
WBSは項目の進捗管理を行うことが目的となりますが、手順書・依頼書（チケット）・送付物などを紐づける事で管理者・対応者が各書類・ファイルを探しに行く手間を簡略化できたりまとめることができる側面もあります。

##### ※イメージ図③
![豚汁WBS3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719681/6e8c1667-fac5-4627-0b4b-b7667c8fb1c7.png)
$\tiny{いらすとやさんって何でもありますね...}$

## 2-3.WBSの作り方　「役割の明確化」

もし豚汁を複数人で作るとなればAさんとBさん、Cさん...で役割分担をすると効率的に作ることができます。
どの項目を誰に任せるのかWBS上で管理したいとなったとき、各項目の担当者が誰か分かる必要があります。
書き方は色々ありますが、僕がおすすめしているのは担当ごとに列を設ける形式です。

##### ※イメージ図④
![豚汁WBS4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719681/3354ae7e-2f93-54a6-3788-07ef235454c1.png)
$\tiny{書き方はいろいろ...}$

今回は個人を記載しましたが、
普段使用する際はA部署・B部署・C部署と記載をしたり、A社・B社と大きなまとまりで省略できる場合はそうしています。
プルダウン式だと列数も少なくスッキリするので一長一短だと思いますが、WBSを一見したところで誰が（どこが）どの工程に携わっているのか分かりづらく見えてしまう事があったので僕は担当ごとに列挙する形で作成しています。

## 2-4.WBSの作り方　「ガンチャートを合わせてみる」

少しズレますが、WBSなので各項目の対応期限やリードタイムを記載することがあります。記載方法は様々だと思いますが、ガンチャートを使えば各項目にかかる工数や期限などを設定・見積もることが容易になります。
普通の豚汁は3～4人前ほどを想定した作りだと思うので全作業にかかる工数の見積はWBSがなくとも簡単ですが、これが100人前を想定したものとなると材料を切るだけでも多くの時間が必要となります。その場合の工数の見積りはWBSで細分化を行った後、各項目でどれくらいの時間が必要なのか図る事ができます。

##### ※イメージ図④
![豚汁WBS5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719681/1c451e93-0e68-c8dd-4ed6-bca2cf4efa6f.png)
$\tiny{それでも豚汁作るのに2週間はかからない...}$

## さいご

WBSを作成する上での注意点をまとめてみました。
最初はいまいちコツがつかめず、中々上手く作成できない事が多かったのですが
繰り返し作っていくことが上達のコツなのだと感じます。
WBSを作成することで全体の流れを把握しやすいなど作成するメリットも大きいので、ぜひめげずに作成し参考にしてみてください。