はじめに
アプリ制作の課題に入り、issueにたいしてストーリーポイントを設定しているところです。早速ですがストーリーポイントの数字についてなぜ1・2・3からの5になるのかが理解できなかったので調べたことをアウトプットしようと思います。
そもそもストーリーポイントとは何か?
ストーリーポイントは主にアジャイル開発の一環として広まったもので、特定の誰かが決めたわけではなく、チームやコミュニティの間で自然に形成された考え方で、スクラムやXP(エクストリームプログラミング)などの手法で使われることが多い
ストーリーポイントという言葉自体は、アジャイル開発1のストーリー(ユーザーや機能の要求)を評価するためのポイントという意味で、タスクの大きさや複雑さを相対的に評価するための指標として使われている
ストーリーポイントの各数値について
ストーリーポイント | 意味 | 具体例 |
---|---|---|
1 | 非常に簡単なタスク。作業時間がほとんどかからない。 | 文法チェック、軽微なバグ修正、テキストの変更 |
2 | 簡単なタスク。少し時間がかかるが、問題なく終わる。 | フォームの入力フィールド追加、CSSの微調整 |
3 | 標準的なタスク。ある程度の労力と時間がかかるが、通常の範囲内 | 新しいページの作成、簡単なAPIコールの実装 |
5 | やや複雑なタスク。複数の要素が絡み合い、多少の調査や試行錯誤が必要。 | ユーザー認証機能の追加、複数ページに渡るナビゲーションの改良 |
8 | 複雑なタスク。チーム内での協力や深い理解が必要。時間も多くかかる。 | 新しいデータベースの設計と実装、複雑なビジネスロジックの実装 |
13 | 非常に複雑なタスク。高い技術力と多くの時間が求められる。 | マイクロサービスの統合、大規模なシステムリファクタリング |
21 | 大規模なタスク。全体のプロジェクトの進行に大きな影響を与える。 | プロジェクトの全面的な再設計、基幹システムの移行 |
34 | 極めて大規模で複雑なタスク。複数のスプリントを跨ぐ可能性が高い。 | 企業全体のシステム統合、大規模なデータ移行プロジェクト |
55 | 非現実的なタスク。非常に大規模かつ複雑であり、さらに分割して扱うべき。 | 技術的負債の大規模清算、全社的なITインフラの再構築 |
これら数値は何に基づいているのか?
前置きが長くなりましたが、ストーリーポイントの数値が1・2・3・5・8・13になっている理由について。
フィボナッチ数列に基づいているから
フィボナッチ数列は、前の2つの数を足したものが次の数になる特性があり、これがタスクの不確実性を表現するのに適しているとされています。
評価の際に曖昧さを減らすため、ストーリーポイントを評価する時、具体的な数値よりも相対的な比較が重要だから、フィボナッチ数列のように数を飛ばすことで、より明確な判断ができるようになる
もう少しかみ砕いて説明すると、タスクの不確実性や複雑さをより明確に表現できるから
具体的には、タスクが大きくなるほど見積もりの精度が下がるため、数値が飛ぶことでその不確実性を反映できることとなる
実際にはどの数字まで使用するのか?
13または21までのストーリーポイントを使用することが一般的なようです。21を超える場合は、タスクが大きすぎるため、細かく分割して扱うことが推奨されています。
参考
-
システムやソフトウェア開発におけるプロジェクト開発手法の1つで、大きな単位でシステムを区切ることなく、小単位で実装とテストを行う。「アジャイル」には“素早い”という意味がある ↩