gas
KPT
スクラム

「いいね!」できるKPTをスプレッドシートで作る!

スクラムと KPT

こんにちは新規事業でスクラムマスターをやっている halhorn です。
私のチームではスクラムの振り返りに KPT を使っています。
KPT は Keep Problem Try の略称で、良いことや問題点、改善方法を洗い出してチームをより良くする手法です。

  • Keep: 続けたいこと。良いこと。
  • Problem: 問題点。改善すべきこと。
  • Try: これからやりたいこと。

Problem があれば、対になる Try を書いた人が考えたり、チームで考えたりします。
これを定期的に行うことで、継続的にチームの良い部分をみんなで認め文化を定着させ、悪いところを改善していくことができます。

私のチームでは、この KPT にスプレッドシートを使っています。
image.png
KPT に付箋や Trello、その他ツールではなくスプレッドシートを使う理由としては以下の点があります。

  • Problem (や Keep) に対応する Try がどれか見やすい
  • みんな使い慣れた SpreadSheet なので学習コストが低い

KPT でいいねしたいよね!

KPT では、「ああ、それ私も問題と感じてたんだ」「それ、ほんといいよね!」といった共感をチームで共有できることが大事です。
KPT を話す場で口に出して共感するのがもちろん良いのですが、残念ながらみんなシャイなのであまり口に出して「それな」って言ってくれません。

そこで、スプレッドシート上で共感を示す「いいね」をできるようにしましょう。

image.png

  • 行の右の方に共感した人たちのアイコンが並ぶ
  • 右上の :thumbsup: ボタンを押すと、カーソルをあててる行に共感したことになる
  • 消す時は消したいセルを普通に消すだけ

作り方

スプレッドシートと GAS (Google Apps Script) で作ります。
簡単な js が書けることが必要になります。

スプレッドシートを作る

スプレッドシートを作って、上の画像のように列と行を作ってください。

  • 背景色を分けると楽しさがでておすすめ
  • 1行目のヘッダーとName の列は固定にしておきましょう。
    • メニューの、表示 -> 固定 でできますよ。
  • 右の方の列は全部幅を狭めにしておいてください。(1行の場合に正方形になるくらい)

GAS でコードを書く

スプレッドシートのメニューから、ツール -> スクリプトエディタ を選択します。

以下のサンプルを適宜いじったものを入れてくださいください。

function addMyIcon() {
  iconStartCol = 5  // アイコンを並べる最初の列。1から始まるよ。
  var iconMap = {
    'Aさんのメールアドレス': 'AさんのアイコンのURL',
    'Bさんのメールアドレス': 'BさんのアイコンのURL',
  }
  var sheet = SpreadsheetApp.getActiveSheet();
  var row = sheet.getActiveCell().getRow()
  var iconColValues = sheet.getRange(row, iconStartCol, 1, 100).getFormulas()[0] // カーソル行のアイコンの列の配列
  var col = iconStartCol + iconColValues.indexOf('') // 空になっている最初の列

  var userImage = iconMap[Session.getActiveUser().getEmail()]
  sheet.getRange(row, col).setFormula('=IMAGE("' + userImage + '")')
}

変更すべきは以下の2点です。

  • iconStartCol: アイコンを並べる最初の列を入れてください。
    • 私と同じスプレッドシートの作りなら5列目からアイコンが入る列になるので5です。
  • iconMap: いいねする人のメールアドレスからアイコンURLへのマッピングです。
    • 例: 'halhorn@fake.com': 'http://hogehoge.com/halhorn.png'
    • 残念ながらユーザーが増えるたびに変更が必要です。 Google のアイコン取ってくる方法だれか教えて

image.png

完成したら、スクリプトエディタの再生ボタンぽいやつを押して動かしてみましょう。
何も表示されないと思いますが、スプレッドシートの方に戻ったら自分のアイコンがカーソル行に追加されてるはず・・!
されてない、という人は Google Apps Scriptを実例交えて基礎からざっくり学ぶ Advent Calendar 2017 あたりを見ながらデバッグしてみてください。

スプレッドシートにボタンを作る

最後に、いいねボタンを作ってそれをクリックしたときに上で作ったスクリプト addMyIcon を実行するようにしましょう。
スプレッドシート上で以下を行います。

  1. メニューから、 挿入 -> 画像 でてきとうなボタン画像を挿入する
    • 図形とかでも OK
    • ボタンは、固定したヘッダの行あたりに置いておくのがおすすめ
  2. ボタンの「・・・」をクリックして、「スクリプトを割り当て」

image.png

  1. addMyIcon と入力

これでボタンをクリックすると、その時選択していた行に自分のアイコンがたされるはず!めでたし!

image.png

最後にチームに周知してみんなでいいねする雰囲気を作りましょう。
文化を作るのは、人間とツールですよ。