UZABASE Tech Blog

〜迷ったら挑戦する道を選ぶ〜 株式会社ユーザベースの技術チームブログです。

SPEEDA開発チームをブーストするふりかえりのカルチャー

こんにちは!SPEEDA開発チームの岩見です。
この記事では私たちSPEEDA開発チームの中でも特徴的な文化のひとつとなっている、ふりかえりについてご紹介します。

以下のような方々のお役に立つことを願っています。

  • 自分たちのチームでもふりかえりをやってみたい方
  • ふりかえりはやってるけどなんだかマンネリ化している方
  • 色々なふりかえりの運用、実例が知りたい方

SPEEDA開発チームにおけるふりかえり

私たちSPEEDA開発チームでは、プロジェクト単位の少人数のチームに分かれ、それぞれがエクストリームプログラミング(通称XP)をベースとしたアジャイル開発を行なっています。
私たちは短い開発サイクル(イテレーション)を継続的に繰り返す中で、プロダクトとチームでの開発をインクリメンタルに改善、洗練させていくことを目指しています。
こうした中で、私たちはイテレーション(多くの場合1週間が1イテレーションに相当します)の終わりに、ふりかえりを必ず実施しています。

ふりかえりの中では、イテレーションの開発を振り返って、次のイテレーションでの自分たちの開発を改善する為のアクションを一つ設定します。
アクションの数を絞っているのは、数が多すぎても一つ一つのアクションに対する精度が落ちてしまうリスクがあるためです。
短いイテレーションの中でより本質的なアクションを実施する為に、ふりかえりの時間の中で問題の洗い出し、深掘りを集中的に行うようにしています。

こうして決まったアクションをチームで実行しながら、私たちはプロダクトとチームでの開発プロセスを日々進化させています。

SPEEDA開発チームのふりかえりの特徴

私たちがふりかえりのためのミーティングを行う際には、一つの決め事が存在します。
それは、自分たちの所属しているチームの外側から、一人のメンバーにファシリテーターとして参加してもらうことです。
例えばイテレーションのふりかえりであれば、自分たちのプロジェクトチーム以外のエンジニアにファシリテーターとして参加してもらいます。
このエンジニアの中には、Webアプリケーションエンジニア、テストエンジニア、データサイエンティストといった多様なロールのメンバーが含まれています。
また、ファシリテーターの選出には、偏りや重複が出ないように、シフトを組んで回す形をとっています。
そのため、チーム内のエンジニアは、おおよそ1ヶ月に一度、どこかのチームのふりかえりをファシリテーションすることになっています。

SPEEDA開発チームにおけるファシリテーターの役割

ではファシリテーターは何をしているのか、というと、以下のような役割を担っています。

議論しやすい場の設定

ユーザベースの六本木オフィスにはラウンジと呼ばれる社内ミーティング用の広めのスペースがあります。
ファシリテーターはそこにホワイトボードと人数分の椅子をセットし、参加者が議論ができるようなスペースを作ります。
その際には、椅子の配置をメンバーの顔が全員見えるように、かつホワイトボードが見やすいように、ホワイトボードを囲むような形で椅子を設営します。

議論しやすい場作りは、ふりかえりの最中にも行われます。
あるメンバーがあまり議論に参加できていなければ、ファシリテーターがそのメンバーに発言を促したり、議論が脇道にそれてきた際には、議論の進行をメンバー全員で確認したり、と言ったことを行います。
こうした場作りによって、参加者がより議論をしやすい場面を作るのが、ファシリテーターの役割の一つです。

アクティビティの選定を含めた全体の進行

ファシリテーターは、ふりかえりたいテーマに合わせてアクティビティの選定や、タイムスケジュールの設定、タイムキープを行います。
SPEEDA開発チームのふりかえりでは、KPTとよばれるメジャーな手法以外にも様々なアクティビティが用いられています。
例えばイテレーションで起こったことを満遍なくふりかえりたい場合にはタイムライン*1、各メンバーが思っていることや感情に着目してみたいときにはチームレーダー*2や喜怒哀*3、と言った具合に選出を変えていきます。

ファシリテーターの好みとセンスに応じてどのような手法を用いるかが決められるので、参加者は毎回新鮮な気持ちでふりかえりに臨むことができています。

アクティビティは、アジャイル・レトロスペクティブズFun Retrospectivesを参考にして選んだりしています。
特にアジャイル・レトロスペクティブズは、私たち開発チームのメンバーの教科書のようなものになっており、私もファシリテーションを行う際に読み返したりしています。

ファシリテーターを置くメリット

チームの外側からファシリテーターを招くことで、以下のようなメリットを実感しています。

ファシリテーターが他のチームへの理解を深めることができる

SPEEDA開発チームでは、定期的にプロジェクトチーム間での入れ替えを行なっています。
これは、プロジェクトに関する知識、技術を特定個人に偏らせないようにするための施策です。

ファシリテーターとして他のチームのふりかえりに参加することで、他のチームの現在の状況を高い解像度で知ることができます。
結果、いつでもチームメンバーの入れ替えを行うことができるようになっている状況を作り出す一因となっています。

ファシリテーターが問題を構造的・俯瞰的にとらえる能力が高まる

ファシリテーターには、チームで議論されている問題を俯瞰してとらえることが求められます。
議論の進行に合わせて、参加者に様々なアクションを促し、より良い解決策に導く必要があるためです。
ファシリテーションは問題を構造的、俯瞰的にとらえる絶好の機会となっています。

チームのメンバーが議論に集中することができる

これはチームメンバーの視点から見たメリットなのですが、ファシリテーターを別途置くことで、参加者が残り時間などに気を取られず、議論に集中することができるようになります。
結果、短い時間の中でも、腰を据えた議論ができるようになり、より効果的なアクションが打てるようになります。

さいごに

私たちはふりかえりを定期的に実施していますが、同時に「ふりかえりに甘えてはいけない」ということもチーム内で話しています。
これは、ふりかえりの場を設定しているからと言って、チームの問題や改善策について議論する場をそこだけに限定してはいけない、という意図からきているものです。
私達のチームでは直接的な対話を重視して仕事をしており、何かチームで議論、改善するべき事項が出た際には、そのタイミングで議論をするようにしています。
この文化とふりかえりの両輪で、チームとしてより良い姿を目指して日々開発を行なっています。

私たちが目指すチームの姿は、CTO林の以下の記事で紹介しています。
journal.uzabase.com
興味を持たれた方は、是非以下までご連絡ください!
Uzabase, Inc. - Jobs: SPEEDA ソフトウェアエンジニア(サーバー/フロント) - Apply online


それでは良いふりかえりライフを!

*1:時系列に沿って、チームで起こったことや、チームメンバーが感じたことを付箋に書き、貼り出すアクティビティです。一定期間内での時間、因果関係に沿ったデータを収集するのに適しています。

*2:チームで大切にしている価値観(XP Valuesを用いたことがあります。)をレーダー上で表し、各チームメンバーがどのように評価するかを5点満点などでプロットします。その後、プロットされた点数を元に、何故そう思ったかをディスカッションしていきます。

*3:その名の通り、「喜ばしいこと」「怒りを覚えたこと」「哀しかったこと」という軸でデータを収集します。チームメンバーの感情面に着目するアクティビティです。