なぜ“ストーリーポイント”を変えてはいけないと考えているのか

photo credit: RSR-chasing via photopin (license)

「最初に見積った“ストーリーポイント”とイテレーションをある程度繰り返してから見積った“ストーリーポイント”が変わってしまう。」を問題とするかどうか、かなあ。経験と情報が増えてるんだから、数値に反映させてもよいのでは?

と意見をいただいたので、問題としている根拠について説明を。

“作業の大きさ”自体は変わってないのにそれを変えている

「最初に見積った“ストーリーポイント”とイテレーションをある程度繰り返してから見積った“ストーリーポイント”が変わってしまう。」を問題とするかどうか、かなあ。経験と情報が増えてるんだから、数値に反映させてもよいのでは?

の例で示すと、「3スプリント前に“皇居1周”の“ストーリーポイント”を8と見積ったが、3スプリント経ち、自分たちの経験と情報が増えたので、“皇居1周”の“ストーリーポイント”を5に変えた」ということになる。“皇居1周”という“作業の大きさ”自体は変わっていないにも関わらず、それがあたかも変わってしまったかのように錯覚させている。

ちなみに“作業の大きさ”が変わった場合は“ストーリーポイント”を変えてももちろん問題はない。例えば、最初に想定していた以上にやらないといけない作業があったといった場合だ。これは“作業の大きさ”が変わっているのだがら、“ストーリーポイント”を変えないとおかしくなる。

では、“作業の大きさ”自体は変わってないのにそれを変える、ことになると何が起こるだろうか?

“作業の大きさ”自体は変わってないのにそれを変える、ことで起こるもの

Q. とあるチームが提示されたすべてのストーリーをリリースした。
ストーリーポイントは合計100ポイント、かかった期間は10イテレーションである。
そのチームに新たに提示されたストーリーを見積ったところ、50ポイントだった。

このチームは今回の見積りに、今までのイテレーションで得た経験と情報を反映させている。
その場合、何イテレーションでこれらのストーリーをリリースできると考えられるか?

この例の答えは残念ながら不定である。「以前のイテレーションではベロシティが10だったんだから5イテレーションあたりで終わるのではないか?」と思うかもしれないが、“このチームは今回の見積りに、今までのイテレーションで得た経験と情報を反映させている”ので、以前のイテレーションのベロシティがそのまま使えない。

どうすれば良いだろうか?

2〜3イテレーション実際に作業を行い、1イテレーションに消化できる“ストーリーポイント”=ベロシティを算出し、そのベロシティで50を割るしかない。

つまり、“作業の大きさ”自体は変わってないのにそれを変える、ことになると以前のベロシティがほぼ意味を成さなくなるということだ。

ベロシティからは以下のようなことが分かる。

  • 今までにどれだけの価値(=“ストーリーポイント”)をデリバリーできたのか?
  • 後どれくらいで今目の前にあるすべてのユーザストーリー1をデリバリーできるのか?
  • 何ストーリーポイント分までならある期日までにデリバリーできるのか?

ベロシティがほぼ意味を成さなくなる、ということは上記の情報が分からなくなることを意味している。

経験と情報はどこにも反映されないのか?

「3スプリント前に“皇居1周”の“ストーリーポイント”を8と見積ったが、3スプリント経ち、自分たちの経験と情報が増えたので、“皇居1周”の“ストーリーポイント”を5に変えた」のようなことをしてはいけないなら、経験と情報はどこにも反映されないではないか!と思うかもしれない。

しかし、そんなことはない。

経験や情報が増え、1イテレーション内に消化できる“ストーリーポイント”の量が多くなれば、それはベロシティの向上として反映される。何も心配することはない。

まとめ

  • “作業の大きさ”自体は変わってないのにそれを変えると色々弊害が起こる
  • イテレーションを繰り返したことで得た経験や情報は恣意的に基準となる“ストーリーポイント”に反映しなくてもベロシティに反映される

  1. スクラムで言うプロダクトバックログ