スクラム開発をしているとチームのスコアにベロシティ(ストーリーポイントの合算値)を評価する人がいます。
しかしこれは個人的にあまり良くないケースとして考えており、ベロシティの数値の大小を評価するのはアンチパターンだと思っております。
なぜならベロシティとアウトプットの量に比例するような関係はありません。ベロシティの上下がアウトプットの量につながっていると誤解しているから評価したくなるの思われます。
この記事では、ベロシティの評価にしかた自分なりの考えを紹介します。
ベロシティの本質
繰り返しますがアウトプットの量はベロシティの数値と比例はしません。
ベロシティが関係しているのはストーリーポイントです。
ストーリーポイントはただの見積もりなので、ストーリーポイント(見積もり)を増やすだけでベロシティの数字は上がります。
もちろん、こんなことで上がったベロシティに価値はありません。
タスクに対してストーリーポイントをつけるのはスプリント内で過剰なタスク量になっていないかを図る指針にするためです。
ストーリーポイントは一人ではなくチームで見積もります。そのため、人によってストーリーポイントの値に振れ幅がでてきます。 このような状態であれば、ベロシティの値も変わってくるのが当たり前になります。
ベロシティが安定しているチームはストーリーポイントの値と実際の作業の時間や量が一致していていることを意味します。
これがベロシティの本質で、チームの見積もりの精度や仕様の認識が一致していることを表しています。この状態はチームとして成熟しているとも言えます。
このような状態だとプロダクトオーナーは残りのスプリント回数とプロダクトバックログアイテムを見て、どの時期にどの程度の作業が進みそうか予想を立てやすくなります。逆にベロシティの値が何割も振れ幅があると、見積もりの精度に不安があり予想が立てにくくなります。
これが、ただベロシティの数値が高ければ良いというものではないという理由です。
ベロシティとアウトプットはなぜ違うのか
繰り返しますがベロシティは見積もりの塊です。
移動距離をアウトプットと想定し、移動距離をベロシティ、速度をストーリーポイントにしてサイクリングで少し例えてみたいと思います。
ロードバイクで10km移動するとなった場合、どのくらいの時間がかかるかと計算しますか?
ロードバイクですと平坦であればだいたい20kmくらいで走れます。そうなると30分程度かかる見込みになります。
しかしこの道が上り坂であったりしたらもっと時間はかかります。下り坂になればもっと早く走れますが、あまりスピード出しすぎるとコケてしまう恐れもあるので速度を抑えながら慎重に走ります。
このように10km走る事でも、かかる時間は道によって上限します。過去に出した別の道の最速だけで見積りをしたらズレが生じてしまいます。
もしここで、上り坂なのに30分で到着しようとしたら、体力を大幅に削られて次の移動に影響するでしょうし、下り坂メインであれば早く到着できるので30分の移動で13kmの地点にいけるかもしれません。
ベロシティでは重要なのは10kmを30分で走る事ではなく、どのくらい時間で目的地につけるかを当てることです。 自分の体力やその道の高度など、速度に影響しそうな要因を把握しそこに塩梅をつけて計算する見積もり力の高さがスプリントを進めるのに大いに役立ちます。
ベロシティをほかチームと比較するのはやめよう
もう一つ勘違いされやすいのが、他チームとのベロシティの比較です。ストーリーポイントの数字の単位はチームによって異なりますのでそもそもベロシティを比較できるものでもありません。
間違ってもベロシティを人数で割って、一人あたりのアウトプット量の平均値を出して評価するのはやめましょう。本当に誰も得をしないですし、チームを崩壊させる毒になります。
まとめ
ベロシティの数字だけを見て一喜一憂するのは無意味ですのでやめましょう。
ベロシティはチームの状況や見積もりの精度を測る指針や傾向を見るくらいに使うのがよく、チーム自体を評価するのに使うのは危険な行いだと考えるのが良いかと思います。