見積もりポーカーを買ってストーリーポイントが分かるようになった話
アジャイル開発の見積もりに使う「ストーリーポイント」、あれが既存の見積もりと何が違うのかずっとわからなかったのだけど、ある日突然理解できた。
きっかけは、見積もりポーカーを買ったこと。デザインが秀逸で、見た瞬間に今まで何を間違っていたのかを理解した。
それまでの誤解
「ストーリーポイントは、何らかのタスクを基準に、それよりどれくらい難しいかを使って見積もるもの」と思っていた。
この前、不具合解決のタスクを1と見積もったよね。今回の機能追加はそれに比べてどれくらい難しいだろう?
不具合解決は2日かかったよね。機能追加だと10日くらいかなあ。ということはストーリーポイントは5か。
これ言うと、「ストーリーポイントは日数見積じゃない」と言われるのだけれど、何が違うのかずっとわからずにいた。だってどれくらいかかるか見積もるんでしょ?
秀逸なデザイン
Agile Inspirationsの見積もりポーカーでは、カードに数字の他に絵が書かれている。例えば13はピザ。
「あ。タスクをもっと分けようよ、ということ?」
5は地図。
「ストーリーポイント5は、設計とかプランを考えないといけない程度の難易度なのね」
1はブタさん。
「ストーリーポイント1。ぶうって鳴いたら終わる簡単タスク」
この基準があれば、見積もりは日数から開放される。
「これって一人でこなせる規模?分けたほうがいいタスクだったりしない?」
一人でこなせないタスクは13。ぶっちゃけ13より大きい見積もりは意味がない。みんな合意したらタスク分割して見積もりし直すのだから、13だろうと21だろうとやることは一緒だ。
ということで分割して手頃なサイズになったら、次はこう考える。
「それって設計してやったほうがいいタスク?順番とか予定立てるくらいの規模?」
Yesなら見積もりは5か8。
「ぶうって鳴いたら終わるタスク?」
いや、そこまで簡単ではないよね。ちょっとは考えないといけない。でも設計するってほどじゃないから、ストーリーポイントは3かなあ。
各人がこの思考を頭の中でやって、「せーの」でカードを出す。この辺からは、普通の見積もりポーカーのやり方だからわかるよね。
ストーリーポイントは数字じゃない
この考え方に、何日かかるという概念は存在しない。ただタスクがどれくらい難しいかを見積もっただけ。
何日かかるか知りたくなったら、その時初めて、過去のタスクとの比較が意味を持つ。うちのチームでストーリーポイント3のタスクはだいたい5日かかってるから、このタスクもそれくらいかなあ?
駆け出しひよっこくんだとストーリーポイント3は7日かかってたからそれくらいを想定しておくね、というふうに考えれば、「見積もりは誰の能力を基準にするのか問題」も理論だって説明することができる。
ストーリーポイントは数字じゃないから、二倍とか三倍という「算数」が入る余地はない。「簡単/むつかしい/すごくむつかしい」でもいいんだけど、3つでは単純すぎるから、「1/2/3/5/8/13」というフィボナッチ数を持ってきただけ。
だから、一回目の見積もりで基準がないからわかんないよ、みたいなことも起きない。見積もりはあくまで「分割が必要?」「設計が必要?」という基準で行えばいいのだ。
すごい。完璧に理解できた。完全に整合性が取れる。世界が見える!
まとめ
ということでこの見積もりポーカー、トランプで代用するのとはぜんぜん違うのでおすすめです。
(この記事は2019年に書いて crieit.net においていたのだけど、どこやったっけ、と検索しても全く引っかからないことに気づいたからコピーしてきました。悲しい😢)