Sepustus

アジャイル開発についてぽつぽつ書き込む場所

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

ストーリーポイントって一体何だろう?ということをここのところずっと考えている。

ストーリーポイントを説明するときには、「ストーリーの複雑さや規模を相対的に見積もったもの」という定義を使っているけれども、やっぱり初めて"アジャイル"に触れる人にはわかりにくいし、そのままだとよく分からないまますすめていくことになりかねない。とりあえず、たとえば全体のスケジュール感を見積もるときとか、ベロシティとして使えるんだよっていう使い道を紹介してみる感じになってしまう。

ストーリーポイントをつけるときには、ポーカーを使うことが多い(やっぱりあれが楽しいし、手っ取り早いし、コミュニケーションがとりやすいというわかりやすい利益があるから)。そのプロダクトを作る初期段階では、まだ土台の試行錯誤の段階でもあるので、ストーリーポイントの精度が低いことが多い(とはいえ、精度が高いといくつなのかはわからないし、それは知る必要がないだろう)。徐々に開発チームがプロダクトの開発になれて行くにしたがって(イテレーションをすすめるに従って)、プロダクトのアーキテクトが決まっていき、開発チームの中のストーリーに対する認識も合いやすくなり、ストーリーポイントの精度が安定してくる。

一方、ストーリーポイントによって計測するベロシティでは、開発に慣れるに従って、初期から大きく上昇してやがて安定する。ところが、この初期段階のストーリーポイントには難があり、初期ベロシティの精度そのものが不安なのだ。(ので、初期から上昇している、のか、初期が異常に小さいのかは分からない)

アジャイルサムライでは、ポーカーによる見積もりの他に三点見積もりが紹介されている。ポーカーでは、ストーリーに対する議論を大切にすることができるが、三点見積もりだと、議論がどうしても浅くなる。逆に言えば、ストーリーの見積もりに、開発チームのリソースをそこまで使う必要はないだろうという判断なのかもしれない。

こういう状況ががまわりで起こっていて、はたしてベロシティをストーリーポイントで計っていいものなのだろうか、という疑問が生じる。

そして、こういう人もいる(出典[日本語訳])

I (and other experts) no longer see story points as necessary.(自分は(他の専門家も)もはやストーリーポイントを必要なものとは見なしていません。)

ベロシティは、生産性は、どうやって計測して、チームが成長していることを確認すればいいんだろう?数字が全くないよりはあった方がいいので、ひとまず従来通りストーリーポイントの合計を使っているけれども。