ストーリーポイントとは?6 つの簡単なステップでアジャイルで仕事量を見積もる方法

Whitney Vige の顔写真Whitney Vige2022年4月25日
facebooktwitterlinkedin
ストーリーポイントとはの記事のバナー画像
今すぐ Asana を試す

概要

ストーリーポイントとは、チームがタスクを完了するために必要な工数を調べるための見積もりの手法であり、アジャイルのプロジェクト管理メソッドで用いられます。ストーリーポイントは、タスクの難易度や不確実性などの要因 (ファクター) を考慮するため、時間ベースの見積もりをはじめとするその他の見積もりの方法よりも、正確に推測できます。「ストーリーポイントの見積もり」と聞くと、難しい作業を思い浮かべるかもしれませんが、ご安心ください。このプロセスを 6 つのシンプルなステップにまとめました。

ドライブ旅行に出掛けたときのことを思い出してください。予定の時間に目的地に到着しましたか?それとも、渋滞などの想定外の出来事に時間を取られてしまいましたか?プロジェクトの計画や見積もりは、旅行の計画に似ているかもしれません。予想外の障害やプロジェクトの不確定要素により、プロジェクトのタイムラインの遅延やスコープクリープが発生する可能性があります。また、車を運転しているときと同じように、目的地とは別の場所にたどり着くこともあります。プロジェクトにおいては、予算オーバーや低調なパフォーマンスなどがこれに該当します。

ここで役に立つのが見積もりの手法です。ストーリーポイントなどの見積もりの手法を用いることで、タスク量を正確に調べられ、その結果、タスクに必要な工程数、問題が発生する可能性がある場所を明らかにすることができます。それでは、ストーリーポイントのメリットと、その使い方をご紹介します。

ストーリーポイントとは?

ストーリーポイントとは、プロダクトバックログ内でユーザーストーリーを完了するために必要な工数を見積もる手段です。通常は、スプリント計画会議を行う前にストーリーポイントの見積もりを実施します。なぜなら、この会議で、今後のスプリントでどれぐらいのタスクを実行できるかをチームが決定するためです。

一般的に、ストーリーポイントはタスクの範囲と工数に影響を与える 3 つの要因を考慮し、これらの要因に応じて、ストーリーポイントの値は高くなります。ストーリーポイントは相対的な値であるため、これらの要因を計算に入れ、同様のタスク同士を比較することで、ストーリーポイントの数値が決まります。

  • リスクは、タスクに関連するリスクや不確実性の全体の量を示します。たとえば、第三者や請負業者、プロジェクトのステークホルダーがタスクに参加する場合、リスクの量は増加します。

  • 繰り返しは、同様のタスクを実施したチームの経験を示します。

  • 複雑度はタスクの難易度 (およびタスクの目標の明確さ) を表します。

ストーリーポイントは相対的な値であることに留意しましょう。つまり、重要なのは実際の数値ではなく、その相対的価値と比率です。

Mountain Goat Software の創設者であり、『アジャイルな見積りと計画づくり』の著者である Mike Cohn 氏は、アジャイルフレームワークの一部としてストーリーポイントを広めました。

ストーリーポイントと時間ベースの見積もり方法を比較

「単純にタスクの見積もりとして時間を使えばいいのに」と考えたくなるかもしれません。その考え方は間違いではありません。実際に、仕事量を調べる手法として、時間ベースの見積もりが幅広く利用されています。

しかし、この手法には欠点があります。ストーリーポイントとは異なり、時間ベースの見積もり手法は、複雑度、リスク、不確実性を考慮しません。また、この手法は見積もりをチームメンバーの個人的な推測に頼るため、それぞれのメンバーの年齢やタスクの理解度、同様のタスクの経験によって異なる見積もりが導き出される可能性があります。

ストーリーポイントは、コラボレーションを促し、リスク、複雑度、経験を考慮することで、これらの潜在的な問題を解決します。そのため、ストーリーポイントは、チームメンバーの足並みを揃えることができる、万能なスコアリングシステムといえます。

ストーリーポイントを見積もる 6 つのステップ

ストーリーポイントの概要を説明したので、つづいて、ストーリーポイントを見積もり、ユーザーストーリーを調べる方法を見ていきましょう。

1. ストーリーポイントをチームに導入する

ストーリーポイントを正確に理解することが、成功には欠かせません。徐々にこのプロセスに慣れてもらうため、まずはストーリーポイントの基本とメリットをチームに説明します。特に、ストーリーポイントは互いに相対的に増えていく必要があることをチームに理解してもらいましょう。

