KPTで振り返るスプリントレトロスペクティブの進め方

# 概要
スプリントを振り返るイベント、スプリントレトロスペクティブ（以下、レトロスペクティブ）をKPTで振り返る方法をまとめました。
オンラインでレトロスペクティブを実施する場合を想定しています。
ファシリテーターの進行内容の準備、タイムキープに活用できます。

# 詳細
## KPTとは？
KEEP, PROBLEM, TRYの頭文字を取ってKPT（ケプト）と言います。
良かったこと・続けたいこと、改善したいこと・反省したこと、具体的な改善案、について振り返りながら意見を出し合います。

詳しくは[参考文献](https://meetsmore.com/product-services/talent-management/media/93642)をご覧ください。

## レトロスペクティブの進め方
レトロスペクティブをするにあたり、ファシリテーターが準備・進行する内容を整理しました。
あくまで私のやり方をまとめたものなので、1つの参考として使ってください。

### 事前準備

事前準備は2点です。
1. レトロスペクティブボードを用意する
2. レトロスペクティブのタイムテーブルを考える

それぞれ詳細を説明します。

#### 1. レトロスペクティブボードを用意する


オンラインで実施する場合、全員が同時に記入・操作が可能なツールを利用するのがおすすめです。
FigJamやMicrosoft Whiteboard等のツールで、KPTを記入するためのレトロスペクティブボードを用意し、参加するメンバーがアクセスできる状態にします。

以下はFigJamで作成した例です。
「KEEP」「PROBLEM」「Try」の他に「前回のTRY」がありますが、ここには1つ前のスプリントで決めた「TRY」の内容をコピペしておきます。初めてのレトロスペクティブでは、この欄自体削除した方が誤解が少ないでしょう。
また、「レトロの進め方」は補足的なもので、次の2.で決めたタイムテーブルを意識するために入れています（画像の内容は過去のもので、本記事の説明とは一部異なります）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3616996/910123ce-4be5-27f5-8ccd-ebf769e8ab1d.png)
図1. レトロスペクティブボードの例


#### 2. レトロスペクティブのタイムテーブルを考える

スプリントのなかで、あるイベントに費やせる最大時間をタイムボックスと呼びます。会議の制限時間、とも言い換えられます。
タイムボックスを守るために、どのようにレトロスペクティブを進めるのかを事前に決めておきます。
今回説明する全体像は以下の通りで、詳細は次の項で説明します。
レトロスペクティブで何をするかを整理し、順番を並べ替え、どの程度の時間を充てるか、事前に決めておきます。

1. メンバーにKEEPとPROBLEMの欄を記入してもらう
2. KEEPの内容を全体で共有する
3. PROBLEMの内容を全体で共有する
4. PROBLEMの内容が似ているものをグルーピングする
5. 次のスプリントで改善するPROBLEMを選択する
6. 改善する具体的な内容をTRYに記入する
7. 6で決めた内容をスケジュールやデイリースクラムの確認事項に追加する
8. 前回のTRYを振り返る

上記の通り、本記事では「レトロスペクティブボードはレトロスペクティブの時間に記入する」として進めます。
ただ、レトロスペクティブの時間が伸びてしまうことが多い場合は、「事前にレトロスペクティブボードを共有し、KEEPとPROBLEMは記入しておいてもらう」（1を事前に実施する）とすると会議の時間が削減できます。
この辺りの塩梅は、チームの習熟度やメンバーの人数、スプリント期間に応じて変えると良いと思います。

ちなみに、私はこの内容を1時間（1スプリントは1週間。14時開始）で実施しているので、以下のような進行内容と時間配分で準備しています。
「14時開始の場合」の列は、実際の時間がわかりやすいように記入しているものです。
記入や議論の時間をストップウォッチで測るやり方もありますが、その場合、議題と議題の間の切り替えの時間が無視される可能性が高いので、記入して意識するようにしています。
終了時間を超過しないように、計画の時点では5分の余裕をもっています。

