アジャイル見積もり手法プランニングポーカーのやり方をわかりやすく解説
アジャイルにおいても見積もりは乖離やバラつきなど、課題がでやすいポイントです。
アジャイルやスクラムの現場では、より正確な見積もりをするために新しい手法が次々検討されています。
その中から、アジャイル開発でもよく使われるプランニングポーカーの見積もりのやり方や概念について解説したいと思います。
クライアントから、工数見積もりではなくポイントでの見積もりを求められることがあるかもしれません。
プランニングポーカーによるポイント見積もりのやり方やそのメリットを理解しておくことで、今後役に立つことがきっとあるでしょう。
プランニングポーカーとは|ストーリーポイント見積もりを理解する
プランニングポーカーは、アジャイルチームがプロダクトバックログを見積もるために使用する手法です。
プロダクトバックログを完了するために必要な労力や、その作業の複雑性、難易度を見積もるのに役立ちます。
プランニングポーカーは物理的なカードを使用したことから始まったため、ゲーム化された名前が付けられています。
トランプのように見えるこれらのカードは、各バックログアイテムのストーリーポイントを見積もるために使用します。
これは、早く正確に見積もることと、メンバー間で合意し、チームの作業をより戦略的に計画できるようにすることが目的です。
概要
プランニングポーカーの見積もりを初めて聞く方は「雑な見積もりだ!」と思うかもしれません。
詳細な説明に入る前に、従来の見積もりについて考えてみましょう。
多くの時間を費やした見積もりであっても、計画通りに進まないという経験をしたことはないでしょうか?
納期に間に合わせるために残業をしたり、急ぐあまり不具合が発生してしまったことなど。
そもそも見積もりは推測なので、100%正確な見積もりや計画はありません。
特にプロジェクトの初期段階では、多くの不確実性が存在しています。
アジャイルな見積りは、その不確実性を認めて正しい見積もりを提供することに意味があります。
つまり、目標を完璧な見積もりから、不確実性を含めて本当の意味で正しく有用な見積もりを考える必要があります。
工数・時間ではなくポイントで見積もる理由
プランニングポーカーでの見積もりは、工数や、人月、期間などの”時間”を見積もるのではなく、その作業の複雑性や労力のポイントを見積もります。
そのため個人のスキルなどに依存せず、他の作業との相関で決めるしかないので、見積もりを標準化することができます。
時間で見積もる場合は、スキルによって差があり、見積もりにはバラツキが発生してしまいます。
一方ポイントで見積もる場合は、スキルに差があった場合でも作業サイズは同じということとになります。スキルが高い人であれば、多くのポイントをこなし、スキルが低い人であればこなせるポイント数は少なくなります。
なぜプランニングポーカーで見積もるのが良いのか
プランニングポーカーでは、期間を見積もるのではなくサイズを見積もります。
絶対的な見積もりではなく、相対的な見積もりを使用するのがプランニングポーカーのポイントでもあります。
見積もりは、十分な知識に基づいた推測にすぎません。手元にあるすべての知識と経験を使用して、そのサイズを推測します。
すべての新しい作業タスクを個別に見るのではなく、以前に完成したプロジェクトや作業と比較してみます。
たとえば、それは過去のプロジェクトAで実施した小さなものに近いか?それとも、プロジェクトBで実施した大きなものに近いのか?物の実際のサイズを推測するよりも、人間は類推する方が遥かに優れています。
ソフトウェア開発の見積もりはズレを生みやすい
ソフトウェア開発の見積もりは想像以上に難しく、開発初期と完了時では見積もりが大きく変わるケースがよく起こります。
それを裏付けるデータとして、ソフトウェア開発における見積もりの乖離やバラツキを表現する「不確実性コーン」のグラフが有名です。
「不確実性コーン」は、バリー・ベームが発表した後にスティーブ・マコネルが命名し著書も出版されています。
不確実性コーンのグラフでは、開発初期段階においては0.25倍~4.0倍と16倍もの乖離があることを示しています。
開発が進み意思決定を繰り返すことで、見積もりの乖離幅は小さくなってきますが、開発初期の見積もりの乖離やバラツキは特にウォーターフォールにおいては大きな問題となっていました。
プランニングポーカーは完璧な見積もりを目指すものではない
プランニングポーカーは見積もりの乖離やバラツキを減らす為に有効な手法になりますが、プランニングポーカーは完璧な見積もりを目指す為の手法ではありません。
考え方としては、「不確実性コーン」の示す初期コンセプトや開発初期に見られがちな見積もりの大きな乖離を少しでも小さくする為の見積もり手法になります。
プランニングポーカーを使って完璧な見積もりを目指すわけではなく、プランニングポーカーでどんな問題が解決できるのかを理解する事が大切です。
それでは、次にプランニングポーカーで見積もる事で、具体的にどんな困りごとが解決できるのかを解説します。
プランニングポーカーでの見積もりで何を解決できる?
プランニングポーカーを実施することで、下記のような問題を解決できます。
開発メンバーみんなで見積もることで、見積もりにギャップが生まれにくい
同じプロダクトを担当するエンジニアでも、見積もりにはバラツキやギャップが生まれがちです。
そうした見積もりのギャップを生まれにくくする為に、プランニングポーカーはすべてのチームメンバーが全員が同時に見積もりを提示します。
また事前に、見積もるべきプロダクトバックログの説明や懸念事項の共有があります。
そうしたステップを踏むことで、メンバー間のギャップが生まれにくくなります。
また、プランニングポーカーではチームメンバー全員で見積もるので、上司やシニアメンバーの意見に左右されてしまう傾向を防ぐこともできます。
プランニングポーカーでは、チーム内に階層構造が存在した場合でも、見積もりのプロセスや結果に影響を与えないようにすることができます。
1人のエンジニアの主観で見積もるより、早く正確に見積もれる
これは前のケースと似ていますが、上司やシニアメンバーはタスクの詳細を常に知っているとは限りません。または、上司はチームに早く多くの仕事をしてほしいと思っており、楽観的な見積もりを作るかもしれません。
現場の多くのメンバーは様々な視点から、より具体的で技術的なタスクの知識を持っています。
また、ストーリーポイントを使用することで、工数や、人月、期間などの時間ベースの単位を使用する代わりに、より抽象的に考えることができます。これにより、合意に達するまでの時間も短縮され、結果も正確に近づきます。
プランニングポーカーのやり方をわかりやすく解説
ここからは実際にやり方を説明していきます。
【準備】プランニングポーカーカードの作成・準備
プランニングポーカーは、物理的なカードを使ってやっていましたが、現在では多くのツールもあります。またツールを使わなくても、ドット投票をするなど簡易的に用意することも可能です。
プランニングポーカーのやり方
顧客またはプロダクトオーナーが、プロダクトバックログアイテム(ユーザーストーリー)を読んだり、チームに必要な機能を説明したりすることから始めます。
ここで見積もりの際に、比較対象として参考にする過去のプロジェクトの実績や、注意すべき点など、「事実」をチームメンバーに共有します。
チームメンバーは、各自見積もりを行い、そのカードを1枚選びます。
他の人の意見に影響されないように、メンバーは同時にカードを提示します。
メンバー全員が提示した数字の平均点を算出し、それがチームの最終的な見積もり値になります。
ここで、チームの意見が異なる場合、一つになるまで話し合いを続けるという方法もありますが、「意見」について話すと、バイアスがかかって見積もりの質が低下する可能性があります。一方でチームが「事実」について話すと、見積もりの質が向上します。例えば、ある先輩が「この仕事は簡単だ!」と言えば、それが間違っていたとしても、他の全員が見積もりを下げてしまうことがあります。バイアスを減らすために、事実の共有の後、話すことを控えます。
事前に「事実」を共有することは重要です。
プランニングポーカーで見積もるタイミングはいつ行う?
プロダクトパーカーにて見積もるタイミングはいつ行うのが良いのか?
プランニングポーカーは、リファインメント中に実施され、プロダクトバックログの見積もりを行います。
プロダクトバックログアイテム(ユーザーストーリー)は、プロジェクト全体で常に変更があるため、ほとんどの場合スプリントのイテレーションごとに少なくとも1回、見積もりの見直しを行います。
- リファインメント中に、バックログの見積もりを行う
- イテレーションごとに見積もりの見直しを行う
プランニングポーカー相対見積もりの3つのメリット
プランニングポーカーのメリットは大きく以下の3つになります。
- チームメンバー全員に発言権があるため、自分事としてプロジェクトに取組める
- タスクの見積もりが判断しやすくなる
- 見積も精度が向上する
チームメンバー全員に発言権があるため、自分事としてプロジェクトに取組める
プランニングポーカーには、参加する全てのチームメンバーの知識と意見が必要です。これにより、すべてのチームメンバーが見積もりに対する平等な機会と責任を得ることができます。
タスクの見積もりが判断しやすくなる
あるタスクをプランニングポーカーで見積もる場合、比較の基準となる作業やタスクと比べて相対的に判断する事になります。
基準の作業やタスクと比べて、難しいか簡単かを数値で判断するので、メンバー間においてもタスクの重み付けや見積もりの共通認識を持ちやすいというメリットがあります。
相対見積もりにより精度が向上する
プランニングポーカーは、期間や時間などの絶対的な見積もりではなく、過去の実績などと比較しながら相対見積もりを考えます。これは作業の見積もりにかかる時間が短縮されるだけでなく、見積もりの精度も向上します。私たちの脳は絶対的な推定を行うことはできません。人間は常にすでに知っている知識や経験との関係で、新しいことを比較して見積りを考えているのです。
プランニングポーカーのQ&A|教えてジョー!
アジャイル業界をリードする、ジョー ジャスティスに直接質問して聞いてみました!
プランニングポーカーについて、JOEの経験から教えて下さい。
- アジャイルやスクラムにおてもプランニングポーカーで見積もりは有効ですか?
-
私は「No Estimate (見積もりなし)」であるべきだと考えていますし、そうなりつつあると感じています。
しかし現状、見積もりを要求されるケースは多く存在するでしょう。その場合、プランニングポーカーの見積もりが役に立つと思います。 - プランニングポーカーで見積もる際の注意点は?
-
各自がプランニングポーカーを提示する前に、事実の共有と懸念点などの払拭が大切です。提示後に意見の話し合いをすると、バイアスがかかり正しくならない場合があります。
- プランニングポーカーにおけるスクラムマスターの仕事は?何を意識すればいい?
-
楽しみながら実施することです!
プランニングポーカーをプレイすることは、楽しい共同作業であるとチームが感じられることを意識してみてください。1時間か2時間も時間をかけて話し合い見積もりをしていると、仕事を楽しむことを忘れてしまいます。楽しみを足す方法はたくさんあります。チームメンバーでオリジナルのカードを作ってもいいですし、一緒にコーヒーを飲みながらでも、音楽をかけて実施するのも良いかもしれません。 - プランニングポーカーを実施する時も、スクラムマスターの資格は有利に働きますか?
-
私たちのクラスでは、「No Estimate (見積もりなし)」の話もしながら、見積もり方法の練習をします。これらはスクラムマスターが自信を持って、プレイすることに繋がるでしょう。
まとめ
- 開発メンバーみんなで見積もることで、見積もりにギャップが生まれにくい
- チームメンバー全員に発言権があるため、自分事としてプロジェクトに取組める
- タスクの見積もりが判断しやすくなる
- 最初のプロダクトバックログが作成された直後
- イテレーションごとに見積もりの見直しを行う
見積もりについては、さまざまな研究がされています。
それらの中にはプランニングポーカーが従来の見積もりよりも、精度が高まる可能性を示しています。
その可能性をこの記事では紹介してきました。ぜひ一度試してみてください!