ヒント: ストーリーポイントにおいては、実際の数値ではなく、あくまでも比率が重要です。要するに、2 ポイントのストーリーポイントを割り当てたタスクは、1 ポイントのストーリーポイントを割り当てたタスクと比べて、工数が 2 倍になります。3 ポイントのストーリーポイントを割り当てたタスクは、2 ポイントのストーリーポイントを持つタスクよりも、1.5 倍の工数が必要になります。これで、比率に関しては大体ご理解いただけたのではないでしょうか。

2. ストーリーポイントの数列を決定する

つぎに、ストーリーポイントの数列を決定します。数列は、見積もり会議 (後ほど詳しく説明します) でチームがストーリーポイントを割り当てるために利用するスコアリングシステムになります。ストーリーポイントの数列は効果的です。なぜなら、チームは数値間の相対的な大きさに焦点を絞らざるをえなくなり、複雑なタスクの見積もりが簡素化されるためです。 それでは、どの数列をストーリーポイントに用いるべきなのでしょうか?アジャイルでよく利用されているのは、フィボナッチ数列 (1、1、2、3、5、8、13、21... 各数字は前の 2 つの数字を足した数字になる規則を持つ) です。ただし、フィボナッチ数列は複雑になる恐れがあります。そこで、数値の計算が手に負えなくなってきたら、T シャツのサイズを応用するアプローチを推奨します。この数列では、文字どおりタスクを「XS」「S」「M」「L」「XL」「XXL」で構成される T シャツのサイズに基づいた、より管理しやすいサイズに分類します。

ヒント: 通常、アジャイルで見積もりを行う際は、チームは使いやすさを考慮して、フィボナッチ数列を「0」「0.5」「1」「2」「3」「5」「8」「13」「20」「40」「100」に変更します。

3. ストーリーポイントマトリクスを作成する

ストーリーポイントマトリクスとは、簡単にいうと、ストーリーポイントの数列を具体化したものです。このマトリクスは、見積もり会議で基準の役目を果たし、また、各タスクのスコアリング方法を明確にチームに説明する際に役立ちます。ストーリーポイントを使用したことがない場合は、普段チームが完了するタスクの知識、複雑度、不確実性、タスクに関連する工数を考慮することを推奨します。

[インラインのイラスト] ストーリーポイントマトリクス (例)

ご覧のように、ストーリーポイントの数値は、タスクの工数や複雑度、リスクの増加に比例して増加します。

ヒント: ストーリーポイントマトリクスは、スプリントを実行し、チームのタスクに関連する工数をより正確に理解するにつれ、向上していきます。最初は完璧なマトリクスを作れなくても構いません。チームの通常のタスクをベースとして使用し、各スプリントの終了後にマトリクスを見直すとよいでしょう。

ストーリーポイントマトリクスの無料テンプレートをダウンロード

4. プランニングポーカー会議を行う

ストーリーポイントの数列を選択し、ストーリーポイントマトリクスを作成したら、つづいて、核心に迫ります。つまり、プランニングポーカー会議を介して、ストーリーポイントを見積もる段階です。

プランニングポーカーを実施する目的は、ストーリーポイントをユーザーストーリーに割り当てること、チームメンバーが同じ情報を共有すること、今後のスプリントでチームがどれぐらいのタスクを完了できるかに関して検討することです。プランニングポーカーでは、メンバー全員に今後の仕事の見積もりを要請します。チームメンバー全員が関与することで、さまざまな意見を基にストーリーポイントを割り当てられ、無意識の偏見を回避できるようになります。

以下に、プランニングポーカー会議を成功に導く方法を挙げます。

  1. 参考資料として、設定済みのストーリーポイントマトリクスと、ストーリーポイントの数列を記述したカードのセットをチームに与えます。ご自身でカードを作ることも、セットをダウンロードすることもできます。

  2. ユーザーストーリーを選択します。

  3. チームとユーザーストーリーについて、たとえば、関連事項や成功の定義などについて話し合います。

  4. それぞれのチームメンバーに、個人的にストーリーを完了するために必要だと思う工数が書かれたストーリーポイントカードを選択してもらいます。

  5. チームメンバー全員に選んだカードを同時に見せてもらいます。ストーリーポイントが同じだった場合は、つぎのユーザーストーリーに移ります。ストーリーポイントが一致していなかった場合は、同意を得られるまで話し合います。

  6. プロダクトバックログ内のすべてのタスクにストーリーポイントを割り当てるまで、このプロセスを繰り返します。

  7. ストーリーポイントマトリクスを基準に、次回のスプリントでチームが完了できるタスクの数を特定します。