| 進行内容 | 目安時間(分) | 14時開始の場合 |
|:-----------|------------:|:------------:|
| Opening. | 2 | 14:02 |
| 1. メンバーにKEEPとPROBLEMの欄を記入してもらう | 3 | 14:05 |
| 2. KEEPの内容を全体で共有する | 10 | 14:15 |
| 3. PROBLEMの内容を全体で共有する | 10 | 14:25 |
| 4. PROBLEMの内容が似ているものをグルーピングする | 5 | 14:30 |
| 5. 次のスプリントで改善するPROBLEMを選択する | 3 | 14:33 |
| 6. 改善する具体的な内容をTRYに記入する | 10 | 14:43 |
| 7. 6で決めた内容をスケジュールや<BR>デイリースクラムの確認事項に追加する | 5 | 14:48 |
| 8. 前回のTRYを振り返る | 5 | 14:53 |
| Closing. | 2 | 14:55 |

### レトロスペクティブ本番の流れ

準備したスケジュールに従い、レトロスペクティブを進行します。
各進行内容の詳細を説明します。

#### Opening.
開始の挨拶です。慣れてきたらスキップして1.にすぐに入っても問題ありません。
チームが初めてレトロスペクティブを実施する場合は「レトロスペクティブの目的」を説明したり、大変なスプリントだった場合には「チームへの労いの言葉」を伝えたりすると、雰囲気良くレトロスペクティブを開始できると思います。

全員がレトロスペクティブボードを開いているかも、ここで確認します。必要があれば再度レトロスペクティブボードのURLを共有します。

#### 1. メンバーにKEEPとPROBLEMの欄を記入してもらう
記入の時間です。FigJamはタイマー機能がついているので、自分で時計を見なくても時間を測ってくれます。
残り時間が短くなってきたら、時間が足りているかメンバーに確認すると優しいです。
記入が早く終わった様子であれば、切り上げて次に移ります。

#### 2. KEEPの内容を全体で共有する
KEEPは「良かったこと」「続けたいこと」なので、全体で共有して「これからもこの状態が維持される」ように意識づけます。
また、ある人にとっては当たり前で気づかなかったことも、他の人にとってはとても有用で「良かった」と感じたかもしれません。
どんな意見も「こんなの当たり前だよね」と言わずに、「確かにいい点だね」と肯定すると次回のKEEPが出やすくなると思っています。

共有する際は、記入者に書いた内容を簡単に説明してもらうと、メンバーの発言する機会が増えるのでおすすめです。
量が多かったり時間の制約があったりする場合は、ファシリテーターが読んで内容を確認します。

#### 3. PROBLEMの内容を全体で共有する
PROBLEMは「改善したいこと」「反省したこと」です。個人レベルの反省点から、チーム全体の改善点までいろいろ出ることが多いです。

共有する際は、記入者に書いた内容や状況を具体的に説明してもらいます。
このとき、改善案の議論になることがありますが、残り時間によっては区切って先に進めます。その議論はTRYを決める際にします。

#### 4. PROBLEMの内容が似ているものをグルーピングする
共有された内容を踏まえ、意見（レトロスペクティブボード上の付箋紙）を並べ替えてグルーピングします。
何枚かの内容を代表するようなコメントをつけると、課題が一言でわかりやすくなります。

例えば、「レビュー待ちが長かった」「同じタスクを別の人がレビューしていた」「マージ後にバグが見つかって手戻りが発生した」のような付箋紙が同一のグループに入れられた場合、「レビューのルールが決まっていない」とファシリテーターがラベルをつけてみます。
メンバーに確認して、もっとわかりやすい表現や課題を適切に表す言葉があれば、それを採用します。

#### 5. 次のスプリントで改善するPROBLEMを選択する
PROBLEMは全て対応できることが望ましいのかもしれませんが、実際次のスプリントで改善できることは1つか2つだと考えています。そのため、解決を試みるPROBLEMを絞ります。
この数はチームの習熟度にもよりますが、最初は1つから初めても十分だと思います。

選択するときは、PROBLEMの意見1つの単位ではなく、4でグルーピングした塊を対象にします。このときの決め方はメンバーの投票でも、課題に感じた人が多い（付箋紙の枚数が多い）でも構わないと思います。
「この課題を改善したらチームはもっと良くなるはずだ」と思えるものを選ぶと、メンバーも意識しやすいですし、リマインドしたときのやらされ感も少ないです。

