プランニングポーカーとは?〜アジャイル開発の工数見積もり算出〜
更新:2019-05-05
本日より新時代、そう令和の幕開けです。
昭和生まれの僕としては二度目の改元となります。
元号が変わるタイミングは、至る所でカウントダウンが行われ、大晦日のような雰囲気でしたが、皆さんはどのように過ごされましたでしょうか。
僕は、先日セミナーでプランニングポーカーという工数算出手法の話を聞いたので、それについて調べていました。
プランニング、ポーカーそれぞれの単語の意味はわかりますが、合体するとイメージができなくなります。
企画をポーカーする感じ???
プランニングポーカーという言葉の響きだけで、なにやらワクワクする感じがするので、すぐにでも試してみたい気持ちになりましたが、そこはグッと我慢して、まずは理解するところから頑張ってみました。
とまぁ前置きはこの辺にしておいて、本日はプランニングポーカーについて紹介したいと思います。
プランニングポーカーとは
プランニングポーカーは、プロジェクトに参加するメンバー全員が意見を出し合うことにより最適な見積もりを出していく手法で、アジャイル開発のプロジェクトマネジメントで用いるのに向いていると思います。
プランニングの言葉通り、新しい企画のアイデア出しかと思った皆さん、すいません。。。
僕自身、「工数見積もりの手法かよ!」と思ったので、同じ気持ちです。。。
今日はめでたい令和元日なので、最後までプランニングポーカーの深掘りをしてみたいと思います。
まず向いているというアジャイル開発ですが、システムやソフトウェア開発における手法の一つで、「回転が速い」「素早い」「機敏な」といった意味があり、アジャイル開発においては小単位でテストや実装を繰り返すことで短期間のシステム開発を目指すものです。
アジャイルと比較される開発手法としてはウォーターフォール開発がありますが、こちらは文字通り上流から下流までを計画通りに流れるように進めるものです。
アジャイルはウォーターフォールよりも開発期間が短縮される点が特徴で、アジャイル開発が用いられるのは、モバイル機器などの短期間で仕様が変更になったり、追加が発生しやすいプロジェクト分野を想定しています。(特にWeb系はアジャイル開発を取り入れている傾向が強いように思います)
短期間内で幾度も変更が起きるプロジェクトに柔軟に対応するためには、ある程度基準と方向性を決定しておく必要があり、そのためにプランニングポーカーが求められているということでした。
プランニングポーカーの具体的な手順
では、プランニングポーカーの手順を紹介します。
プランニングポーカーは、「1、2、3、5、8、13……」という数値が書かれたカードを使い、参加者同士で見積もりを出し合います。
まず、作業するメンバー全員にカードを配布します。(なお、メンバーにはプロジェクトマネージャーも含まれます)
プロジェクトマネージャーはホワイトボードなどを使い、議題とすべきストーリーの説明を行い、参加メンバーがストーリーをイメージできたら、メンバー全員が一斉に思い思いの数字のカードを出します。
そして、「なぜその数字を出したか」という理由を一人一人が発表していきます。
こうしてそれぞれの意見を出し合い、タスクの規模を相対的に見積もっていくのが一連の流れになります。
これだけではイメージしづらいと思いますので、具体例を挙げて説明していきます。
例えば、出た数字でいちばん多いものが「8」だったとします。
「8」を基準として、「3」や「12」など、「8」より遠い数字を出したメンバーに意見を聞きます。
「12」を出したメンバーからは、「このタスクは修正が頻発することが予想されるから、できるだけ多く時間をとるべきだと考え『12』にした」という意見が予想できると思います。
また、「3」を出したメンバーであれば、「以前同様のタスクを担当した際の手順を当てはめればよいだけなので、それほど時間をかける必要はないと考えて『3』を選んだ」という意見もあり得ます。
他のメンバーは、これらの意見をふまえながら、あらためて最適な数値について議論していくのです。
メンバー全員が意見を出し終え、ひととおり議論したら、再度カードを出し合います。そして、再び意見交換をするというサイクルを2~3回繰り返します。
こうすることで、参加メンバー全員がそれぞれ納得しながら見積もりを出し、プロジェクトに最適な集合知を生み出していきます。
このようにメンバーが全員参加し意見を出し合うことで、相対的な見積もりが可能となるのです。
プランニングポーカーを成功させるためにはコツ
プランニングポーカーの特徴は、結果としては定量的な数字になるわけですが、その根拠は定性的な議論を交わすことが求められます。
そのため、メンバーが単に数値を示すだけでなく、それぞれが選んだ数値について「なぜそれを選んだのか」という根拠を述べ合うことが重要です。
よって、参加メンバー全員が意見を述べる点が重要なので、意見を述べるメンバーとそうでないメンバーに分かれてしまわないようにするのがポイントになりそうだと個人的に思いました。
議論も、「この作業は時間をかけたほうが後の作業が楽になる」「活用できるテンプレートがあるから時短になる」など、メンバー同士の考えをシェアしながら議論することで、集合知が見つけやすくなります。
この手法は、ブレインストーミングと同じですね。
あらかじめ決まった数値を出し合うことが前提となっている点が異なっており、プランニングポーカーは数値もポイントの一つで、フィボナッチ数列というものを使っています。
僕は文系なので、フィボナッチ数列というワードはうっすら記憶に残っている程度なので、自分の理解のために補足しますと、最初の二項が1で、第三項以降の項がすべて直前の二項の和になっている数列。すなわち、1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89…という数列のことを指します。
これは、1、2、3……のように通常の数列にしてしまうと、順序や必要以上に細かい数値の違いに議論が集中してしまいがちであるというデメリットを防ぐ意味合いを持ちます。
また、プランニングポーカーに書かれている数値はあくまで相対的なものであり、直接難易度や工数を表すものではありません。
タスクの工数や日数に直接数字を結び付けてしまうと、「〇日で終わらせなければならない」などがんじがらめになってしまい、議論がなかなか収束しなくなるおそれがあります。数値はあくまで目安程度に考え、幅を持ってとらえるようにしましょう。
一方で、「参加メンバー全員が意見を述べなければならない」というプランニングポーカーの特徴を難しく考えてしまうと、人前で意見を述べるのが得意でないメンバーは委縮してしまうかもしれません。
プランニングポーカーはあくまでゲーム感覚で楽しくディスカッションするためのツールです。
プロジェクトマネージャーはその点もふまえた上で、メンバー同士が和気あいあいと意見交換できるような雰囲気作りをするとよいかと思います。
プランニングポーカーのメリット・デメリット
プランニングポーカーの大きなメリットは、メンバー全員が参加でき、全員から意見を集められる点です。
ミーティングの場などで、単にプロジェクトマネージャーが「このストーリーについて意見のある人」と聞くだけでは、誰も意見を言わないか、もしくはいつも特定のメンバーだけしか意見を言わないなどの状態になる可能性が考えられます。
しかし、プランニングポーカーを用いれば、必ず全員が意見を述べることになるので、通常のミーティングよりも議論が活発化します。
また、ゲーム感覚で楽しくプレーできるのも魅力かと思います。
「難しいことを議論しなければならない」という緊張感に縛られていると、柔軟なアイデアが生まれにくくなります。
その点、プランニングポーカーならば脳がリラックスした状態で意見交換できるので、柔軟なアイデアが生まれやすくなるというわけです。
また、ゲーム感覚だと、普段は人前で意見を述べたり議論し合ったりするのが苦手という人でも参加しやすくなる効果はあると思います。
さらに「全員が当事者になれる」という点もメリットと言えると思います。
見積もりから実装までを1人の人間しか担当していないと、他のメンバーはそのタスクについて何も知らないという状況が発生しやすくなります。
この点、プランニングポーカーを用いると、1つのタスクについて全員が情報を共有できます。
基本的な情報だけでも全員が共有できれば、仮に担当者の体調不良など不測の事態が起きてもプロジェクトが停止することはなくなります。
また、プロジェクト初期段階でメンバー同士のスキルセットがわからないような状態であれば、メンバーがどのような人物なのかをお互いに理解し合うのにも役立ちます。
あるストーリーに対してどのメンバーがどういった考えを持っているのか、どのようなことが得意なのかが、意見を発信することで表面化することは容易に期待できると思います。
同時にメンバーそれぞれの苦手な分野も分かるので、将来的にメンバーにどのような教育が必要か、どのようなスキルを身につけさせていけばいいのかもおのずと分かってきます。
一方で、プランニングポーカーのデメリットを挙げるとすれば、メンバーが初心者ばかりだと最初はなかなかスムーズにできないという点が挙げられるかもしれません。
もっとも、最初は誰でも未経験者です。
初めてで上手くいかないからといって気にする必要はありません。
とにかくどんどんやってみることが肝心です。
初めてでどうしてもやりにくいという場合は、最初に基準である数値を決めてしまうのも手です。
たとえば、工数の基準を「5」と決め、それに対してメンバーが考える数値を出し合います。
そのうえで、なぜその数値を出したのか根拠を述べ合うようにするとスムーズに進行できるのではないかと思います。
最後に
プランニングポーカーというワードを聞いて、最初はワクワクしながらここまで調べましたが、正直言うと、僕はあまり有効とは思えませんでした。
その理由は、このくらいの精度であれば自分で工数算出できてしまうからです。
このあたりは、過去の経験から依存するので幅広く案件数をこなしたディレクターであれば僕と同じ思いを抱くかと思います。
もちろん、「これはちょっとわからないな。。。」というものはありますので、そういった時は他人の意見を求めますが、実際の現場で「人数集めてプランニングポーカーをする」のではなく、知りたいことに詳しそうな人に5分ほど時間をもらって済ませてしまうほうが、時間も短く済みますし、メンバーの業務効率もはるかに良いです。
また、コンペなど妥当性のある見積もりが必要な場合も不向きです。
なので、僕の意見としては、運用・保守フェーズにおける追加開発にて、自分では工数算出に自信がなく、またプロジェクトメンバーで、その部分のナレッジを有している人がいない、なんてケースの時に活用するといいかも、と思いました。
(あと、プロジェクト立ち上げ直後でメンバーに顔なじみがないような状態でプロジェクト計画を考える時なども有効ですね)
この記事だけ読むと、「あまり有益でないかも」と思われると思いますが、あくまで僕個人の意見なので、プランニングポーカーを取り入れて、成功した体験があるという方がいらっしゃいましたらが、是非コメントいただければと思います。
コメント一覧
コメントはありません