dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

大量のユーザーストーリーを素早く見積もる「サイレントグルーピング」という手法を知った

職場の同僚にこういう方法もあると教えてもらった。 その人も最近 Twitter で見かけたとおっしゃっていて、おそらく該当のツイートはこれ。

ここで言及されている記事をざっと読んで手法を学んだのでメモ。

記事

https://kenpower.ie/2011/05/22/using-silent-grouping-to-size-user-stories

記事自体は古く、2011年のもの。 XP2011 というカンファレンスで発表されたもののよう。

(2022-06-15 追記)
リンク切れになってしまった...

イントロ

  • ユーザーストーリーを見積もるためのよく知られたテクニックとして「プランニングポーカー」があるが、時間がかかり、不必要な議論に終始する可能性がある
  • これに対し「サイレントグルーピング」という手法はプランニングポーカーを補完するために使用でき、大規模なユーザーストーリーのセットを数分で見積もることができる

サイレントグルーピングのやり方

サイレントグルーピングは以下の4つのパートで構成される。

  1. Preparation
  2. Round 1: Individual Placement
  3. Round 2: Group Placement
  4. Discussion and Reflection

以下、順に見ていく。
前提として、見積もり対象のユーザーストーリーは事前に用意されているものとする。

1. Preparation

  • 下の図のようなボードを用意する。縦線で区切られ、各列には見積もりに使うストーリーポイントが振られている。

画像は記事より引用

  • また、グルーピングできないユーザーストーリーが出てきたときのためにパーキングロットを用意するのも良いアイディア
  • 中規模サイズのユーザーストーリーを1つ決める。これは、最初のいくつかのユーザーストーリーが比較されるベンチマークとなる

2. Round 1: Individual Placement

  • チームメンバーは一人ずつ順番に前に出て、1つのユーザーストーリーをボードに配置する
  • このラウンドの目標は、すべてのユーザーストーリーをボード上に配置することであり、したがって、すべてのユーザーストーリーの初期サイズの見積もりを得ることである
  • このパートを実行する一番簡単な方法は、単にメンバーが列を作って順にユーザーストーリーをボードに配置する方法だと思う

3. Round 2: Group Placement

  • チームメンバーは順番に前に出て、一度に1つのユーザーストーリーを動かす
  • このラウンドの目標は、すべてのユーザーストーリーのサイズについて、チームのコンセンサスを得ることである
  • このラウンドでは、競合が発生することがある。例えば、あるチームメンバーがユーザーストーリーを、例えば5から8に移動させ、別のチームメンバーが5に戻すというように、ユーザーストーリーが何度も移動させられることがある。この観察と意識的考察の行為で意見の相違が解消され、口頭で議論することなくサイズに合意することが非常に多い
  • ユーザーストーリーが2つ(またはそれ以上)のカラムをいったりきたりして、誰も妥協しない場合は、このユーザーストーリーについてもっと議論が必要なサイン。この場合ファシリテーターはこのユーザーストーリーをボードから取り除き、パーキングロットに置く

4. Discussion and Reflection

画像は記事より引用

  • ファシリテーターはチームに、それぞれのサイズに対する自信度を短い時間で議論させる。Fist to Fiveは良いテクニックだろう

サイレントグルーピングの利点("Summary of Benefits"より)

  • むちゃくちゃ早い
  • スケーラブル。著者はこの手法を最大8つのスクラムチーム(55人)と並行して使い、677のユーザーストーリーを28分でサイズアップしたことがある
  • チーム内の不明な点や意見の相違がすぐに浮き彫りになる
  • インクルーシブ。誰もがすべてのユーザーストーリーについてコメントする機会を得ることができる
  • プランニングポーカーを補完するものとしてうまく機能する。最初のベンチマークとなるストーリーはプランニングポーカーで見積もるとか、サイレントグルーピングでコンセンサスが得られなかったものだけプランニングポーカーでサイズを決定するとか
  • 話すことを明確に禁止しているので、内向的なチームメンバーが影響力を発揮しやすくなっている
  • グローバルなチームなどで言語の壁がある場合も有効

感想

👍良いと思った点:
これが有効な場面はあるなと感じた。たとえば過去の経験上も、四半期ごと・半年ごとなどの長めのスパンで粒度の荒い新機能(エピックと呼ぶことが多い)複数をざっと見積もる、というのをやったことがあるので、そういった場面であんまり時間かけずに見積もり出すのには機能しそう。

利点にも書いたとおりプランニングポーカーと比較してどちらかだけを使う、というよりは相互補完的なものなので、選択肢と持っておくのは良い。

あと、議論ベースの見積もりより平等なところも良さそう。性格的に内向的だったり入社して日が浅いメンバーであっても他の人と同じようにボードの前で意思表示しないといけないので、意見の偏りがない。

🤔気になった点:
「そんなうまくいくかぁ〜?」とは正直思った。発言禁止ってことはお互いが持ってる情報を出し合って認識を合わせていくみたいなことが基本できないので、ストーリーが列を行き来しながら徐々に特定の見積もりに収束するということが本当に起きるのか、やや懐疑的ではある。

余談

「エッセンシャルスクラム」でもちょこっとだけ紹介されてた。こちらはスプリントレトロスペクティブの文脈。

書籍「エッセンシャルスクラム」より引用