アジャイル開発における計画で重要な要素だと思うものにストーリーポイントがあります。
一般的な開発案件のスケジューリングにおいて、よく使われる単位は「人月」つまり工数です。
ではストーリーポイントと工数の違いはなんでしょうか。
この記事では、上記の違いをおさえながら、アジャイル開発における計画の強みを見てみようと思います。
工数は「どれくらいかかるか」を見積もる
ストーリーポイントと比較して工数の特徴を挙げるなら、工数は「どれくらいかかるか」を見積もる、と言えます。
「ある開発が完了するのに10人日かかる」「各開発人日を合計していくと、プロダクトは来年の3月にはリリースできそうだ」というのが、工数をつかった見積りです。
この見積りはシンプルでわかりやすそうな反面、弱点もあります。
それは案件の持つさまざまな要素すべてを、工数にしか反映させられないということです。
この点を意識してストーリーポイントの特徴を見てみましょう。
ストーリーポイントは「どれくらい大変か」を見積もる
ストーリーポイントも数値で表すため、工数の2Pカラーのような印象を受ける人もいるかもしれません。
しかしストーリーポイントは工数ではありません。ではストーリーポイントは何でしょうか。
その正解はありません。
ストーリーポイントの数値は、ストーリー全体の規模をあらわす。ストーリーの規模を定義するための数式は存在しない。ストーリーポイントによる見積りが示す値は、フィーチャを実装するのに必要な作業、開発内容の複雑さ、開発に内在するリスクなどが渾然一体となったものである。1
ストーリーポイントは規模をあらわすと表現されていますが、「規模」という定義自体よりも、「規模」が工数以外の要素を含んでいることが重要そうです。
自分なりに言い換えれば、あらゆる要素を統合して「どれくらい大変か」を見積もるのがストーリーポイントの特徴である、とまとめられます。
あらゆる要素をストーリーポイントの見積り材料にする
上述の引用の通り、ストーリーポイントを見積もるには「どれくらいかかるか」ではなく、たとえば次の要素を踏まえて「どれくらい大変か」を考えます。
- このストーリーで必要な作業をかるくブレイクダウンすると、こんな感じになりそう
- ストーリーを完了するまでの作業のうち、よくわかっていないものが多い/少ない
- 実装関連の作業以外で、社内外のコミュニケーションやネゴシエーションが多い/少ない
- 絶対に失敗してはいけない/とりあえずやってみよう
このようなものを「工数」で測ることは難しいですが、ぜんぶまとめて「なんとなく何ポイントになるか」を考えることはできそうではないでしょうか。
ストーリーポイントは期間を見積もれないのか?
ストーリーポイントは「どれくらい大変か」を見積もるもののため、工数とイコールで結びつくわけではありません。
そのかわりにストーリーポイントから工数を導出します。この「導出」が非常に重要です。
このやり方が優れている点は、ストーリーポイントによって作業量の見積りと期間の見積りとを完全に分けて考えていることである。[...]両者を分けて考えることで、別々に見積もれるようになるのだ。2
ここで利用されるのがベロシティです。ひとつのイテレーションでどれくらいの作業量がこなせるかわかれば、自然と期間も見積もれるだろう、という発想です。
言い換えれば、ひとつのイテレーションで「どれくらいの大変さを消化できるか」がわかるのがベロシティでしょう。ベロシティも同じく工数を測るものではない、というのが重要です。
結論
ストーリーポイントおよびベロシティを工数と違うものと理解して活用することができると、計画づくりが大きく変わってくると感じています。
もしストーリーポイントが「工数の言い換え」に近いものであったなら、ぜひこの記事を参照していただければ嬉しいです。