少し前に、ベロシティの計測に関して同僚と会話する機会があった。Coding Agent時代にベロシティを計測する意味とはなんだろうか?という話になった。結論としては、今でも必要だろうという考えに至ったのだが、そこに至るまでの思考をまとめてみる。
まず、ベロシティについておさらいする。(内容に誤りがあれば教えてください。)ベロシティはスクラムチームの現状を把握して、今後の見通しや計画を考えるために使うものである。プロダクトバックログアイテムの相対的なサイズ感を ストーリーポイント(SP) として事前に割り当てて、1つのスプリントの中で完成したアイテムのストーリーポイントを合計することでベロシティを計測する。ストーリーポイント自体はあくまでも"相対値"なので、ポイントの数値そのものはあまり重要ではない。
ここから当時の会話を思い出しながら、考えをまとめてみる。Coding Agentの登場によって、例えば完了まで半日かかっていた複雑なタスクをより短い時間 (1~2時間) で完成できるようになったとする。ベロシティの計測上では、ベロシティ目標との乖離が当然発生する。上手くいけばベロシティは上がるし、上手くいかなければベロシティは下がる。ベロシティが不安定な中で、計測されたベロシティは計画で利用できる意味のある数値なのだろうか? という話があった (と記憶している)。
ここで冒頭の「ストーリーポイントは相対値である」という前提に立ち返ると、少し引っかかる部分がある。Coding Agentによってチーム全体が一様に速くなった場合、消化できるアイテムが増えてベロシティは一旦上がるが、それは見積もりの基準を「人手で実装する前提」のまま据え置いているからだとも言える。SPがあくまで相対的なサイズ感であるなら、速くなった実態に合わせて見積もりの基準を引き直せば、相対関係を保ったままベロシティは新しい水準で落ち着くはずである。むしろベロシティがいつまでも安定しないとしたら、それは「Coding Agentが効くタスクと効きにくいタスクで短縮の度合いが違う」ことでアイテム同士の相対関係そのものが組み替わり、基準を引き直しにくくなっていることに起因する部分が大きいように思う。だとすれば、まず見積もりの基準(人手で実装する前提か、Coding Agentを使う前提か)をチーム内で揃えておくことが、変動を抑えるうえで効いてくるのではないか。
とはいえ、ベロシティが不安定になり得るのはその通りだが、不安定であること自体は問題ではないはずである。ベロシティが変動しても、ベロシティ目標に届かなかったとしても即問題となるわけではない。目標設定に無理があったり、外部要因によってベロシティが上がらなかった可能性もあるので、一喜一憂すべきではない。あくまでも、現状把握・分析の材料の一つとして使えることには変わりはない。例えば、タスクごとの短縮率の違いがベロシティの変動に影響しているのであれば、チーム内でAI活用の練度を揃えたり、活用の場面を増やす取り組みで改善されるかもしれない。
ベロシティの変動や不安定な状態が問題となるのは、主に計画の場面ではないかと思う。例えば、残りのスプリント回数を踏まえて、どのくらいのプロダクトバックログアイテムを完成できそうかを予測するようなケースを考えてみる。ここで強い〆切が出てくると、「ベロシティの平均がこのくらいで、残り2スプリントでこのくらいできそうで...」みたいな会話が発生してしまう。こういった状況では、ベロシティに厳密な正確性が必要になってしまう。プロダクト開発をしている中で強い〆切が出てくるのはよくある話ではあるが、〆切に間に合うかどうかをベロシティ単体で判断することは難しい。ベロシティが不安定であることを許容して、「〆切に間に合うかどうかのリスクをストーリーポイントとベロシティを使って評価する」のが現実的ではないか。
その評価を確からしくするには、プロダクトバックログアイテムのリファインが効いてくる。リファインが十分でなければ、見積もりのズレが大きくなりやすい。(極端な例だが)同じ10SPでも、1SP × 10アイテムより 5SP × 2アイテムの方が不確実性は高いだろう。だからこそ、〆切が見えている局面ほど細かくリファインしておくことが重要である。粒度を小さく保てば1アイテムあたりのブレが全体に響きにくくなり、リスク評価の確からしさも上がるからだ。Coding Agentで所要時間がブレやすくなるなら、なおさらアイテムを小さく分割しておく価値は上がる。細かくリファインされたアイテムで何スプリントか過ごせば、不確実性が抑えられたベロシティが参考データとして溜まっていく。それがあれば、以前よりプランニングでのリスク評価はしやすくなるはずだ。
結局は「スクラムチームの現状を把握して、今後の見通しや計画を考えるために使う」ということには変わりはなくて、正しい使い方をしようという結論に落ち着いた。