まとめ
Azure DevOpsでScrumプロセステンプレートを使用するときは、PBIに着手するときにStateをCommittedにすることで、Cycle Timeが正しく算出される
Azure DevOpsのPBIのState
Microsoft Learnによると、PBIのStateは次のようになっています。
- New: 新しくPBIが作成された
- Approved: PBIがプロダクトオーナーによって承認された
- Committed: チームによってコミットされた
- Done: 作業が完了した
これだと「コミットされた」がわかりづらいのですが、このタイミングはいつでしょうか?
まずは、スクラムにおける「コミット」について見てみます。スクラムガイドのRevision Historyを見てみると(太字は筆者)、
Changes between 2010 and 2011 Scrum Guides
Development Teams do not commit to completing the work planned during a Sprint Planning Meeting. The Development Team creates a forecast of work it believes will be done, but that forecast will change as more becomes known throughout the Sprint.
2011年度版以前は、スプリントプランニングで選択することを「コミット」と呼んでいたことがわかります。そして、Azure DevOpsの説明も2018年以前は、
the team updates the status to committed when they decide to complete the work during the sprint
となっており、スプリントプランニングで選択したものを表すことがわかります。
Cycle Timeと照らし合わせると
一方、PBIとCycle Timeとの関係について見てみます。Cycle Timeは、一般的な意味としては工程を開始してから終了するまでです。Azure DevOpsのダッシュボードウィジェットでは、Scrumプロセステンプレートに対して、CommittedになってからDoneになるまでを表します。
これが工程の開始から終了までに紐づくということは、Committedにするタイミングはスプリントプランニング時点ではなく、PBIの最初のタスクに着手した時点だということがわかります。そうすることで、Cycle Timeが正しく求められます。
参考
- https://learn.microsoft.com/ja-jp/azure/devops/boards/work-items/guidance/scrum-process-workflow?view=azure-devops#scrum-workflow-states
- https://learn.microsoft.com/en-us/azure/devops/report/dashboards/cycle-time-and-lead-time?view=azure-devops
- https://scrumguides.org/revisions.html
- https://www.developervote.com/confusing-committed-status-in-azure-devops/