ストーリーポイントとは何か|フィボナッチ数列を使う理由とプランニングポーカーの進め方

ストーリーポイントの定義・フィボナッチ数列を使う4つの理由・プランニングポーカーの6ステップを実例付きで解説。時間見積もりとの違い・ベロシティとの接続・よくある失敗5選・FAQ付き。アジャイル・スクラム実践者向けの完全ガイド。

※ 本記事はアフィリエイト広告(Amazon アソシエイト等)を含みます

ストーリーポイントが機能しない根本原因は、「ストーリーポイント=時間」として扱ってしまうことです。 結論から言えば、ストーリーポイントは作業量を”相対的な大きさ”で表す指標であり、時間に換算した瞬間に見積もりの意味が壊れます。フィボナッチ数列(1・2・3・5・8・13・21)を使うのも、「1時間刻みで精密に測れる」という幻想を捨て、大きさの比率だけを比べるためです。本記事では、AtlassianLychee Redmineの解説をもとに、ストーリーポイントの定義・フィボナッチ数列を採用する4つの理由・プランニングポーカーの進め方を実例付きで整理します。

ストーリーポイントとは

ストーリーポイント(Story Points)とは、ユーザーストーリーやバックログアイテムの工数・複雑さ・リスクを1つの相対的な数値で表す見積もり単位です。Atlassianは「ストーリーポイントは作業を完了するために必要な全体的な工数の推定値であり、絶対的な時間数ではなく相対的な大きさで表す」と定義しています。

絶対見積もり(時間)vs 相対見積もり(SP)

比較軸絶対見積もり(時間・日数)相対見積もり(SP)
単位時間・日数(具体的)相対的なポイント数
基準特定の作業にかかる時間基準タスクとの比較
個人差の影響大きい(経験者と新人で倍以上変わる)小さい(比率で合意するため)
心理的プレッシャー高い(「3時間で終わらせないと」)低い(大きさの比率なので追われにくい)
弱点楽観バイアスが入りやすく実績と乖離初期はベロシティが安定するまで計画しにくい

絶対見積もりは「この機能を8時間で作る」と個人の生産性を前提にします。経験豊富なエンジニアと参画したばかりのメンバーでは同じタスクでも所要時間が全く異なり、見積もりはスタートからズレを含んでいます。相対見積もりは「この機能はあのタスク(3 SP)の約2倍の大きさだから5 SP」と比較で考えるため、チームの共通認識として積み上がります。


なぜフィボナッチ数列を使うのか

フィボナッチ数列は、各数が前の2つの数の合計になる数列です(1・2・3・5・8・13・21・34…)。ストーリーポイントのカードでは通常 0, 1, 2, 3, 5, 8, 13, 20, 40, 100, ∞(推定不可), ?(情報不足) が使われます。

AtlassianPromapedia の解説をもとに、フィボナッチ数列を使う理由を4つ整理します。

① 相対的な比較を強制するから

数字の間隔が均等でないため「13 と 14 はどう違うのか?」という不毛な議論が起きません。チームは「13 か 20 か」を選ばざるを得ず、比較の感覚だけに集中できます。1刻みで選べる絶対値の見積もりと異なり、フィボナッチは選択肢を意図的に絞ることで「差の比率」に注目させます。

② 不確実性の大きさを自然に反映するから

小さいタスク(1〜3 SP)は比較的予測しやすく、大きいタスク(13 SP 以上)ほど見積もり誤差が大きくなります。フィボナッチ数列の「差が徐々に広がる」特性は、「複雑さが増すほど不確実性も増す」という現実を自然に表現しています。Lucidchart はこの点を「フィボナッチ数列は不確実性の自然な増加を反映する」と表現しています。

③ 偽の精度を防ぐから

「この機能は7時間」と言えてしまう時間見積もりとは違い、カードが「5か8か」しか選べないことで「細かく計算すれば正確な数字が出せる」という幻想を断ち切ります。見積もりはあくまで推測であり、誤差は必ずあるという前提をチーム全体で共有できます。

④ 異なる推定値が議論のきっかけになるから

