はじめに
アジャイル開発やスクラムを導入すると、ほぼ必ず一度は出てくる議論があります。
「この見積もりのストーリーポイントって、結局何時間なんですか?」
現場としては気持ちはよくわかります。計画を立てるには時間が必要ですし、
上司や他部署に説明するために「◯時間くらいです」と言いたくなる場面も多いでしょう。
ただ、結論から言うと ストーリーポイントを時間に変換するのは、ほとんどの場合うまくいきません。
この記事では、その理由を説明します。
ストーリーポイントは「時間」ではない
まず前提として、ストーリーポイントは 作業時間を表す単位ではありません。
ストーリーポイントは、以下のような要素をまとめて 「相対的に」見積もるためのもの です。
- 作業の複雑さ
- 不確実性
- リスク
- 精神的な重さ
つまり「AはBより大変そうだよね」という比較のための指標です。
時間のような絶対値とは、そもそも性質が違います。
なぜ時間に変換すると問題が起きるのか
1. 人によって時間は簡単に変わる
同じストーリーでも、
- ベテランがやる
- 新人がやる
- ペアプロでやる
これだけでかかる時間は大きく変わります。
ストーリーポイントは「誰がやっても相対的に同じ大きさ」として扱えるのが強みですが、時間に変換した瞬間にその前提が崩れます。
昨今は、人間ではなくAIが作業を行う場合もありえます。
AI は一瞬で終わることもあれば、うまくいかずに人間が大量に手戻りすることもあります
つまり、AIの作業時間は人間以上にブレが大きいのです。
2. チームは成長する
スクラムを回していると、チームは少しずつ速くなります。
- ドメイン知識がたまる
- コードベースに慣れる
- 自動化が進む
すると、同じストーリーポイントでも消化できる量は増えていきます。
それなのに「1ポイント=◯時間」と固定してしまうと、チームの成長を数字が邪魔することになります。
3. 見積もりが防御的になる
時間に変換されると、見積もりは一気に重くなります。
「このポイント、8時間って言ったけど本当に大丈夫かな」
そんな不安から、
- ポイントを大きめに付ける
- チャレンジングな作業を避ける
といった行動が起きがちです。
結果として、見積もりが正確になるどころか、むしろ歪んでいきます。
4. 数字の管理が目的になってしまう
ストーリーポイントを時間に変換すると、いつの間にかこんな会話が増えます。
- なぜ予定より2時間オーバーしたのか
- このポイント換算は妥当だったのか
本来大事なのは「価値を届けられたか」なのに、
気づくと数字の説明が目的になってしまいます。
じゃあ計画はどうやって立てるのか
「時間に変換しないと計画できないのでは?」と思うかもしれません。
ここで使うのが ベロシティ です。
- 過去のスプリントで
- 何ポイント消化できたか
この実績をもとに、
「次のスプリントもだいたいこれくらい進みそうだよね」
と予測します。
これは時間に変換しているわけではなく、実績ベースで予測しているだけです。
AIが作業を行う時代における注意点
最近は、人間だけでなく AI が実装・調査・テスト作成などを担う場面も増えてきました。
この状況で「ストーリーポイント=時間」という考え方を持ち込むと、さらに問題がややこしくなります。
例えば、
- AI は一瞬で終わることもあれば、
- うまくいかずに人間が大量に手戻りすることもあります
つまり、AI の作業時間は人間以上にブレが大きいのが実情です。
それでもストーリーポイントは、
- どれくらい試行錯誤が必要そうか
- 人間のレビュー負荷はどれくらいか
- 失敗したときの影響は大きいか
といった観点を含めて相対的に見積もることができます。
AI が関わるからこそ、
「何分で終わるか」よりも
「どれくらい不確実か」「どれくらい重いか」
を見るストーリーポイントの考え方は、むしろ相性が良いと言えます。
まとめ
- ストーリーポイントは時間ではない
- 時間に変換すると、成長や違いを吸収できなくなる
- 見積もりが守りに入りやすくなる
- 数字の管理が目的化する
だからこそ、
ストーリーポイントはストーリーポイントのまま使う
(時間換算しない)
これが一番、長期的にうまくいきます。
現場でモヤっとしたときに、思い出してもらえたら嬉しいです。