Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

プランニングポーカー・オブジェクトゲームでアジャイルゲーム!~Agile 2011 Conference

2011/08/23 11:00

8月8日から12日までの5日間にわたって米国ユタ州のソルトレイクシティで開催されている世界最大級のアジャイルイベント「Agile 2011 Conference」。現地レポーターの藤原大と川口恭伸が世界におけるアジャイルの今を探ります。本稿では、カンファレンス4日目のセッションと、様々なイベント、ステージを紹介します。

プランニングポーカーでアジャイルな見積もりを!

 今回は、4日目に行われたJames Grenning氏による「Beyond Planning Poker - The Planning Poker Party」の様子を紹介します。アジャイルマニフェスト起草者の一人であるJemes Grenning氏は「プランニングポーカー」という見積もり手法を定義した人物であり、組み込みのC言語におけるアジャイル開発の第一人者としても知られています。セッション概要は次の通り。

世界中の人々がプランニングポーカーから発見を得ているだろう。プランニングポーカーは技術として役立つものだが、ただのゲームではない。ゲームのルールを知っているだけでは、「見積前ストーリーの大群」の前では正しく機​能しないことがある。このセッションでは、プランニングポーカーやその原則、別の利用方法などを紹介する。そして、プランニングポーカーと類似性グルーピングのアイデアを発展させた「プランニングポーカーパーティ」を紹介す​る。

 プロジェクト開始時点で、これからこなすべき要求の山を一つひとつ見積もるのは大変な作業です。しかし、今回紹介するプランニングポーカーパーティーによって、「見積前のストーリーの大群」にも対応できるようになるとGrenning氏は言います。セッションをのぞいてみましょう。

プランニングポーカーを使った見積技法

 プランニングポーカーとは、「1、2、3、5・・・」といった数字が書かれたカードを使って、タスクの規模を相対的に見積もる手法です。やり方はとても簡単。まず、作業を行うメンバーを集め、それぞれにカードを配ります。その後、それぞれのタスクに対して開発を担当するメンバーが思いのままに数字のカードを出し合います。

 ポイントは、メンバーがそれぞれ提示したポイントについてお互いに根拠を述べ合うところにあります。「テストデータの作成に時間が掛かる」「テンプレートを使えば簡単」など、各メンバーの考えをシェアすることで、一人で考えている時には漏れていたかもしれない工夫や懸念材料を洗い出すことができます。ひととおりディスカッションを終えたら、再度カードを出し合います。このサイクルを2、3回繰り返すことで、全員がある程度、納得できる見積もりを出すことができるようになるという仕組みです。

 カードに書かれた数字は通常、ポイントと表現されます。これは、あくまで各タスクを相対的に評価するための目安で、単位自体に「工数」「難易度」など特定の意味が結びついているわけではありません。例えば、日数で計算したい場合は「終わらせるのに理想と考えている日数」として数値を使うこともできます。

プロジェクトマネージャーが一人で悩んでいた見積りを、
チーム全体でディスカッションしながら決めていきます

 私自身も試しに現場で使ってみたところ、チームのメンバーから好評を得られたので、その後も継続して作業の見積もりに使っています。実際にメンバーに感想を聞いてみると、前向きな意見が多く寄せられます。

  • 作業に100%集中できるという前提で計算できるので見積もりがしやすい
  • 漏れていたタスクを発見することができる
  • ディスカッションを通して見積もりの勉強ができる

 見積もりを繰り返すうちにだんだんと精度が高くなっていきます。「○日だと怖いから2日上乗せしちゃえ!」といった「根拠のないバッファ」もなくなります。

Grenning氏は、フィナボッチ数ではなく、
お金の単位(アメリカの場合、1ドル、5ドル、10ドル…)を使う場合もあるそうです

 ところで、プランニングポーカーではなぜ「1、2、3、5・・・」というフィボナッチ数を使うのでしょうか?Grenning氏は、それが「花弁の数のように自然な数」であるためだと言います。そもそも、見積もりは正確になりえないものですが、「1、2、3、4・・・」と数字が並んでいると、どうしても正確性を意識せざるを得ません。その点、フィボナッチ数は「ちょうどよい」サイズなのです。

計画初期ではプランニングポーカーパーティーを活用

たくさんのタスクを一気に整理するプランニングパーティー

 さて、肝心のプランニングパーティです。プロジェクト当初はタスクの数が多いため、一つひとつにポーカーを適用していると、見積もりに時間が掛かってしまいます。また、リリース計画も同時に検討する必要があるため、ざっくりとした開発のベースラインと見積りを出すために登場するのが「プランニングパーティー」です。まずは、各タスクを「大きいか小さい」といった単位でグルーピングします。

ノベルティで配られていたプランニングポーカーにもS、M、L…といったカードが入っていました
写真上のカードは川口記者の名刺
Grenning氏に渡したところ喜ばれていました
プランニングポーカーパーティーの概要
より詳細な情報は http://www.renaissancesoftware.net/blog/archives/36 で確認可能です

 ポーカーほどの精度は得られませんが、大きなタスク、中くらいのタスク、小さなタスクがどれくらいの割合で存在しているか、ざっくりと全体を相対的に把握することによって、木を見て森を見ずという事態になることを避けることができます。計画初期ということもあり、開発のベースラインであるマイルストーンやリリース計画がまだ決まっていないため、以下の点に注意する必要があります。

  • 開発者はチームがイテレーションごとに達成できるポイント合計数(Velocity)を意識する
  • 顧客はリリース計画を意識しながらゲームを組み立てる

 プランニングパーティーを行った後で、各タスクの細かい見積もりにポーカーを適用すれば、時間の浪費を避けるとともに、見積りのブレを抑えることができます。

※この続きは、会員の方のみお読みいただけます(登録無料)。


※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 藤原 大(フジハラ ダイ)

    楽天株式会社 アーキテクチャ&コアテクノロジー課 Javaエンジニア。社内における標準化活動として、ライブラリ開発やミドルウェア整備、各種ツール導入などを担当。2010年からアジャイル開発系勉強会に参加するようになり、フロリダで開催されたAgile Conference 2010へも参加。2011...

バックナンバー

連載:Events & Seminars

もっと読む

All contents copyright © 2007-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5