チームメンバーが異なる数字を選んだとき(例:Aさんが3、Bさんが13)、その差がどこから来るかを話し合うことで、実装上の懸念・認識のズレ・未検討のリスクが表面化します。Lychee Redmine はこの「異なる推定値が出ることによる議論の促進」をストーリーポイントの主要なメリットの一つとして挙げています。


プランニングポーカーの進め方

プランニングポーカー(Planning Poker)は、チーム全員でストーリーポイントを見積もるアジャイル見積もり手法です。フィボナッチ数列を印刷したカードを使い、全員が同時にカードを開けることで先入観なく独立した推定を行い、その後の議論で合意を形成します。

準備するもの

  • プランニングポーカーカード(物理カードまたはデジタル:Jira・Planning Poker Online 等)
  • 見積もり対象のバックログアイテム(事前に PO が準備・優先度順に並べる)
  • 基準となる「アンカーストーリー」1本(初回は最初に合意してから見積もりを始める)

6ステップの進め方

ステップ実施内容注意点
① 提示PO がアイテムを読み上げ、背景・完了条件を説明する疑問はこの段階で解消する
② 確認チームが質問し共通認識を合わせる「誰が受入テストするか」まで詰める
③ 個別見積もり各自がカードを裏向きに選ぶ他者の選択を見る・声に出すのは禁止
④ 同時公開全員が一斉にカードを表に返す同時であることで先入観を排除する
⑤ 議論最大値・最小値を選んだ人が理由を説明する議論は5〜10分に収める
⑥ 再見積もり議論後に再度カードを選び、合意形成する3 回以内を目安に

記入例:Webシステム開発スプリントプランニング

バックログアイテムAさんBさんCさん合意 SP分割要否
ログイン機能実装3353不要
在庫一覧ページ作成5888不要
メール通知バッチ51388不要
API 外部連携設計・実装132013✅ 要分割

API外部連携は最大値20・最小値13とバラつきが大きく、最大値を選んだBさんが「認証仕様が未確定で実装リスクが読めない」と説明。スプリントゴールへの影響を確認したうえで「設計スパイク(5 SP)」と「実装(8 SP)」に分割して再プランニングすることになりました。


ストーリーポイントとベロシティの接続

ストーリーポイントは単独では意味を持ちません。スプリントで実際に完了した SP の合計が**ベロシティ(Velocity)**となり、次のスプリントの計画の入力になります。

ベロシティ = スプリントで DoD(完成の定義)を満たして完了したストーリーポイントの合計
スプリント計画 SP完了 SP(ベロシティ)備考
Sprint 13022初スプリント・見積もりに慣れていない
Sprint 22625基準感覚が安定してきた
Sprint 32626ほぼ計画どおり
平均24.3この平均をスプリント4の計画上限に使う

3スプリント分のベロシティの平均が安定してきたら、それを次スプリントの上限の目安にします。ベロシティはメンバーの増減・技術的負債の蓄積・外部割り込みなど様々な要因で変動するため、最新3〜5スプリントの移動平均を使うのが実務的です。

スクラムの3つの作成物で解説したとおり、スプリントバックログへ投入できる SP 量はベロシティの範囲内が基本です。過去のベロシティを無視して「今回は全部できるはず」と詰め込むと、未完了アイテムが次スプリントに持ち越され、計画の信頼性が崩れていきます。


ストーリーポイントのメリットとデメリット

メリット

  • 時間見積もりより個人差が出にくく、チームの共通認識として機能する
  • プランニングポーカーの議論で見積もりのズレを事前に発見できる
  • ベロシティで「チームが1スプリントにこなせる量」を定量的に把握できる
  • 時間を直接意識しないため「早く終わらせないと」というプレッシャーが減る

デメリット

  • ストーリーポイントを時間換算しようとする文化があると機能しない
  • 初期はベロシティが安定するまで2〜3スプリント要し、計画精度が低い
  • アンカーストーリーの合意が崩れると全体の基準がズレる
  • ステークホルダーへの説明で「ポイントで言われてもわからない」という抵抗が出やすい

よくある失敗5選

❶ ストーリーポイントを時間に換算してしまう