#### 6. 改善する具体的な内容をTRYに記入する
選んだPROBLEMをどのように改善するか、実行する内容をTRYに記入します。
「具体的にどのように行動する」かを書くと、スプリント内で意識しやすいです。
つまり、新しくルールを設定します。

例えば、「インクリメントの内部レビューの手順が決まっていない」という形にグルーピングされたPROBLEMがあったとします。
その場合、レトロスペクティブの中でレビューの手順を決めて、「次のスプリントではこのルールに従ってレビューをする」という新しいルールを決めます。これがTRYです。

#### 7. 6で決めた内容をスケジュールやデイリースクラムの確認事項に追加する
TRYで決めた内容を全員が常に覚えて実行できれば良いですが、スプリントは大抵忙しいので忘れてしまいます。
そうならないように、TRY（新しいルール）をスケジュールに組み込んだり、デイリースクラムで必ず見るところに貼り付けたりします。
また、スクラムマスターはTRYがスプリント内で実行されているかを、定期的にリマインドすると良いです（私はデイリースクラムで確認するようにしています）

#### 8. 前回のTRYを振り返る
7までの内容はスプリント全体の振り返りですが、追加で前回のTRYがどうだったかを振り返ります。
つまり、「課題を改善するために決めた新しいルールはどうだったか」を確認します。

確認する観点は2つです。
1. そのルールは実行できたか・できなかったか
2. 今回のスプリントでも継続するか・しないか

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3616996/63d3d190-fa8e-666d-78a4-e8c5b068b961.png)
図2. 継続判断の4象限

A. は「実行できた」×「継続する」で、「今後も継続したいもの」が該当します。
B. は「実行できた」×「継続しない」で、「1回の達成によって完了するもの」が該当します。
C. は「実行できなかった」×「継続しない」で、「スプリント中実行されず、再度検証する必要なく廃止するもの」が該当します。
D. は「実行できなかった」×「継続する」で、「スプリント中実行されなかったが、検証のため再度取り組むもの」が該当します。

基本的にはAまたはBになりますが、スプリントの状況によってはDになることもあります。このとき、TRYを修正して実行しやすくなるように再検討しても良いかもしれません。
また、レトロスペクティブでPROBLEMとして挙げたけれど、実際それほど問題にならず、Cになる場合もあります。
この評価によって、チームがどれくらいレトロスペクティブを活かせているかがわかると思います。

#### Closing.
終了の挨拶です。時間が無い場合は割愛しても問題ありません。

決定したTRYの内容を復唱してメンバーに意識づけたり、次のスプリントに向けて前向きな言葉をかけたりして、レトロスペクティブに対して明るいイメージを持ってもらうようにします。
これは、レトロスペクティブが「悪いところ探し」になって、チームの雰囲気が暗くなるのを防ぐためです。
時間が余った場合には、レトロスペクティブを実施してみての感想を聞いたり、レトロスペクティブ自体の改善案についてチームに意見を出してもらったりしても良いかもしれません。

終了時間を厳守して、レトロスペクティブを終えるようにしましょう。
（会議時間が超過する場合の対応方法については、今回は割愛します。ファシリテーターは頑張ってタイムマネジメントしましょう）

### 事後作業
TRYの内容を転記する場所があれば、移動しておきましょう。チームがTRYを意識して実行できるようにリマインドすることも、事後作業に含まれます。

また、「今後も継続したいもの」となったTRYは、チームルール（Working Agreementとも。チームの共通ルール）に入れておくと、チームの決め事が可視化されて後から振り返りやすいです。
管理の仕方はチーム次第ですが、私は上記のようにして、過去のレトロスペクティブボードを引っ張りださなくても一覧できるようにしています。


その他、タイムテーブルの通りにレトロスペクティブが進行できたかも確認して、次回に活かします。
このあたりは一般的なタイムマネジメントと変わらないかもしれません。

以上を以って、レトロスペクティブを終わります。

# 備考
## 参考文献
https://meetsmore.com/product-services/talent-management/media/93642