ヒント: チームがバックログの優先順位を決めてから、スプリントを開始するまでの間にプランニングポーカー会議を開催しましょう。プランニングポーカー会議は、2 時間から 4 時間を要するため (初めての会議では、さらに長い時間を必要とするかもしれません)、その点を考慮してスケジュールを組む必要があります。

5. スプリントを計画し、実行する

初めてストーリーポイントを利用する場合は、全スプリントを一度完了するまでは、各スプリントの完了に必要なストーリーポイント数 (スプリントベロシティとも呼ばれます) を正確に割り出せないかもしれません。それでも問題はありません。スプリント計画会議では、タスクの複雑度とストーリーポイントの数値を基に、スプリントに盛り込むストーリーポイントの数をできる限り正確に見積もる努力をしましょう。

ヒント: 初めてのスプリントでは、小さな数値のストーリーポイントを多数、または高い数値のストーリーポイントを少数、あるいはその双方が割り当てられる可能性があります。時間の経過とともに、チームにとってベストな選択肢がわかるようになり、チームのフィードバックを基にプロセスを改善できるようになります。

スプリント計画用の無料テンプレート

6. 過去の見積もりを基にストーリーポイントの見積もりを改善する

初めてストーリーポイントを用いてスプリントを完了したら、アジャイルフレームワークのメインテーマである継続的改善に力を入れます。そのために、チームメンバーを集めて、うまくいったこと、改善の余地があることについて話し合いましょう。継続的改善を目的とした会議を別途開くことも、あるいは、スプリントレトロスペクティブ (振り返り会議) に組み込むこともできます。

会議では、「ストーリーポイントは正確に割り当てられていたか」「どのような想定外のプロジェクトのボトルネックに遭遇したか」「目標を達成できなかった理由は他にあるのか」などの質問をチームに投げかけましょう。これらの質問の答えを用いて、次回のスプリントに向けてプロセスを改善します。必要に応じて、ストーリーポイントの数列やストーリーポイントマトリクスを見直すこともできます。

明らかになったことを基に、スプリントベロシティ (所定のスプリントにおいてチームが完了可能なストーリーポイントの数) を見積もります。たとえば、1 日に 4 つのストーリーポイントを完了したら、2 週間のスプリントにおけるスプリントベロシティは 40 ストーリーポイントになります。

ヒント: チームのスプリントベロシティを特定したら、この数値を用いてストーリーポイントを割り当て、プロジェクト全体を完了するために必要なスプリント数を確認しましょう。

アジャイルでストーリーポイントを利用する方法

当然ですが、プロジェクト管理の運命は、事前の計画が握っています。仕事量とスケジュールを誤って定めてしまうと、締め切りに間に合わなかったり、スコープクリープを起こしたり、プロジェクトの失敗につながったりします。恐ろしいと思うかもしれませんが、心配する必要はありません。なぜなら、ストーリーポイントが助けてくれるからです。

ストーリーポイントを正確に理解するため、アジャイルフレームワーク内で使用する方法を確認します。

  • まず、求められている機能に対してユーザーストーリーをそれぞれ作成します。ユーザーストーリーは「(ペルソナ) として、(結果やメリット) ができるように、(ソフトウェアの目標) をしたい」という形式で表されます。

  • ユーザーストーリーをプロダクトバックログに加えます。

  • ストーリーポイントを各ユーザーストーリーに割り当て、工数を見積もります。

  • ストーリーポイントを使って、バックログからユーザーストーリーを選択し、各スプリントに適切な「量」の作業を選んでいることを確認します。

  • スプリントを実行します。

たとえば、ユーザーストーリーを「ユーザーとして、製品の機能を正確に理解するため、ウェブサイトからフィードバックや質問を投稿できるようにしたい」に定めたと仮定します。このユーザーストーリーにストーリーポイントを割り当てます。つまり、ストーリーを完了するために必要だと思う工数です。つづいて、ストーリーを、フィードバックフォームの評価とデザイン、フォームのコーディング、ページのステージング、フォームのテスト、ページの配信など、小規模なタスクに分割します。

Asana でアジャイルチームを管理

ストーリーポイントを使うメリット

