RAKUS Developers Blog | ラクス エンジニアブログ

株式会社ラクスのエンジニアブログ

振り返りの手法を理解しよう~KPT法編~

はじめに

こんにちは、@rs_tukki です。
以前id:radiocatさんが記事にされていましたが、効率よくプロジェクトを進めるにあたって、「振り返り」を行うことは非常に大切です。
今回は、その「振り返り」の手法のひとつ、KPT法について話したいと思います。

tech-blog.rakus.co.jp

振り返りとは

振り返る
読み方:ふりかえる

(1)身体を翻して後方を見る、後ろ側を向く、などの意味の表現。
(2)過去の物事を顧みる、思い起こすこと。回顧すること。
(3)これまで行われてきた物事の一連の流れを総括すること。

引用:振り返る(ふりかえる)の意味や定義 Weblio辞書

今回扱う、プロジェクトを進めるにあたっての「振り返り」は、このうちの(3)にあたります。
ここまで実施したことの内容と結果、それを通じて学んだことをメンバー全員で確認することで、これから実施することを見直し、改善していく作業のことを指します。
特にアジャイル開発を採用したプロジェクトだとスプリントごとに行うことが多いですが、開発現場に限らずとも、複数人で何かを進めていく場では、よりよい方向を目指すために役立ちます。

なぜ振り返りが大切なのか?

「振り返り」という言葉だけでは、「反省」と勘違いされることがあります。
しかし、反省が、過去の失敗がなぜ起こったのか、という原因の追及を行うのに対して、振り返りは、目標にしていたことが達成できたか達成できたのなら次の目標はどうするか達成できなかったのならどうすれば達成できるようになるのか、という考え方のもとに進めていきます。
次の仕事をより効率よく改善していくためには、単なる「反省」ではなく、「振り返り」を実施することが大切なのです。

KPT

KPT法とは、振り返りの手法として用いられている枠組みの1つです。 今までの仕事の中で感じたことを、
一人ずつ「Keep」「Problem」の二つに分けて挙げてもらい、議題とします。その中から次の改善案となる取り組みを「Try」として選び実施していきます。

元々はAlistair Cockburn氏が2004年の著書で提唱した理論を、平鍋 健児氏がKPTと呼んだのが始まりのようです。既に15年近くも使われている伝統の手法みたいですね。

tbpgr.hatenablog.com

f:id:rs_tukki:20181204161628p:plain

K ~Keep:継続すべきこと~

Kには、実施してよかったこと、今後も継続して実施していきたいことが入ります。

例えば、新機能の開発を行うとき、複雑なコードをモブプログラミングで実装したとします。その機能が大きなバグもなく、スムーズにリリースできたというKeepがあれば、モブプログラミングの実施は効果があった、という判断ができ、またそれを提案した人が達成感を覚える機会にもなります。

P ~Problem:問題だと思うこと~

一方でPには、失敗したこと、これから改善していきたいことが入ります。

例えば、バグの修正を行うとき、影響範囲がどこなのか、よく調べずに取り組んでしまったとします。
結果、修正に余計な時間がかかってしまった、別のところにバグが発生してしまった、というProblemがあれば、その問題を共有するとともに、改善へ向けた意識付けができます。

ここで問題なのは、先ほど書いたように原因の追及をしないということです。
起こってしまった問題に対して個人を攻撃するのではなく、どうすれば改善できるか、を考えることが大事です。

T ~Try:改善していくこと~

最後にTは、今まで挙がった内容を踏まえて、次の機会にどのように実施していくかのまとめが入ります。 上記の例で言えばモブプログラミングによる効率を上げるために、より多くの機能でモブプログラミングを実践する、
あるいはバグ修正の手戻りをなくすために、修正方針をレビューしてもらう、といった形です。
そして次回のKPTでは、今回Tryに挙げたことがまたKやPに入り、更なる改善を目指していくのです。

f:id:rs_tukki:20181204161701p:plain

KPT法のメリット

振り返りの手法には、有名なものでPDCA*1がありますが、こちらではそれぞれの中で具体的にどのようなことをすればいいのかが曖昧です。
KPT法では、PDCAの中のCAに絞った手法を具体的に示しているので、初めて振り返りをする場合でも、何を確認して何を話し合えばいいのか分かりやすいのがメリットと言えます。

実践例

以下の画像は、私たちのチームで毎年実施しているとあるプロジェクトのKPTです。

f:id:rs_tukki:20181204161720p:plain

特別な道具を用いる必要はなく、一つのExcelファイルへメンバーが一人ひとり自由に記載してもらっています。
ここで重要なことは、意見の被りを気にしないことと、プロジェクトを実施するたびに行うことです。意見が被るということは、それだけ多くの人が同じことを感じているということですので、それだけ継続、あるいは改善の優先度が高まります。Problemの全てをTryにするのが難しい場合でも、意見の数を参考にTryにすること、しないことを判断できるのです。
また、KPTは1回で終えるのではなく、都度繰り返し実施することで、よりよいプロジェクトになっていくのではないかと思います。

おわりに

今回は、チームのプロジェクトを進めるにあたって振り返りが必要なこと、またその手法の一つとしてKPT法を紹介いたしました。
実施したことを適切に振り返り、改善していけば、効率が格段にアップするはずですので、ぜひ一度試してみてください。

参考

Alistair.Cockburn.us | Reflection workshop
「振り返り」をするかしないか、で変わること。振り返りは、未来の自分へのアドバイス…? | トレマガ
2018年の目標設定にも使える! “振り返り”に役立つ5つのフレームワーク|ferret [フェレット]
KPTとは | ふりかえりのフレームワーク・進め方・成功のコツ・ポイント | ビヨンド(Beyond)

*1:計画[Plan]、実行[Do]、評価[Check]、改善[Action]を繰り返していく手法のこと。

Copyright © RAKUS Co., Ltd. All rights reserved.