Jiraの活用事例　～スケジュール管理編～

この記事は株式会社富士通システムズウェブテクノロジーが企画する[いのべこ夏休みアドベントカレンダー 2020](https://qiita.com/jugemsan/items/5761773308fb1df0c23a)の9日目の記事です。本記事の掲載内容は私自身の見解であり、所属する組織を代表するものではありません。

## はじめに
本記事ではアトラシアン社のサービス／プロダクトであるJiraの具体的な活用方法について紹介したいと思います。

Jiraはいわゆるチケット管理ツールですが、特にアジャイルチームのためのプロジェクト管理ツールとして使いやすいように作られています。

Jiraは高機能でやろうと思えば様々なことが実現できる反面、自由度が高く、効果的な使い方に行きつくには時間をかけて試行錯誤をする必要があるように思えます。インターネットで活用事例を探そうにも、なかなか自分にフィットする使い方が見つからないのではないでしょうか。

本記事では、3年ほどJiraを活用してアジャイルチームを運営してきた経験を踏まえ、システムエンジニアが仕事をする上で具体的に活用できそうな使い方を紹介していきたいと思います。なるべくJiraの思想に沿ったシンプルでかつ効果的な活用方法にまとめたつもりです。

参考までに、本記事は下記の続編の位置付けです。

- [Jiraの活用事例　～課題管理編～](https://qiita.com/ikedahideya/items/b21c535a7db0aa03395c)

### 対象とするシステムエンジニアの業務
本記事でJira活用対象とするシステムエンジニアの業務は「スケジュール管理」です。

前回の記事の繰り返しですが、システムエンジニアの間では、これらの管理業務はマイクロソフト社の表計算ソフトExcelで運用されることが多いです。Excelは表計算ソフトとしては極めて優れていると思いますが、システムエンジニアは設計書作成・スケジュール管理・課題管理など、何でもExcelでやる文化があります（私の周囲だけでしょうか）。この文化を変えていきたい。

本記事では主にExcelで実施されていたスケジュール管理がJiraを使うとどのように変わるのかを解説し、読者の皆さんがJiraでやれば効率が上がりそうと思っていただけることを期待しています。

## 準備
### Jira無料版を申請する
2020年8月現在、下記の条件でJira無料版が利用できます。

- 無料機能へのアクセス
- 2 GB のストレージ
- 10 ユーザーまで
- コミュニティサポート

Jira本家サイト（https://www.atlassian.com/ja/software/jira ）から申し込めばすぐに使い始められます。
![image01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/9a83a17a-0822-ec4d-7515-bf23a42f44a1.png)
上記ページより「無料で入手する」をクリック（以下省略）

### スケジュール管理するプロジェクトを作成する
Jiraを使う準備が完了したら新規プロジェクトを作成します。「プロジェクトを作成」画面で必要な情報を入力します。テンプレートは「次世代テンプレート」の「カンバン」を選択します。「スクラム」を選択したくなりますが、本記事ではスクラムを実践していないチームのスケジュール管理をテーマにするため消去法で「カンバン」になります。前編の「[Jiraの活用事例　～課題管理編～](https://qiita.com/ikedahideya/items/b21c535a7db0aa03395c)」では「カンバン」テンプレートの機能を使いきれていないため、本記事ではその辺りに踏み込んでいきたいと思います。
![image02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/27c10646-8193-8346-217f-f88696741fac.png)
入力が完了したら「作成」をクリックして始めていきましょう。

## カンバンテンプレートによるスケジュール管理方法
### エピックでロードマップを管理する
左メニュー「ロードマップ」を選択してみましょう。ガントチャートが作れそうな画面が出てきましたね。なんとアジャイルチームのためのプロジェクト管理ツールであるJiraが標準機能としてガントチャートを採用したのでしょうか。
![image03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/28926176-adb4-e84b-8ede-0f8cf037d98b.png)
「エピック」という列に作業項目を入力していくようです。Jiraのテンプレートでは「エピック」は複数の「タスク」を束ねる上位概念です。大日程スケジュールを作っていくイメージでエピックを入力していくのが良さそうです。ここでは例としてプロダクト開発を想定し、A機能、B機能、C機能を開発し、テストしてリリースするという仮定でロードマップを入力してみましょう。
![image04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/843a9118-35fd-cc5d-c6da-28f189dac940.png)
私はロードマップ機能のガントチャートの帯がデフォルトで「期日なし」となっている辺り（右端の角の丸みとだんだん薄くなるグラデーション）がJiraの世界観を表現していると思っていて、個人的に好きなところです。アジャイルにプロダクトを作るなら各エピックは成長していくので完成することはないのです。とはいえ、そんなことを語っていてもシステムエンジニアのスケジュール管理業務には活用できないので現実路線で説明していきます。

エピックの端をドラッグ&ドロップすることで開始日と終了日を変更できます。
![image05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/ec153730-cceb-6a97-f1e4-c1280540bef1.png)
エピックの「色」も設定しておいた方がテンションが上がるのでオススメします。しかし14色しか選べません。私はエピックをあまり多く作るのってどうなの？というJiraからの示唆として受け止めています。
![image06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/62e37ef0-6735-0760-0cda-9f61ea4356a5.png)
作成したエピックに色をつけてひとまず下記のようなロードマップを作成しました。ロードマップという名前の通り、あまりエピックは細かくせず、プロダクトリリース等のマイルストーンまでの大まかな状況が把握できるくらいの粒度が良いと思います。
![image07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/dc901af8-662f-bab6-1c82-ec4c54b7ea97.png)
エピック同士の依存関係をロードマップ上で描画する機能があるようですが本記事での説明は見送ります。（効果的な使い方を説明できるほど習熟していないのですが、これが機能化されているということはニーズは多いと言うことなのか・・・）

### タスクでエピックの進捗状況を管理する
ロードマップ画面の各エピック名にカーソルを合わせると右端に「＋（子課題を追加）」というボタンが表示されます。
![image08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/2091f0fb-7502-e353-8fc2-f206260758d0.png)
クリックするとエピックを実現するための作業タスクを登録できます。
![image09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/813e713d-b908-2284-a7dd-4b6ae4990781.png)
A機能を実現するために「サブ機能A1」「サブ機能A2」「サブ機能A3」、B機能を実現するために「サブ機能B1」を作る必要があるというストーリーでタスクを作成してみます。
![image10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/492e6eb6-e55a-eac8-86d1-9b453e5030e6.png)
上画像のようにロードマップ画面でエピック配下にタスク一覧が表示され、エピックごとの進捗バー、タスクのステータスが表示されます。この進捗バーとステータスについてもう少し理解を深めてみましょう。

左メニュー「ボード」を選択してみましょう。作成したタスクが「作業前」レーンに表示されています。各タスクにエピックの色付きラベルが表示されていますね。ボード上部の「エピック」からエピックごとにタスクをフィルタリングして表示することもできます。
![image11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/900c048b-1485-c985-22da-6afb84521766.png)
いくつかのタスクのレーンを移動させてロードマップの表示がどうなるか実験してみましょう。「サブ機能A1」「サブ機能B1」を「完了」レーンに移動、「サブ機能A2」を「進行中」レーンに移動させてみましょう。
![image12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/5577560a-6888-a082-5409-62caca7b8fe6.png)
この状態で左メニュー「ロードマップ」を表示してみましょう。
![image13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/4151cf0c-30ba-7769-5d70-c3b1bdaa94dc.png)
進捗バーは3色で表示されます。緑が「DONE」、青が「IN PROGRESS」。分かりやすいですね。「DONE」のタスクの右側に完了を表すチェックボックスも表示されます。

※冷静に見てみるとボードの方は「作業前」「進行中」「完了」という名前の3レーンでした。この対応関係はどう理解すればいいのでしょうか。レーンを増やしたりして実験してみた結果、デフォルトの3レーンについては「作業前」＝「TO DO」、「進行中」＝「IN PROGRESS」、「完了」＝「DONE」という英語名が特別に付いているだけのように思われます。一方、進捗バーの色はレーンの位置で決まるようです。一番左のレーンは未着手として「グレー」、一番右のレーンは完了として「緑」、それ以外の中間のレーンは「青」になるようです。

### サブタスクでタスクの進捗状況を把握する
ここまでの説明でエピックとタスクの2階層によるスケジュール管理の方法を見てきました。ここからは3階層目の「サブタスク」を活用してみましょう。

ボード画面でタスク「サブ機能A3」を完了させるためのサブタスクを登録してみましょう。タスクをクリックするとタスク詳細が表示されます。そこに表示される「子課題を追加」ボタンをクリックしてみましょう。
![image14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/6e7b12fa-e934-546e-8fd7-39e1b4be836b.png)
サブタスク「設計」「実装」「テスト」を追加してみましょう。すると下画像のようにタスクの進捗バーが表示されるようになります。一方、ロードマップのガントチャートはサブタスクの粒度では表示できないようです。あくまでもロードマップ機能だからこの画面でサブタスクのような細かい粒度では管理しないというのがJiraのスタイルなのでしょう。
![image15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/b2749d65-08f9-4734-ff34-a5e8ca5a6ff8.png)
ボード画面ではどう見えるのでしょうか？タスクの右下にサブタスクの存在を示すアイコンが表示されていますがこれだけ？否、違います。
![image16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/8ca15171-c8e1-61af-d399-8a69f7412251.png)
ボード画面右上の「グループ分け」から「サブタスク」を選択してみましょう。
![image17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/952c2592-6f00-a40f-bb83-1f6c9c9550c0.png)
なんと、タスクごとにグループ分けされたボード上にサブタスクが表示されました。
![image18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/291e1091-abad-8179-93e5-bebf0a145076.png)
進捗バーがどのように表示されるか確認してみましょう。サブタスク「設計」を完了に移動、「実装」を進行中に移動して、タスク「サブ機能A3」をクリックしてみましょう。
![image19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526269/af535957-7f52-823a-7543-f2f55632c8da.png)
ロードマップ画面での進捗バーと同様に、タスク画面でサブタスクの進捗状況もこのように視覚的に把握できることがわかりました。

## Jiraによるスケジュール管理の考察
### Jiraで従来のスケジュール管理を置き換えられるか？
Jiraの次世代テンプレート「カンバン」によるスケジュール管理機能について見てきました。いかがでしたか？

おそらくシステムエンジニアとしてスケジュール管理業務を実践してきた人にとっては、「タスクとサブタスクの開始日と終了日を設定してガントチャートに表示できないの？」という感想になるのではないかと思います。本記事で見てきた通り、ロードマップ画面にはエピックとタスクの2階層しか表示されません。ロードマップ画面からはサブタスクの存在すら感じ取ることができません。また、タスクについてはステータスしか表示されず開始日、終了日は表示されません（そもそもタスク、サブタスクには標準で開始日・終了日という入力項目はありません）。

私はJiraをアジャイルチームのためのプロジェクト管理ツールと捉えています。ウォーターフォールの現場でよく見られる大日程・中日程・小日程スケジュールで作業者一人ひとりのタスクを日単位で細かく管理するという方法がアジャイルチームには向かないというJiraのメッセージだと受け止めています。ですので本記事では、従来型のスケジュール管理をJiraで無理やり置き換えるのではなく、スケジュール管理のやり方をJiraのスタイルに合わせることでチームをアジャイルな状態に近づけることを目指します。

### Jiraのスタイルに合わせたスケジュール管理方法
私が考えるJiraの次世代テンプレート「カンバン」によるスケジュール管理方法の概要は下記の通りです：

- ロードマップ画面でマイルストーンに向けた大日程の作業をエピックとして登録し、開始日と終了日を決める。ロードマップに登録するエピックの量はスクロールせずに収まる程度が理想（規模が大きい場合はプロジェクトを分割する）。
- ロードマップ画面で、エピックを実現するための中日程の作業をタスクとして登録する。ただし直近に着手するエピックのタスクのみを登録する。（最初に全タスクを洗い出して登録してしまうと、ボード画面で恐ろしい量のタスクがTO DOレーンに入ってしまい次にやるタスクを選ぶのが大変という状態になるため。）
- ロードマップ画面、もしくは、ボード画面で、直近に実施するタスクのサブタスクを登録する。
- ボード画面で、サブタスクを消化しタスクを完了させていく。
- プロジェクト管理者はロードマップ画面で、エピックの進捗バーから進捗状況を読み取る。

スケジュール管理の目的は、個人が1日単位の作業をあらかじめ計画した通りに実施し完了できているかどうかを監視することではなく、マイルストーンに向けてチームが計画したアウトプットを出せそうかどうかを把握し、問題を取り除くことです。スケジュール管理の本来の目的に立ち戻ると、Jiraのスタイルでもスケジュール管理できそうな気がしませんか？

## まとめ
本記事では、Jiraの次世代テンプレート「カンバン」のエピック・タスク・サブタスクを活用してスケジュール管理をする方法について説明してきました。従来のスケジュール管理方法とは考え方を変えなければならない点もあるため、単純にExcelで行っていた業務をJiraで置き換えることはできないかもしれませんが、アジャイルチームを目指したい方はぜひ参考にしてみてください。

今後の予告ですが、Jiraによるスクラムの実践について記事にしたいと思います（いつになるか分かりませんが）。