「8 SP ≒ 8時間」と換算した瞬間に、ストーリーポイントは機能を失います。SPは大きさの比率であり、実際の所要時間は個人・コンテキスト・技術負債によって変わります。換算しない文化を最初からチームで合意し、ステークホルダーへも「時間ではなく大きさの指標です」と説明しましょう。

❷ 全員が同時に公開する前に声に出してしまう

プランニングポーカーは同時公開が肝です。「私は5かな」と発言してしまうと他のメンバーが影響を受け(アンカリング効果)、独立した推定が意味を失います。デジタルツールでは自動的に同時公開されるため、リモートチームには特に有効です。

❸ アンカーストーリーを設定せずに見積もる

基準がない見積もりでは、Aさんにとっての「5」がBさんにとっての「3」になります。毎回プランニングポーカーの冒頭でアンカーを確認し、新メンバーが加わったときは改めて合意し直すことが重要です。

❹ 13 SP 以上のアイテムをそのままスプリントに投入する

20 SPや∞(推定不可)が出たアイテムをそのままスプリントに入れると、未完了で次スプリントに持ち越す事態になります。13 SP以上はバックログリファインメントで分割し、1スプリントで完了できるサイズにしてから再見積もりします。

❺ ベロシティを外部報告の生産性指標にしてしまう

「先週より生産性が上がった」をベロシティで報告するとゲーム化が始まります(実際の複雑さより高く見積もると見かけのベロシティが上がる)。ベロシティはチームの計画ツールであり、外部報告・他チームとの比較・人事評価の指標にはなりません。


FAQ

Q. ストーリーポイントは1 SPを何時間に設定すればよいですか?

設定しないのが正解です。時間換算を始めた瞬間に相対見積もりの意味がなくなります。ベロシティが安定するまで「チームが平均で1スプリントに完了できる SP 数」を蓄積し、それをプランニングの入力として使います。

Q. チームに参加したばかりのメンバーはどうすればよいですか?

最初はオブザーバーとして参加し、他のメンバーの見積もり理由を聞くことを推奨します。2〜3スプリントで基準感覚が身についてきたら、正式に見積もりに参加してもらいましょう。無理に初回から参加させると基準がブレる要因になります。

Q. フィボナッチ以外の数列を使ってもよいですか?

チームが合意していれば問題ありません。代表的な代替は Tシャツサイジング(XS/S/M/L/XL)2のべき乗(1/2/4/8/16) です。フィボナッチの特性(差が徐々に広がる)が活かせる方法であれば、本質的には同じ相対見積もりです。初心者チームにはTシャツサイジングが視覚的にわかりやすい場合もあります。

Q. ストーリーポイントを使わなくてもスクラムはできますか?

できます。スクラムガイド2020はストーリーポイントを必須としていません。Tシャツサイジングや実際の日数で計画するチームもあります。重要なのは「チームが同じ基準で作業の大きさを比較できること」であり、ストーリーポイントはその手段の一つです。

Q. プランニングポーカーは何分くらいかかりますか?

アイテム1件あたり5〜15分が目安です。スプリントプランニング(タイムボックスは4週間スプリントで最大8時間)の中で実施します。バックログリファインメントで事前に理解を深めておくと、プランニング当日の見積もりが短縮されます。


まとめ

  • ストーリーポイントは工数・複雑さ・リスクを相対値で表す見積もり単位であり、時間ではない
  • フィボナッチ数列を使うのは比較を強制・不確実性の自然反映・偽の精度排除・議論の促進の4つが目的
  • プランニングポーカーは全員同時公開最大・最小の理由説明再見積もりの流れで合意を取る
  • ベロシティはチームの計画ツールであり、外部報告・チーム間比較・人事評価には使わない
  • 13 SP以上はスプリント投入前にバックログリファインメントで分割を検討する

ストーリーポイントが機能するかどうかは、導入初期の**「アンカー合意」と「時間換算しない文化の定着」**にかかっています。まず1本のアンカーストーリーをチームで合意し、プランニングポーカーを2〜3スプリント回してベロシティを蓄積するところから始めましょう。

出典・参考情報

関連記事