Closed8

[アジャイル開発]ベロシティについて👀

Hideyuki FujiharaHideyuki Fujihara

ベロシティとは、

ある開発チームが1回のスプリントの中で消化する(doneにする)ことが出来たストーリーポイント(SPとも言う)の合計数のことであり、

開発スピードを計測するために使われる。

Hideyuki FujiharaHideyuki Fujihara

そして、直近の数スプリント分でそれを抽出して推移を見ることで、

現状の開発チームの体制でどれだけ出来そうかを算出し、

それに基づき計画の修正を行う。

アジャイル開発においては計画はあくまでも推測値であり、
(ウォーターフォール開発でも同様でしょうが)

唯一の具体的なものであるスプリントごとの成果物とそのSPをベースにして考え、

計画の方を修正する、と言ったフローを取る。

計画に対する帳尻合わせをする訳ではない。

Hideyuki FujiharaHideyuki Fujihara

例えばある開発チームのスプリントは2週間として、

その中でのベロシティが10とする。

ユーザー、または依頼主が欲しいもののSPの合計値が200とした場合、

完成には20スプリント、上記の前提に基づけば40週間を要することが推測できる。

仮に納期が半年後であるとすれば、

この内完成出来るのは約13スプリント分の完成物になる、ということも推測できる。

Hideyuki FujiharaHideyuki Fujihara

ここで重要なことは、『納期から逆算してベロシティを算出しない』ということである。

ベロシティもまた予測値であり、かつ参考値であるためである。

『人月の神話』にも通じるものと思われる。

https://www.gixo.jp/blog/4978/

Hideyuki FujiharaHideyuki Fujihara

つまり開発チームの状態を正しく把握して、

目標に対してどうするのか、目標の修正も含めて検討するための概念、ないしは手段として存在するのであり、

それ自体が目的になったり、それに主眼が置かれていたり、

他者と比較したり、

はたまた評価指標にするべきものでもない。

そもそもその為に存在するものでもなく、特性上その為に使える概念、ツールでもないからだ。

それでもやれば、それは火を見るより明らかだ。

Hideyuki FujiharaHideyuki Fujihara

ただこれは納期を完全に無視して良いとか、

ずるずると引き延ばし続けて良いと言っている訳ではない。

寧ろその逆だと思われる。
(ただし、開発チームの状態を無視したものになっていないか、これには意識を向け続けて、レビューを入れて修正していくべきではあると思われる)

背景を安易に人月、工数の解決に帰結させないこと。

ハードワークや精神論に帰結させないこと。

開発チーム内で何がボトルネックになっていて、

どんな困り事があり、

どうすればより良く働けるようになり生産性が上がるのか etc...。

こう言ったことにフィーチャーして、

そこでベロシティを用い、

その数字を安定化させることに意識を向ける、
(上げることも大切だが、それよりも安定していることの方が大切)

こうすることで結果的に納期をより合理的に、より安全に、より確実に満たせるようになる。

『ベロシティは納期の為の手段』とは、

詰まる所、こういう意味だと思われる。

このスクラップは1ヶ月前にクローズされました