この記事は株式会社富士通システムズウェブテクノロジーが企画するいのべこ(富士通システムズウェブテクノロジー)Advent Calendar 2020の20日目の記事です。本記事の掲載内容は私自身の見解であり、所属する組織を代表するものではありません。
はじめに
本記事ではアトラシアン社のサービス/プロダクトであるJiraの具体的な活用方法について紹介したいと思います。
Jiraはいわゆるチケット管理ツールですが、特にアジャイルチームのためのプロジェクト管理ツールとして使いやすいように作られています。
Jiraは高機能でやろうと思えば様々なことが実現できる反面、自由度が高く、効果的な使い方に行きつくには時間をかけて試行錯誤をする必要があるように思えます。インターネットで活用事例を探そうにも、なかなか自分にフィットする使い方が見つからないのではないでしょうか。
本記事では、3年ほどJiraを活用してアジャイルチームを運営してきた経験を踏まえ、システムエンジニアが仕事をする上で具体的に活用できそうな使い方を紹介していきたいと思います。なるべくJiraの思想に沿ったシンプルでかつ効果的な活用方法にまとめたつもりです。
参考までに、本記事は下記の続編の位置付けです。
対象とするシステムエンジニアの業務
本記事で対象とするシステムエンジニアの業務はタスクの予定時間と実績時間の振り返りです。左記のことをJiraの時間管理機能を使ったチュートリアル形式で説明したいと思います。
スクラムの開発チームの成長を示す指標の1つとして見積精度があります。見積精度が高ければチームが期日までにどれくらいのものを生産することができるかを見通すことができます。そして、見積精度を上げるためには予定に対しての実績を振り返ることが重要です。時間管理機能をこの目的で活用できるように紹介していきます。
※システムエンジニアは見積と聞くと将来覆せない約束を連想して嫌な気分になるかもしれません。予定期日を超過すると終わるまで地獄の残業をすることになるなど筆者にも嫌な思い出があります。予定時間にこういったペナルティ的な要素が伴うと開発チームは見積にサバを読むようになったり、早く作業が終わっても終わっていないことにしたくなります。長期的には良いことがありませんので、純粋に予定時間に対する実績時間の精度を上げることを目標にできるような心理的安全性の確保が大前提になります。
準備
Jira無料版を申請する
2020年12月現在、下記の条件でJira無料版が利用できます。
- 無料機能へのアクセス
- 2 GB のストレージ
- 10 ユーザーまで
- コミュニティサポート
Jira本家サイト(https://www.atlassian.com/ja/software/jira )から申し込めばすぐに使い始められます。
上記ページより「無料で入手する」をクリック(以下省略)
プロジェクトを作成する
Jiraを使う準備が完了したら新規プロジェクトを作成します。「プロジェクトを作成」画面で必要な情報を入力します。満を持して、テンプレートは「次世代テンプレート」の「スクラム」を選択します。
入力が完了したら「作成」をクリックして始めていきましょう。
※タスクの時間管理は「カンバン」テンプレートでも利用可能です。
タスクの時間管理
課題タイプのコンテキストフィールドに時間の管理を追加する
左メニュー「プロジェクト設定」>「課題タイプ」を選択します。
課題タイプのコンテキストフィールドに作成済みのフィールド「時間の管理」を追加します。
ドラッグ&ドロップすると下記の画面のように追加されるので「変更を保存」をクリックします。
上記と同様の操作により課題タイプ「Story」「Task」「サブタスク」にも「時間の管理」を追加します(手順は省略)。
課題への予定時間の入力
左メニュー「バックログ」を選択し、例として1つのStoryと1つのTaskを登録します。
またStoryの方にはサブタスクを3つ作成します。
課題に予定時間を入力していきます。まずはStoryのサブタスクの1つを選択します。
すると課題のフィールドに「時間の管理」という項目が表示されています。この項目をクリックします。
「時間の管理」サブウィンドウが開き、「所要時間」と「残り時間」を入力することができるようです。ここでは初期見積という意味合いで「残り時間」の方に予定時間を入力します。「所要時間」の方は空欄のままにしておきます。「保存」をクリックすると予定時間が記録されます。
同じStoryのサブタスク残り2つにも同じように「残り時間」をそれぞれ「5h」「2h」と入力します(手順は省略)。するとStoryには下図のようにサブタスクの合計時間が表示されます。
同様に、Taskにも「残り時間」を入力しておきます。
予定時間の確認
次のスプリントで実施予定の課題が、メンバーが稼働できる時間枠に収まっているかどうかを確認すると仮定して、課題の予定時間の合計値や一覧を確認するにはどうすればいいでしょうか?
まずは事前準備として、スプリントを作成して実施予定の課題をスプリントの中に入れます。バックログ画面で「スプリントを作成」ボタンを押してスプリントを作成します。
そして、課題をドラッグ&ドラッグするなどしてスプリントに含めます。
2020年12月現在では、次世代プロジェクトにはそのための最適なビューはまだ提供されていないように思われますが、ここでは2通りの方法を提案します。
- 高度な課題検索を使う
- Story point estimateに予定時間と同じ数値を入力しておく
高度な課題検索を使う
上部メニューから「フィルター」>「高度な課題検索」を選択します。
画面右端からビューを「一覧ビュー」にしておきます。(画面上部の検索条件で「プロジェクト」「Sprint」を選択することで課題に絞って表示することができます。)
画面右の「列」をクリックして表示列をカスタマイズします。「Story point estimate」「Σ残余見積」「Σ消費時間」「Σ進捗状況」を表示しておきます。
このように高度な課題検索で、対象の課題を抽出し、表示する列をカスタマイズすることで、予定時間の一覧と合計を確認することができます。「Σ残余見積」の合計値を確認しましょう。
ちなみに「Σ残余見積」は実際に作業実績を入力すると減っていき、課題が無事に完了するとゼロになります。後で計画時の予定時間と実績時間を比較しようと思った時に、計画時の予定時間が分からなくなってしまいます。この問題はどうすればいいのでしょうか?高度な課題検索で表示可能な項目に「Σ初期見積」という列があり、そこに初期の見積値が入って欲しいのですが、残念ながら現時点ではそういう仕様にはなっていないようです。
Story point estimateに予定時間と同じ数値を入力しておく
上述した通り「Σ初期見積」が使えればベストなのですが、現時点では諦めて代替方法を考えました。その方法が、Story point estimateに予定時間と同じ数値を入力しておくという方法です。
下図のように時間の管理に入力した「残り時間」と同じ値を「Story point estimate」に入力しましょう。すべてのサブタスクと課題に同様に入力していきます。(サブタスクがある課題でもStory point ensimateは下位のサブタスクの合計値が自動反映されないため手入力します。)
入力すると、下図のようにバックログ画面にて予定時間が確認できるようになります。
Story point estimateは課題に要する予定時間の大きさという意味合いなので、課題の予定時間の管理方法としてはこちらの方法の方が適切と思われます。しかし、Story pointの本来の使い方は1時間単位といった絶対時間ではなく相対的な大きさでざっくり見積るというものです。なので、Story pointをこのように時間で使いたくないのが本音です。
実績入力
以上の手順により課題の予定時間を見積りスプリントの枠に収まりそうと確認できたと仮定して、「スプリントを開始する」をクリックします。
ここからは課題に実際にかかった時間の記録方法について見ていきます。
ボード画面で1つ目のサブタスクを進行中(IN PROGRESS)に移動して作業に着手したとしましょう。
2時間作業してあと1時間で終わりそうという状況で作業を中断になった場合を想定すると、実績の入力方法は下記の通りとなります。まず、実績を入力したい課題(サブタスク)をクリックします。
そして、この画面の「時間の管理」をクリックします。「所要時間」に実際にこれまでに作業した時間を、「残り時間」にあと何時間かかりそうかという見込みを入力して保存します。
その後、作業を再開して(予定を1時間超過して)2時間作業して完了したとします。課題をDONEレーンに移動した後に下図の通り「所要時間」と「残り時間」を入力しましょう。
このように1つの課題に対して複数の作業ログを登録することが可能です。作業ログは下図のように課題のアクティビティの「作業ログ」から確認できます。
スプリントが進んでいき、Storyに紐づくサブタスクは予定と実績の差異こそあれ、すべて完了したとします。しかし、Bugの割り込みがあり、Bugは対応完了下ものの、Taskの課題が完了しなかったという状況を想定して見ます。ボードは下図の通りになります。
この状態でスプリントを振り返ることにしましょう。
課題の予定時間と実績時間を比較する
「高度な課題検索」でスプリント対象の課題を絞り込んで表示してみましょう。「Story point estimate」と「Σ消費時間」を比較することで、計画時点から乖離があった課題を把握することができます(わかりやすいとは言えませんが・・・)。
計画時点から乖離が大きいタスクは、今後のチームの見積精度向上のために振り返るようにすることで、チームの成長材料になると思います。
まとめ
本記事では、Jiraの時間管理機能について紹介してきました。きちんと予実比較を繰り返してチームの成長を促したい場合にこの機能の活用を検討してみてください。
※次世代プロジェクトではなくクラシックプロジェクトでは初期見積が使用できたので、理想的に課題の予実比較ができました。近いうちにこの機能が次世代プロジェクトにも実装されることを期待しています。