# ストーリーポイント ## 定義 ストーリーポイントとは、ユーザーストーリーやフィーチャ、その他の作業のまとまりの大きさをあらわす、単位を持たない相対値である。数値そのもの(絶対量)には意味がなく、他の作業との比率だけが意味を持つ。たとえば2ポイントのストーリーは1ポイントのストーリーの2倍の大きさであり、3ポイントのストーリーの3分の2の大きさになる。ストーリーの規模を定義する数式は存在せず、ストーリーポイントの値は、実装に必要な作業量・開発内容の複雑さ・開発に内在するリスクが渾然一体となったものである。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 4 ストーリーポイントによる規模の見積り]] §1) 見積りの始め方には2通りある。最も小さいと思えるストーリーを1ポイントとして基準にする方法と、中くらいのストーリーを決めて見積り範囲の中央に近い値(たとえば1〜10の範囲なら5ポイント)を割り当てる方法である。どちらの方法でも、最初の1件にポイントを付けたら、残りは見積り済みのストーリーとの相対比較によって見積もっていく。要求があいまいであっても、仮定を置き推量することでポイントを付けて先に進む。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 4 ストーリーポイントによる規模の見積り]] §1) ## 規模と期間の分離 ストーリーポイントは作業の規模だけを見積もったものであり、プロジェクトの期間は直接見積もるのではなく、ストーリーポイントの合計を[[ベロシティ]](チームが1イテレーションで完了させたストーリーポイントの合計値)で割ることで導出される。この「規模を見積もり、期間は導出する」という考え方が、アジャイルな見積りと計画づくりの信条である。規模の見積りと期間の見積りを分離しておくことで、両者を別々に見積もれるようになる。ベロシティを媒介にするため、当初の規模見積りが多少外れていても、実際のベロシティが判明した時点で再見積りをしなくても期間の予測が自動的に補正される。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 4 ストーリーポイントによる規模の見積り]] §2, §2-1) ## 横断的知見 - 現時点では本書4章のみが典拠であり、複数ソースを突き合わせた横断的知見はまだ蓄積されていない。7章(再見積りをいつするか)・8章(理想日との比較)の ingest により、この節へ知見を積み増していく。 - 4章はストーリーポイントを「単位を持たない相対値」と定義するのみで、チームが実際に1つの値へ収束させる具体的な手順までは示さない。6章はこの手順を[[プランニングポーカー]]として与える。プランニングポーカーは専門家の意見・対比(三角測量)・分割の3技法を組み合わせ、カードを使った複数ラウンドの投票と議論によって見積り担当者全員の値を収束させる。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 4 ストーリーポイントによる規模の見積り]] §1, [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 6 見積りの技法]] §4) - 4章はストーリーポイントの値そのものに意味がなく他の作業との比率だけが意味を持つとするが、6章はこの相対性を支える根拠として、人は対象を10倍以内でしかうまく見積もれないという研究(Eduardo Miranda 2001; Thomas Saaty 1996)を挙げ、フィボナッチ数列のような非線形数列(1、2、3、5、8)を推奨する。見積りの値は「その大きさの仕事がちょうど入るバケツ」であり、少し大きめの作業でもバケツからあふれない(砂のたとえ)という6章の比喩は、4章がいう「値そのものに意味がない」という定義を、具体的な運用ルールとして補強するものである。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 4 ストーリーポイントによる規模の見積り]] §1, [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 6 見積りの技法]] §2) - 4章の「値そのものには意味がなく他の作業との比率だけが意味を持つ」という定義は、7章では見積り値を**いつ変えてよいか**の判断基準に転用される。7章は、あるストーリーの実装に想定より時間がかかったという絶対的な事実だけでは再見積りせず、ストーリー間の相対的な大小関係についての判断が変わったときだけ再見積りすべきだと述べる。完了ストーリーだけの値を増やして未着手ストーリーを据え置く再見積り(表7.1)は、この相対値としての一貫性を崩すため、ベロシティが上がって見えても残作業量が同じだけ増え、正味の見積り結果は変わらない。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 4 ストーリーポイントによる規模の見積り]] §1, [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 7 再見積り]] §2) - 6章はプランニングポーカーの見積り根拠として、既に見積もったストーリーとの対比(三角測量)による相対比較の一貫性を重視する。7章の3シナリオ比較(表7.2)は、この一貫性が初回の見積り時点だけでなく再見積りの局面でも保たれなければならないことを示す。相対サイズが変わったと判断したストーリーは、完了・未完了を問わず関連するもの全てをまとめて再見積りしないと一貫性が崩れ、完了ストーリーだけを再見積りする、あるいは全く再見積りしない場合と同様に、次イテレーションでチームがこなせる作業量を過大評価してしまう。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 6 見積りの技法]] §3-2, [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 7 再見積り]] §3-3) - 4章はストーリーポイントを「単位を持たない相対値」と定義するのみで、ストーリーを分割したときに個別の見積りの合計が元の見積りと一致すべきかには触れていない。23章のケーススタディはこの点を実例で示す。20ポイントの大きなストーリーを3つに分割した見積りの合計が21ポイントになった際、チームは「見積りはあくまで見積りにすぎない。そこまで精度が高いわけではない」として元の20ポイントに合わせる調整をしなかった。また、依存関係のために一部を別ストーリーへ切り出した際も、切り出した分だけ元のストーリーの見積り(8ポイント)を機械的に減らす(7ポイントにする)ことを避け、「見積りの精度が実際より高く見えてしまう」という理由でそのまま残した。これは4章の「値そのものには意味がなく相対的な大小関係だけが意味を持つ」という定義と整合する運用であり、分割前後の合計値という絶対量の一致を追い求めることが、そもそもストーリーポイントの性質と矛盾することを示している。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 4 ストーリーポイントによる規模の見積り]] §1, [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 23 ケーススタディ ボムシェルタースタジオ]] §2) - 8章は4章の「単位を持たない相対値」という定義を、理想日と比較したときの5つの具体的な利点として展開する。とりわけ、7章が示した再見積り基準(ストーリー間の相対的な大小関係についての判断が変わったときだけ再見積りする)は、8章では理想日との対比のなかで「見積りの賞味期限の長さ」という利点として再解釈される。理想日は開発者が経験を積み熟達するにつれて見積り自体が変化してしまうが、ストーリーポイントは対象の大きさが変わらない限り値も変わらないため、7章の再見積り基準を適用する頻度自体がストーリーポイントのほうが少なくて済む。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 4 ストーリーポイントによる規模の見積り]] §1, [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 7 再見積り]] §2, [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 8 ストーリーポイントと理想日]] §1-2) - 8章は著者の推奨をストーリーポイントとしつつ、理想日にしかない利点(プロジェクト関係者への説明のしやすさ、導入のしやすさ)を明示的に認め、ストーリーポイントの欠点は「わずか」と評価するにとどめる。判断基準は絶対的なものではなく、著者自身はチームが規模の見積りという考え方をすぐには受け入れられない場合、まず理想日で見積りを始めさせ、「さっき見積もったストーリーに比べてどのくらい大きいか」という相対比較の質問を繰り返すことで、徐々にストーリーポイント的な思考へ誘導するという移行戦略を採る。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 8 ストーリーポイントと理想日]] §2-1, §2-2, §3) - 6章のプランニングポーカーは、対象がストーリーポイントであっても理想日であっても同じ手順(専門家の意見・対比・分割の組み合わせ)で適用できる技法として説明されていた。8章1-4節は、対比による見積りの速さがストーリーポイントに固有の利点であることを示す。理想日で見積もるチームは対比だけでなく、ストーリー実現に必要な個々の作業(データベース実装の要否など)まで具体的に検討してしまう傾向があり、同じプランニングポーカーの手順を使っても理想日を対象にすると議論が長引きやすい。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 6 見積りの技法]] §4, [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 8 ストーリーポイントと理想日]] §1-4) ## 未解決の問い - 過去のベロシティが使えない場合にベロシティ自体をどう見積もるかは、本章では触れられておらず、16章「ベロシティの見積り」に委ねられている。 - 7章は再見積りをすべきかどうかの判断基準を示すが、実際にどのタイミング(イテレーション終了時、計画づくりの節目など)で見直しを行うべきかという運用上の頻度は示されていない。14章のイテレーション計画づくり、19-20章の進捗モニタリングで確認する必要がある。 - 23章の実例は「分割後の合計を元の見積りに合わせて調整しない」という運用を示したが、逆に分割後の合計が元の見積りから大きく乖離した場合(たとえば数倍になった場合)に、その乖離自体を「見積りの誤りに気づいたシグナル」として扱うべきかどうかの基準は示されていない。[[ユーザーストーリーの分割]] も参照。 - 8章は理想日からストーリーポイントへの移行手順(相対比較の質問を繰り返す)を示すが、逆方向(ストーリーポイントを既に使っているチームが理想日に戻す、あるいは両者を併用する)ケースは扱われていない。 ## 関連 - ソース: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 4 ストーリーポイントによる規模の見積り]] / [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 6 見積りの技法]] / [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 7 再見積り]] / [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 8 ストーリーポイントと理想日]](理想日との比較・使い分けの判断基準) / [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 23 ケーススタディ ボムシェルタースタジオ]](分割前後の見積りの扱いの実例) - 概念: [[ベロシティ]](16章担当分で作成予定)、[[理想日]](5章担当分。同じく規模の見積りだが抽象度が異なる)、[[プランニングポーカー]](6章担当分。ストーリーポイントの値を実際に付ける手順)、[[再見積り]](7章担当分。見積り値をいつ変えるべきかの基準)、[[ユーザーストーリーの分割]](12章担当分。分割の切り口と分割前後の見積りの扱い) - 書籍: [[wiki/entities/アジャイルな見積りと計画づくり|アジャイルな見積りと計画づくり]] ## 出典 - Mike Cohn 著, 安井力・角谷信太郎 監訳, 『アジャイルな見積りと計画づくり』, マイナビ, 2009, 4章, 6章, 7章, 8章, 23章.