ストーリーポイントについて
扱うこと
- 何のために使用されるか
- 時間・工数での見積もりとは何が異なる点
- ストーリーポイントマトリクスとは
- 何の観点でストーリーポイントを導くか(3つ)
- ストーリーポイントでは数値ではなく何が重要?
- ベロシティとは
- ベロシティは中長期的な観点で、いつ役に立つか
- 使用する際に注意すべきこと・その理由は
- アジャイル開発において、タスクの難易度や労力などを見積もるために使用されている測定単位
- 時間ベースの見積もり方法では、タスクの複雑さ・不確実性・リスクなどが考慮されません。
- 測定者の個人的な推測で見積もりが行われるため、測定者の年齢やタスクの理解度・経験などによって異なる見積もりが算出されるおそれがある
- ストーリーポイントによる見積もりでは、タスクの複雑さ・不確実性・リスクなどを考慮することで、客観的かつ適切に見積もることが可能
ストーリーポイントマトリクスとは、ストーリーポイントの数列を具体化したものです。
次のプロセスである「プランニングポーカー会議」において基準の役割を担い、各タスクの見積もり例をチームに説明する際に役立ちます。
- ストーリー ポイントは、プロダクト バックログ項目またはその他の作業を完全に実装するために必要な労力全体の見積もりを示す測定単位です。
- チームは、作業の複雑性、作業量、リスクまたは不確実性に関連するストーリー ポイントを割り当てます。
- 値は、より効果的に小さなサイズに分割するよう割り当てられるため、チームは不確実性に対処できます。
- ストーリーポイントでは、問題解決の所要時間ではなく、難易度に基づいてチームメンバーを評価します。これにより、チームメンバーは時間をかけることではなく価値を生み出すことに集中できます
- 人の評価、詳細なタイムラインやリソースの割り当てにストーリー ポイントを使用したり、ストーリー ポイントを生産性の測定単位と誤解したりすると、うまくいきません。
- 代わりに、チームは作業のサイズや作業の優先順位を把握するためにストーリー ポイントを使用する必要があります。
直接的にパフォーマンスや生産性を測るためではなく、作業のサイズを見積もることで優先順位や見通しをつけるもの...?
- 通常は、スプリント計画会議を行う前にストーリーポイントの見積もりを実施します。なぜなら、この会議で、今後のスプリントでどれぐらいのタスクを実行できるかをチームが決定するためです。
- ストーリーポイントはタスクの範囲と工数に影響を与える 3 つの要因を考慮し、これらの要因に応じて、ストーリーポイントの値は高くなります。ストーリーポイントは相対的な値であるため、これらの要因を計算に入れ、同様のタスク同士を比較することで、ストーリーポイントの数値が決まります。
- リスク:タスクに関連するリスクや不確実性の全体の量を示します。たとえば、第三者や請負業者、プロジェクトのステークホルダーがタスクに参加する場合、リスクの量は増加します。
- 繰り返し:同様のタスクを実施したチームの経験を示します。
- 複雑度:タスクの難易度 (およびタスクの目標の明確さ) を表します。
「単純にタスクの見積もりとして時間を使えばいいのに」と考えたくなるかもしれません。その考え方は間違いではありません。実際に、仕事量を調べる手法として、時間ベースの見積もりが幅広く利用されています。
しかし、この手法には欠点があります。ストーリーポイントとは異なり、時間ベースの見積もり手法は、複雑度、リスク、不確実性を考慮しません。また、この手法は見積もりをチームメンバーの個人的な推測に頼るため、それぞれのメンバーの年齢やタスクの理解度、同様のタスクの経験によって異なる見積もりが導き出される可能性があります。
ストーリーポイントは、コラボレーションを促し、リスク、複雑度、経験を考慮することで、これらの潜在的な問題を解決します。そのため、ストーリーポイントは、チームメンバーの足並みを揃えることができる、万能なスコアリングシステムといえます。
ヒント: ストーリーポイントにおいては、実際の数値ではなく、あくまでも比率が重要です。要するに、2 ポイントのストーリーポイントを割り当てたタスクは、1 ポイントのストーリーポイントを割り当てたタスクと比べて、工数が 2 倍になります。3 ポイントのストーリーポイントを割り当てたタスクは、2 ポイントのストーリーポイントを持つタスクよりも、1.5 倍の工数が必要になります。これで、比率に関しては大体ご理解いただけたのではないでしょうか。
振り返り会議では、「ストーリーポイントは正確に割り当てられていたか」「どのような想定外のプロジェクトのボトルネックに遭遇したか」「目標を達成できなかった理由は他にあるのか」などの質問をチームに投げかけましょう。これらの質問の答えを用いて、次回のスプリントに向けてプロセスを改善します。必要に応じて、ストーリーポイントの数列やストーリーポイントマトリクスを見直すこともできます。
まず、求められている機能に対してユーザーストーリーをそれぞれ作成します。ユーザーストーリーは「(ペルソナ) として、(結果やメリット) ができるように、(ソフトウェアの目標) をしたい」という形式で表されます。
ストーリーポイントとは、ユーザーストーリーやフィーチャ、その他の作業の大きさをあらわす単位である。 ストーリーポイントを使った見積りではそのような、ひとまとまりの作業に対してポイントを付ける。ポイントの数値そのものはあまり重要ではない。重要なのは、他の作業との相対値だ。2ポイントを付けられたストーリーは、1ポイントのストーリーの2倍の大きさであり、3ポイントのストーリーの3分の2の大きさとなる。 ストーリーポイントの数値は、ストーリー全体の規模をあらわす。ストーリーの規模を定義するための数式は存在しない。 ストーリーポイントによる見積りが示す値は、フィーチャを実装するのに必要な作業、開発内容の複雑さ、開発に内在するリスクなどが渾然一体となったものである。
- 重要なのは、他の作業との相対値
- ストーリーポイントの数値は、ストーリー全体の規模をあらわす
- ストーリー全体とは?
- フィーチャを実装するのに必要な作業
- フィーチャ=機能?
ストーリーポイントは計画づくりや予測、そして改善に役立ちます。
- ベロシティとは、1つのスプリント(XPの場合はイテレーション)のなかで完成したアイテムのストーリーポイントを合計したものです。 たとえば、5ポイント、3ポイント、2ポイントのアイテムが完成した場合は、ベロシティは10ポイントになります。
ベロシティはスプリントプランニングだけでなく、中長期的な予測にも活用できます。 主に以下のように使います。
- 残りのスプリント回数がおおよそ決まっているときに、どこまで達成できそうかを予測する
- 実現する必要があるプロダクトバックログアイテムが決まっているときに、何スプリントかかりそうかを予測する
- ベロシティやストーリーポイントの数字だけを見て一喜一憂するのは無意味です(「前のスプリントよりも1ポイント上がった!バンザイ!」のようなものは無意味です)。 ストーリーポイントは、あくまで概数であり誤差はあります。検討の材料の1つとして傾向をとらえるようにしましょう。
- ストーリーポイントは計画作り・予測・改善に役に立つ
- 過去のデータがあることで、今後の中長期の予定も見やすくなる
- ストーリーポイント自体の数値を見て一喜一憂してもダメ