TISの資料が「WBSのタスク」洗い出しに役立ちそうなので紹介しておく

## はじめに
システム開発プロジェクトで必ず作成する「WBS」ですが、どういった作業（タスク）を列挙すればいいか迷ったことはないでしょうか？

小規模なプロジェクトであれば、若手がプロマネやプロジェクトリーダーを任されることも多く、「WBS作成しておいてね〜」と上司からさらっと言われたりします。

ゼロからタスクを洗い出そうとすると非常に時間がかかりますし、かといって過去のプロジェクトのWBSを流用するとタスクが漏れてしまう可能性があるので、経験者でも簡単ではありません。

そんなときに役立つのが、標準的な作業を一覧にした「タスク一覧」です。

大手SIerでは生産性を上げる活動として様々な標準化活動をしていますが、ここで紹介する「タスク一覧」も標準化の成果物の1つです。

こういった標準化資料はノウハウの一種なので、社内限定資料にしていることが多いのですが、TISでは資料を公開してくれています。

経験者の私から見ても実践的な作業が洗い出されており、かなり役立つと思いますので、ここで紹介していきます。


## WBS タスク一覧（サンプル）
それでは、実物を抜粋しながら簡単に説明していきます。
TISのリンクは[こちら](https://fintan.jp/wp-content/uploads/2019/02/division-of-roles-in-wf.pdf)。

## 1. プロジェクトマネジメント
まずはプロジェクトマネジメント関連のタスクです。
いろいろな管理ルールやツールを検討するタスクが並んでいます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2739239/e89a92be-6372-75e2-8135-4e347b27b1b5.png)

ちなみに、この資料は各タスクを "誰がやるのか" をサンプルとして記載してくれているので、WBSの担当者を決める際に参考にしてください。（プロジェクトマネジメントのタスクは、PM/PMOがメイン担当になっています）

## 2. 要件定義
続いて、要件定義のタスクです。
（工程列 "RD" が要件定義）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2739239/20773c8e-f041-869f-1cd0-dd346772c5df.png)

要件定義工程で決めるべき主要なタスクが列挙されています。
　・業務 要件定義
　・機能 要件定義
　・非機能 要件定義
　・運用 要件定義

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2739239/14cff36e-591b-8622-0761-17b0afc6d4d6.png)

そして、以下のタスクもあります。いずれも要件定義で決めておかないと後々の工程が苦しくなるので重要なタスクだと感じます。

　・全体テスト計画
　・方式設計
　・標準化


## 3. 基本設計〜詳細設計
続いて、設計工程のタスクです。
（工程列 "ED" が要件定義）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2739239/7da4e84b-0528-ddc7-abcb-5ee0346c3205.png)

フレームワーク設計として、画面やバッチのログ出力や責務配置設計などのタスクが並びます。

ちなみに、責務配置設計とは、コンポーネント（関数やクラス）が保持する責務を明確にする作業です。これをしておかないと、設計時の責任範囲があいまいになってしまい作業が漏れてしまう可能性があります。

あとは、一般的な画面・帳票・バッチ設計。
そして、以下のデータベース関連の設計です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2739239/9257d5cc-ec99-7013-d282-2cff17b26a3d.png)

※インフラ設計のタスクもありますが、今回の説明では割愛させていただきます。

## 4. 運用設計
設計工程のタスクで抜けがちな運用設計です。
　・業務運用
　・システム運用
　・セキュリティ運用
 など

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2739239/156612e8-7775-6b03-6ecf-90be330639d8.png)


## 5. 構築〜製造

続いて、環境構築のタスクです。
テスト環境、DR環境、本番環境の各種サーバ構築のタスクとなります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2739239/d6a4c35a-68b1-de0b-96bb-33802c61c818.png)

そして、プログラミングと単体テストです。
ここでの単体テストは、「機能単体テスト」を意味しています。

※機能単体テストのイメージがつかみづらい、という方は以下の記事を参考にしてみてください。１機能を２画面で構成した場合の機能単体テスト仕様書のサンプルを掲載しています。

（参考）[TISの単体テスト仕様書テンプレ＆サンプルが役立ちそうなので共有しておく](https://qiita.com/otomaru97/items/d1676bddfa32edb95e40)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2739239/823e4bf8-4364-e922-cd71-7412559513b2.png)

## 6. 各種テスト

内部結合テスト以降は、「計画書・テスト設計・テストケース作成・テストシナリオ作成・テストデータ作成・テストシナリオ実施」と基本的なタスクが挙げられています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2739239/2f495832-f181-7b86-a509-5c3bb28c7d79.png)


## 7. 移行
最後に移行関係の作業です。
移行計画、移行準備、移行実施といった基本的なタスクとなっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2739239/967874ab-ce7a-018b-0ca0-efaca85ca115.png)

## 補足

今回紹介したタスクで、基本的なタスクの漏れを防ぐことはできますが、いずれも大枠を列挙しただけのため、各工程を実施する際にはもっとタスクをブレークダウンしておく必要があります。

例えば、「画面設計」タスクの場合は、「○○一覧画面」とか「○○詳細画面」とか、担当者が作業ができるレベルにまで落とし込んでおく必要があります。


## WBSのタスク資料へのリンク
今回紹介した資料のリンクは以下になります。

[ウォーターフォール開発における役割分担シート（XLSX）](https://fintan.jp/wp-content/uploads/2019/02/division-of-roles-in-wf.xlsx)
[ウォーターフォール開発における役割分担シート（PDF）](https://fintan.jp/wp-content/uploads/2019/02/division-of-roles-in-wf.pdf)


## さいごに
今回は、WBSの作成に役立つ資料を紹介してきました。
TISは他にもいろいろと役立つ資料を公開しており、参考になると思うので活用してみてください。