はじめに
私が属するアジャイル開発のチームでは、進捗管理に「バーンダウンチャート」を使っています。
管理する上で、
「作業は進んでるはずなのに、チャートに変化がなくて進捗がよくわからない!」
「チャートを見積・実績時間で見ようとしているけど、時間の入力は手間がかかる!」
など思ったことはないでしょうか?
今回は、そんな悩みをJMWEアドオンを使って解決した事例を紹介します。
JMWEアドオンとは?
「Jira Misc Workflow Extensions」の略で、アトラシアン公式の有償アドオンです。
名前の通り、JIRAのワークフロー機能を拡張してくれます。
問題となっていたこと
バーンダウンチャートを見ても、進捗がよくわからない・・・
作業はチケットごとに分け、チケット毎に見積を行い、「ストーリーポイント」を割り振ります。
バーンダウンチャートでは、この「ストーリーポイント」の消化状況を見て進捗が遅れているかどうかを確認していました。
しかし、チケットが完了するまでチャートのグラフに変化がないため、
グラフを見ても「・・・これって、進んでるの?遅れてるの?」という判断ができない状態でした。
「ストーリーポイント」以外でチャートを見る方法はないか?
数値項目のカスタムフィールドを作成すれば、その項目を「バーンダウンチャート」の指標として扱うことができます。
ただ・・・、新たに項目に、チケットを移動させるたびに何か値を設定するような運用は、ものすごく手間がかかるため現実的ではありません。
また、見積と実績の時間を入力した上で、それをバーンダウンチャートで見る方法もあります。
この方法は細かく状況を把握するには適していますが、見積時間と実績時間をしっかりと入力しなければいけないため、
多少なりとも手間ですし、入力し忘れに気をつける必要があるなど、開発者への負担かなと思います。。。
もっと簡単で有用な方法はないか?
目的は、「作業の進捗が開発の途中経過の段階でわかるようにすること」なので、
チケットのステータスが変わるごとに、バーンダウンチャートが変化させることができれば良いはず・・・。
そこで、新たに**「残ストーリーポイント」というカスタムフィールドを作成し、その項目に計算式で値を埋める**ことが出来ないか、試して見ました。
例えば、以下のような感じです。
例)
<ワークフロー>
[To Do] → [In Progress] → [In Review] → [Test] → [Done]
ストーリーポイントが5ptの作業のステータスを「In Review」に変更した場合、
5pt * 50% = 2.5pt
として、残ストーリーポイント項目に「2.5」をセットする。
ワークフローのトランジションの「事後操作」
JIRAのワークフローでは、チケットの移動(トランジション)を行った後の操作、で様々な処理を行うことができます。(事後操作)
JIRAの標準の設定方法でも、「事後操作」でチケットの値を更新するなどの操作はできます。
ただし、今回やりたいことは、「ストーリーポイントに対する掛け算」のため、計算式を書く必要があります。
この場合、JIRA標準の方法では実現ができませんでした。
そこで、JMWEアドオンの出番です。
JMWEアドオンを使う
「事後操作」で、計算式の結果をセットする
ワークフローのトランジションの「事後操作」として、計算式をセットするようにします。
手順
- ワークフロー画面でトランジションを選択した状態で、「事後操作」を選びます。
- トランジションの画面で「事後操作を追加」を選びます。
- 「Set field value (JMWE add-on)」を選びます。
-
Fieldに「残ストーリーポイント」を選択し、Value欄に計算式を書きます。
例: {{issue.value["Story Point"] * 0.5}} -
1〜4の作業を、すべてのトランジションに設定します。
設定した後の状態
設定後・・・
スプリントを開始して、作業を開始しましょう。
チケットのステータスを移動させると、残ストーリーポイント項目の値が自動で変わってくれます。
「残ストーリーポイント」でバーンダウンチャートを見てみる
運用開始してから数日経った時点で、残ストーリーポイントを指標としたバーンダウンチャートはこんな感じになりました。
劇的に見やすくなりました!!
注意点
スプリントの途中でストーリーポイントを変更した場合、残ストーリーポイントの値が変わってくれませんので、
手動で値を変更する必要があります。
ただし、スプリントの途中でストーリーポイントを変更するというのは、そもそもやらない方が良いことなので、イレギュラーケースとして手動で変更するのは致し方ないのかなと思います。
以上