【徹底解説】ベロシティとは?アジャイル開発でよく使う指標の役割について
ベロシティについてこんな疑問をお持ちの方は多いのではないでしょうか?
- ベロシティで何を行うかわからない
- ベロシティの目的がわからない
上記のような疑問や不安にお応えしていきます。
今回の記事を読めばこれがわかる!
☑️「ベロシティ」の目的
☑️「ベロシティ」の役割
☑️「ベロシティ」が無いと起こる問題
この記事を書いている私は、Enlytのマーケティングチームで働いている山本です!
目次
ベロシティとは?
ベロシティとは?
ベロシティとはアジャイル・スクラムのチームが1スプリント内で作業できる平均的な作業量を表す指標です。
基本的にはストーリーポイント数(作業完了に必要な全体見積りを示す測定単位)で表現します。
ベロシティはなぜ必要か?
ベロシティを用いることで、チームがどれくらいの速さでバックログを処理できるかを予測することができます。
そのためベロシティは、開発完了見込みの時期予測や、次のスプリントでどれくらいの作業に対応できそうか検討する際の参考値として利用することができます。
またベロシティはそのチームが1スプリントに実施できた作業量の値であるため、ベロシティが安定してきたり、上昇傾向にあるケースはチームが成長しているという数値根拠にもなりえます。
ベロシティの見積もり方法と活用方法
ベロシティの見積もり方法
ひとまとまりの作業に対してストーリーポイントをつけていく
ストーリーポイントとは、ユーザーストーリーやフィーチャ、その他の作業の大きさをあらわす単位のことです。
ベロシティを見積もる際にはまず、ひとまとまりの作業に対してポイントをつけていきます。ポイントはあくまで他の作業との相対値であり、ポイントの数値そのものはあまり重要ではありません。
2ポイントをつけられたストーリーは、1ポイントのストーリーの2倍の大きさであり、3ポイントの3分の2の大きさになります。
1スプリントに実施できた作業量のストーリーポイントの合計を出す
それぞれの作業にポイントをつけたら、1つのスプリントのなかで完成したアイテムのストーリーポイントを合計していきます。
ここで合計した数が1スプリント内のベロシティになります。例えば、5ポイント、3ポイント、2ポイントのアイテムが完成した場合は、ベロシティは10ポイントになります。
ただベロシティは複数のスプリントの平均値をとっていくことで数値の精度が上がっていくため、1スプリントのベロシティはあくまで参考値であり正確性の低い数値であるといえます。
各スプリントの数値の平均を出す
上記①~②の工程をスプリントごとに繰り返し、各スプリントででたベロシティの数値の平均を出します。ベロシティの数が多ければ多いほど、数値の精度が上がっていきます。
ベロシティ運用で注意するべきこと
直近のスプリントのベロシティだけで判断しない
ベロシティはそのチームが1スプリントに実施できた作業量の値です。
プランニングをする際にこの値を確認することは大切ですが直近の1スプリントだけでなく、ある程度の期間のベロシティの平均を取りその数値を見るようにしましょう。
理由は以下の通りです。
- 直近のスプリントだけだと稼働日が少ないスプリントなどはベロシティが少ないこともある
- チームのメンバーが休みのスプリントはベロシティが少ないこともある
- 見積もったポイントが甘い場合がありその影響でベロシティがブレていることもある
直近のスプリントはこのような影響を受けやすいので、ある程度の期間のベロシティの平均を取ることが重要です。
他のチームとベロシティを競わない
前提として、ベロシティは他のチームと競うような指標ではありません。
あくまでそのチーム・メンバーでできる作業量であって、他のチームと比較する必要はありません。
ベロシティの数値を他のチームと競うことでゲームのようになり、チーム同士の関係性が悪くなってしまうこともあります。
他のチームと比較するのではなく、一緒に価値を届け続けるための方法を模索するようなアプローチを考える方が大事です。
無理にベロシティの数値を上げようとしない
ベロシティを継続して計測していると、無理に数値をあげようとしてしまうケースがあります。
もちろん改善などを繰り返した結果、正しい努力によってベロシティを上げていくのであれば問題はありません。
そうではなく例えばリファインメントの際にいつもよりポイントを多めにつけているといった場合、ベロシティを上げることにだけを重視していると判断できます。
これは極端な例ではありますがベロシティをあげることに夢中になってしまうと、このようなことをしてしまいがちです。こういったことにならないよう注意しましょう。
ベロシティはあくまで参考にする数値です。
ベロシティ運用の失敗談
「完了」の定義がずれていて
ある開発で実装が完了しテストをしていた際に、不具合が発生してしまいました。
開発チームでは不具合の80%をなおすことを完了と考えており、80%修正が完了した段階でベロシティを出しました。しかしクライアントは不具合を全て修正することを完了と考えていたため、開発チームとクライアント間で認識齟齬が発生しました。
このような場合、ベロシティの数値の正確性は損なわれてしまいます。
開発チームとクライアントの間で完了の定義が異なることで、ポイント数にもズレが生じてしまうからです。
このような認識齟齬を防ぐために、必ず事前に完了の定義を確認しておきましょう。
今回の例はクライアントと開発チーム間の認識齟齬でしたが、このズレは開発チーム内でも起こりえます。クライアント、さらには開発チーム内でも確認し合うことが大切です。
ポイントの認識が揃っていなくて
開発チームは日々ストーリーポイントを使用しながら開発を進めているため、開発チーム内では1ポイントの数値的な感覚が染み付いている状態です。
しかしクライアントや開発パートナーがこれまでポイントを日常的に使用していなかった場合、ポイントの感覚が分からない場合があります。
またアジャイルの経験があっても、チームごとに見積りに対する考え方が違うため、ポイントの感覚もそれぞれ異なります。クライアントがポイントの感覚を掴めないまま開発が進んでいくと、開発チームではポイントを使用しながら進捗報告をしていてもクライアントが理解できておらず、お互いのスケジュール感にズレが生じてしまうことがあります。
この様な状況を事前に防ぐため、プロジェクトが立ち上がるたびにクライアントのアジャイル開発経験に関わらずポイントの説明を行い、クライアントがポイントについてしっかりと理解している状態にしておきましょう。
ベロシティのまとめ
ベロシティとはアジャイル・スクラムのチームが1スプリント内で作業できる平均的な作業量を表す指標です。
ベロシティは、開発完了見込みの時期予測や、次のスプリントでどれくらいの作業に対応できそうか検討する際の参考値として利用することができます。
スプリントの数が多ければ多いほどベロシティの数値の精度が上がっていくので、直近の1スプリントだけでなく、ある程度の期間のベロシティの平均を取りその数値を見るようにしましょう。
Enlytについて
株式会社Enlytはベトナムに開発拠点SupremeTechを持ち、Enlytではこれまで50以上の開発プロジェクトを行ってきました。( 株式会社Enlytの実績は開発実績ページから)ベトナムと日本のグローバルなチームで、数多くのプロジェクトを成功に導いてきました。
アジャイル開発をご検討の際は、株式会社Enlytまでご気軽にお問合せください!
お客様の納得のいくまで、共に開発させていただき、アイデアを最高のかたちにサービス化いたします。下記ボタンより気軽にお問合せください!