スクラムイベントの スプリント振り返り ( Sprint Retrospective ) は Scrum.org の Scrum Guide に定義されています。スプリント期間の終了時に、スプリント期間1週間につき 45分(4週間なら3時間)の時間をとって、何が良かったか?何が良くなくてどう改善するか?をみんなで話し合います。
他のスクラムイベントはしっかりやれているのに、スプリント振り返り だけやれてないという話はよく聞きます。重要なこのイベントを、ちゃんとやれるように何とか定着させたいところです。
Azure DevOps にはスクラムで開発するために必要な機能がおおよそ揃っていますが、標準ではスプリント振り返りに関する機能がありません。
しかし、Microsoft DevLabs の拡張機能を Azure DevOps にインストールすると、Azure DevOps の画面で スプリント振り返り を行うことができます。
Retrospectives 拡張機能 (Marketplace)
Retrospectives は Azure DevOps の Boards(スプリント・バックログ・タスク を扱う画面のグループ)に画面が追加されます。
この画面でいわゆる KPT ( Keep, Problem, Try ) の手法で振り返りを行うことができます。
スプリント期間用の画面を作成して開始します。
良かったこと Keep を左の「What went well」に、良くなかったこと Problem を右の「What didn't go well」に追加します。メンバーがそれぞれ自分のアカウントで Azure DevOps を開いてそれぞれ追加でき、ちゃんと名前も表示されるので、リモートでも出来て、ホワイトボードでやるより手間がありません。
「Group」で意見をまとめたり、「Vote」では気軽に「いいね!」感覚で投票できたり、良い感じです。
最後に「Act」の画面で、Azure DevOps の work item(タスクやバックログなど)を追加することができます。いわゆる Try として、改善のために次のスプリント期間でやることを、ちゃんと、Azure DevOps 標準のタスクとして登録して、実施することができます。これがかなりい良い!!
「KPTを話し合って終わり」ってよくあって、その後 T が具体化されずに、毎週同じ T が続くことってあるんですよね。でも、Work item を Sprints に登録するのなら、(Azure DevOps を使いこなせるようになったチームであれば)実行可能な具体的なタスクを作ることが自然にイメージされます。そういうタスクでなければ落ち着かない。
Retrospectives で追加したタスクは、そのまま Sprints に親の無いタスクとして登録されます。
Epic・Feature・Product Backlog に関連付けたタスクしか作らないようにしていると、これらのタスクは少し居心地が悪いですが、実際にちゃんとスクラムをやっていると、Product Backlog には関連づけにくい、でもスクラムを維持・改善するにやらなければならない、そういうタスクってありますよね。でも、タスクを任意に追加できるのは、それはそれでちょっとやりずらい。そういう時に、Retrospectives で追加したタスクは OK とすると、チームとして運用がしやすいように思います。
Azure DevOps ではスクラムを開始する最初に、スプリントの期間(日付)を設定します。この時一緒に、Retrospectives をインストールして、最初の振り返りの画面を作っておくと良いでしょう。
Retrospectives は スプリント振り返り の他、スプリントレビューでもらったフィードバックをその場でリアルタイムに追加することにも使えます。Retrospective と Review といった文字と、スプリント期間を組み合わせた名前を付けるとわかりやすいと思います。