はじめに
現場でプランニングポーカーを利用して、工数を出していたのでやり方をまとめてみます。
プランニングポーカーとは
wiki( https://en.wikipedia.org/wiki/Planning_poker )によると
Planning poker, also called Scrum poker, is a consensus-based, gamified technique for estimating, mostly used for timeboxing in Agile principles. In planning poker, members of the group make estimates by playing numbered cards face-down to the table, instead of speaking them aloud. The cards are revealed, and the estimates are then discussed. By hiding the figures in this way, the group can avoid the cognitive bias of anchoring, where the first number spoken aloud sets a precedent for subsequent estimates.
プランニングポーカーは、スクラムポーカーとも呼ばれ、コンセンサスに基づく、ゲーミフィケーションによる見積もり手法である。プランニングポーカーでは、グループのメンバーは、声に出す代わりに、数字の書かれたカードを伏せてテーブルに出して見積もりを行う。カードが公開され、見積もりが議論される。このように数字を隠すことで、グループは最初に声に出して話した数字がその後の見積もりの前例となる、アンカリング(一番最初に受け取った情報にその判断を大きく影響されてしまうこと)の認知バイアスを避けることができる。
詳しくは
<出典元> https://kawaguti.hateblo.jp/entry/20120218/1329524230
前提・事前準備
1. どこの部分を扱っているのか
2. 基準となる作業を決める
プランニングポーカーは基準となる作業に対して、相対的にどれぐらいになるかを議論していくのでまずは基準となる作業を決める。
現場では新しい画面を作成する際の工数を"2"として、チームの共通認識にしていました。
3.タスクの洗い出し
議論をしている最中にタスクが増えることもあるので、ざっと全体的なタスクの洗い出しをする。このタスク単位でカードを出して話する。
4.参加者への連絡
参加者へプランニングポーカーを実施することを共有。
テックリーダーと非エンジニアのマネージャなどを含めて4人くらいでやると複数の観点が得られると思います。
どう進めていたのか
1. 案件・タスクの概要説明
関係者に案件全体と洗い出した各タスクの概要を説明する。
ファシリテーター(進行役)はタスクを洗い出した人がやるとスムーズ
実装レベルの話になると細かい話が多くなるので、全体を俯瞰してみることを意識すること。
2. 各タスクに対して、各々の情報共有
カードを出す前に持っている情報を出し合う。
各々が持っている前提知識・情報は異なるのでここで言葉の扱いや粒度、知識レベルをできるだけ揃えておく。
3. カードを出して、相対的なポイントをきめる
洗い出された情報をもとにカードを出す。使うカードは「1,2,3,5,8,13」あたりまで。
「21」以上になる場合は、そもそもタスクを分けたほうが扱いやすい。
個人的には上記の数字にとらわれず、「5.5」とか細かくすると割とうまくまとまる印象だった。
基準となるのはチームとしてポイントを「2」として認識している作業。
これを基準にどれくらい倍のポイントになりそうか、カードを出す。
4. 上記を繰り返す
1-3までの作業を3回ほど繰り返し、全タスク分の工数のすり合わせを行っていく。
全員の数字が合えばそこで終了。
揃わない場合は、そろわない人同士の間あたりのポイントにしておくと雰囲気も悪くならない。
5. 工数を出す
全タスクのポイントが出たと思うので、基準となるポイント「2」にどれくらいの人日がかかるかを算出して、各ポイントにその工数をかけていく。
新人など、経験によってより時間がかかりそうであれば、最後にバッファ工数を積んで調整する。
所感
メリット
・ゲーム感覚で工数を決められるので楽しい。コミュニケーションをとる機会にもなる。
・参加者の知識を共有できるのでタスクの抜け漏れ防止や、思ったよりも工数がかかりそうなこと、レビューの事前知識など重要なことがあらかじめわかるため、説明の工数を省ける。
・みんなで工数を決めるので延期などが生じた場合に、実装者の責任だけになることを避けることができる。もちろんまじめに作業していた場合の話だけど……
・機械的に工数を出せるので、技術者レベルによって工数について悩まなくてよい。
デメリット
・小さめの案件には向かなそう。むしろ時間がかかりすぎて無駄になる。なんにでも適用すればいいってものではなかった
・案件が多いとその分だけ実施に時間がかかるのでかなり時間がとられる。共通して参加するであろうテックリーダーや非エンジニアのマネージャなどはかなり時間をとられている感じだった。
・ゲーム感覚で楽しいのでみんなこの手法でやりたがるため、プランニングポーカーをやることが目的化する空気があった。あくまで見積りをすることが目的なので間違えないように。