Web、API、iOS、Androidでストーリーポイント基準って統一できる? → あ、まぁ揃えられそう
前提
Web、API、iOS、Android のそれぞれのエンジニアを含む 1 つのスクラムチームを組むことになりました。
この際にタスクの見積もり方式と基準をフィボナッチ数列を使ったストーリーポイントによる相対見積もりに統一しました。
その際に考えたことをメモしておきます。
そもそも Web、API、iOS、Android で揃えた方がいいのか?
理想的には、Web、API、iOS、Android の開発者同士で垣根なくチーム一丸となって開発を進めることが望ましいです。
例えば iOS の開発が遅れている場合、Android、Web、API の開発者がフォローに入ったりして、チーム全体でスプリントゴールを達成することが 1 つの理想です。
そうした各プラットフォームの開発者が垣根なく協力し合う状況においては、見積もり基準が完全に統一されていると、チーム全体のキャパシティや進捗を可視化しやすくなります。
このような理想状態を見据え、ストーリーポイントの基準を揃えることにしました。
時間見積もりではなく、相対見積もりがいいのか?
一説によると、熟練した開発者のパフォーマンスはそうでない開発者と比較して 10 倍違うと言われています。
そのため、同じタスクを実施しても開発者の熟練度によってかかる時間が異なります。
つまり、時間は人に依存した単位ということができます。
また、時間見積もりだとスプリント内で消化できる時間はスプリント期間が変わらない限り一定です。
一方で、相対見積もりだとチームのパフォーマンスが上がるにつれて数値も上がっていくことが期待できます。
そのため、相対見積もりは成長を可視化しやすいというメリットもあります。
これらの理由を踏まえ、相対見積もりを採用しました。
フィボナッチ数列を使うか?
タスクは大きくなるほど不確実性が大きくなり、見積もりの解像度は下がっていきます。
このことを数列の飛び具合で表現できているものがいいと考え、フィボナッチ数列を採用しました。
具体的に設定した基準
Web、API、iOS、Android の開発者が混在するスクラムチームなので、ポイントの基準は以下のような抽象的な言語化ですり合わせるようにしました。
先述したように時間は人に依存した単位と考えているので、半日とか 1 週間など、具体的な時間を指す言葉は敢えて避けています。
1
- 極度に少ない労力で完了できる
- コード修正時の懸念がない(ほぼ言い切れる)
- 具体的な実装内容の見通しが完全に立っている
2
- 少ない労力で完了できる
- コード修正時の懸念がほとんどない。
- 具体的な実装内容の見通しがほぼ立っている
3
- ある程度少ない労力で完了できる
- コード修正時の懸念はあるものの、大きく懸念は増えなさそう
- 具体的な実装内容の見通しは半分くらいは立っている。細かい部分はやりながら考える
5
- 普通に労力をかければ完了できる。ハードな部分もあるかも
- コード修正時の懸念はあるものの、大きく懸念は増えなさそう
- 具体的な実装内容の見通しは半分くらいは立っている。細かい部分はやりながら考える
8
- 多くの労力をかければ完了できる。ハード
- コード修正時の懸念がある。懸念の内容によってはもっと上ぶれる可能性もある
- 具体的な実装内容の見通しはあまり立っていない。大部分をやりながら考える
参考
Discussion