さまざまな見積もりの手法が存在しますが、ストーリーポイントの右に出るものはありません。ストーリーポイントを使うと、見積もりが容易になり、スプリント計画を簡素化できます。しかし、魅力はそれだけではありません。以下に、ストーリーポイントを使うその他のメリットをいくつか挙げていきます。

  • 計画が早くなる。ストーリーポイントは相対的な値であるため、1 つのストーリーポイントを同様の、すでに見積もりが行われたポイントと比較することで計算します。相対的なスコアリングの手法を用いることで、見積もりに要する時間は徐々に短くなります。これはチームにとって大きなプラス材料です。

  • 不確実性とリスクを考慮する。ストーリーポイントは、不確実性やリスクなどの要因を考慮します。これらの要因を計画に取り入れることで、当てずっぽうに推測しなくても済むようになり、工数をより正確に導き出せます。

  • 計画時にスキルのバイアスを取り除き、チームが足並みを揃えられる。チームメンバー個人の見積もりに頼るやり方は、必ずしも最善のアプローチとはいえません。経験豊富なメンバーと若手のメンバーでは、大幅に異なる工数を予想することになるでしょう。ストーリーポイントは、プランニングポーカー会議を介してコラボレーションを促すことで、この問題を回避できます。

  • 適切な締め切りを定められる。根拠のない締め切りは避けたいところですが、その他の見積もりの手法を用いると、このような締め切りを提示されることが多々あります。ストーリーポイントでは、複数の要因を考慮するため、より適切な締め切りを定められます。

  • 今後の見積もりの精度が上がる。ストーリーポイントの主なメリットとして、適応力があることと、再利用できることが挙げられます。つまり、ストーリーポイントマトリクスを作成し、初めてのスプリントを実行したら、わかったことを基にして、もともとのストーリーポイントの数値を見直し、より正確に見積もりを行えるようになるのです。

ストーリーポイントの 5 つの落とし穴と、その回避方法

ストーリーポイントには、気をつけるべき点もあります。ストーリーポイントはプロジェクト管理プロセスを簡素化できますが、見積もりを行う際に特定のミスを避ける必要があります。以下に、ストーリーポイントを見積もる際にチームがおかしてしまいがちな一般的なミス、そして、これらのミスを回避する方法を挙げていきます。

  • 相対的ではないストーリーポイントを使用する。ストーリーポイントには相対的な特徴が備わっており、この特徴のおかげでチームはタスク同士の比較を容易に理解できます。そのため、ストーリーポイントを恣意的に割り当てるべきではありません。繰り返しになりますが、ストーリーポイントが互いに相対的に増加することを覚えておきましょう。

  • 時間をストーリーポイントに使う。時間の見積もりは複雑度や不確実性などの要因を考慮しないため、時間や日数をストーリーポイントとして利用するアプローチは、ストーリーポイントを使う意義を真っ向から否定するようなものです。そうではなく、先ほど取り上げた 3 つの要素、「複雑度」「リスク」「繰り返し」を考慮して、ストーリーポイントの数値を決定しましょう。

  • プランニングポーカー会議でチームのスコアの平均値を採用する。チームのストーリーポイントの見積もりが一致しなくても、平均値を使用するべきではありません。代わりに、ポイントの違いについて話し合いましょう。見積もりの値が揃わない理由を理解したら、誰もが同意できるストーリーポイントを見出せるようになります。

  • 規模が大きすぎるユーザーストーリーにストーリーポイントを割り当てる。すべてのユーザーストーリーにストーリーポイントを割り当てればよいわけではありません。ユーザーストーリーの規模があまりにも大きく、必要とされる工数に対して、マトリクス内のストーリーポイントの数値では不十分だと感じたら、ユーザーストーリーを分割する価値があるかもしれません。

  • ストーリーポイントの数値に関して期待することを、チームメンバーに伝えない。チームがストーリーポイントを理解していない場合、ストーリーポイントは役に立ちません。幸いにも、この問題は簡単に解決できます。ストーリーポイントによる見積もりの手法をチームに説明すれば済む話です。サンプルのストーリーポイントマトリクスを見せて、適切にストーリーポイントを割り当てられるように各タスクを説明しましょう。

テンプレートを使ってスプリント計画とストーリーポイントを管理

ストーリーポイントは、プロジェクト管理に欠かせません。ストーリーポイントは、工数を正確に見積もり、期限までに仕事を完了させる上で有効です。プロダクトバックログのアイテムを適切に整理し、これらのアイテムがチームの仕事と一致していれば、この取り組みをより簡単に実施できるようになります。そこで役に立つのが Asana です。バックログの整理、アジャイルプロジェクトの追跡確認、効果的なチーム間のコミュニケーションを実現するため、チームのコラボレーションを促進する Asana のスプリント計画用テンプレートをご活用ください。

スプリント計画用の無料テンプレート

関連リソース

記事

カイゼンを理解する: ビジネスにおける継続的改善のガイド