だいくしー(@daiksy)のはてなブログ

daiksyの徒然的なもの 以前のブログはこっち -> http://daiksy.blogspot.jp/

SlackでKPT用botを仕込んでみた - リモートチームのKPTテクニック -

ぼくたちの開発チームは、現在1スプリント2週間のスクラムチームとして活動している。スプリントの最後には振り返りを実施しているが、そこではおなじみのKPTを採用している。

参考: 情報マネジメント用語辞典:KPT(けいぴーてぃー) - ITmedia エンタープライズ

チームは複数拠点にメンバーが分散しているリモートチームで、振り返り会はテレビ会議を使って行われるので、KPTのやり方にもそれなりの工夫が必要となる。

Googleスプレッドシートを使ったKPT

通常のKPTでは、大きな模造紙やホワイトボードに、Keep、Problem、Tryの領域を定め、そこにそれぞれの内容について書かれた付箋紙を貼っていく。他の人が書いた付箋の内容が呼び水となって、他の人が別の課題を思いついたりもするので、全員が揃って付箋を次々に貼っていく、というスタイルが良いとされている。

メンバーが複数拠点にまたがっているリモートチームだと、少し事情が異なる。まず、模造紙と付箋紙、という物理的なメディアでの運用が難しい。拠点それぞれでKPT用ボードを使うと、それをどうやってマージしようか、という問題がある。

そこで、Googleスプレッドシートを使ってKPTボードを運用することにした。

daiksy.hatenablog.jp

以前こちらのエントリでも書いたが、Googleスプレッドシートを使ったリモート振り返りはうまく機能する。ログインしている他のユーザの編集状況がリアルタイムに反映されるので、ひとつのKPTボードにメンバーが次々と付箋紙を貼っていく様子をオンライン上で再現できるのである。

スプリント中のKPTをどう拾い上げるか

スプリント最後の振り返り会は、最初の15分で皆に一斉にスプレッドシートKPTを記入してもらうところからはじまる。しばらくこのやり方を続けていたが、次第に、スプリント中にKPTに書こうと思いついたことがあっても、振り返り会当日になると忘れてしまう、という課題がもちあがった。

全員が同一拠点で仕事をしているチームなら、解決方法は造作もない。開発チームが仕事をしている部屋の壁に模造紙を貼り、スプリント中に思いついたらここにどんどん付箋を貼れるようにすればよいだけだ。ところが、リモートチームだと少し事情は異なる。

KPT用のスプレッドシートを事前に作っておき、スプリント中そこに思いつき次第書き込めば良いではないか、と思われるだろうが、実際にやってみるとこれは難しい。

課題を思いついて、ブラウザを開き、スプレッドシートのURLを打ち込むか、ブックマークから探し出すかしてスプレッドシートにアクセスし、そこに内容を書く。壁の模造紙に付箋を書くことに比べると、実に面倒な手順だ。KPTを思いついても、スプレッドシートにアクセスするの面倒だし、後にするか、と思っているうちにやはり忘れてしまう。

もっと気軽にKPTを書き込める仕組みが必要なのだ。

SlackにKPTbotを仕込んだ

どのツールを使えば最も気軽にKPTを書けるか。いろいろ考えた末、Slackを使うことにした。リモートチームとして、我々は日常的にSlackを使ってコミュニケーションしている。Slackであれば、仕事中に常にアプリが立ち上がっているので、気軽に書きやすいだろう。

仕組みは実に単純。SlackのOutgoing Webhooksで、Google App Scriptに投稿内容を飛ばす。Slack上では、予め “K:"、"P:"、"T:” などのプレフィックスをルールとして決めておいて、そのプレフィックスに応じて、投稿内容をスプレッドシートのそれぞれの列に転記するのである。

転記が成功したら、Google App Scriptが成功した旨をSlackに返信する。

f:id:daiksy:20170218122519p:plain

こちらが、その様子。

KPT投稿には、Slackに専用チャンネルを用意して、他の議論と混ざらないようにしている。 定時が近づくと、普段コミュニケーションに使っているチャンネルに、リマインダーが現れ、KPTチャンネルに誘導したりもしている。

f:id:daiksy:20170218122658p:plain

まだ運用をはじめて日は浅いが、今のところ活発に日々投稿されているので、試みとしてはうまくいっているように思う。