ユーザーストーリー
ユーザーの視点で機能要件を記述するアジャイルの手法
アジャイル
ユーザーストーリーとは
ユーザーストーリーは、「誰が」「何をしたいか」「なぜか」をユーザーの視点で記述する要件定義の手法である。技術的な仕様ではなく、ビジネス価値に焦点を当てる。
フォーマット
As a [ユーザーの種類],
I want [実現したいこと],
so that [得られる価値].
例:
As a 購入者,
I want カートに商品を追加したい,
so that まとめて購入できる.
良いストーリーの条件 (INVEST)
| 条件 | 説明 |
|---|---|
| Independent | 他のストーリーに依存しない |
| Negotiable | 詳細は交渉可能 |
| Valuable | ユーザーに価値を提供 |
| Estimable | 見積もり可能なサイズ |
| Small | 1 スプリントで完了 |
| Testable | テスト可能 |
Acceptance Criteria
## ストーリー
購入者として、カートに商品を追加したい
## Acceptance Criteria
- [ ] 商品ページに「カートに追加」ボタンがある
- [ ] ボタンをクリックすると商品がカートに追加される
- [ ] カートのアイコンに商品数が表示される
- [ ] 同じ商品を追加すると数量が増える
- [ ] 在庫がない商品はボタンが無効化される
ストーリーの分割
大きなストーリー (エピック) は小さなストーリーに分割する。
エピック: ユーザー認証
├── ストーリー: メールアドレスでサインアップ
├── ストーリー: メールアドレスでログイン
├── ストーリー: パスワードリセット
└── ストーリー: Google OAuth ログイン
技術タスクとの違い
| 観点 | ユーザーストーリー | 技術タスク |
|---|---|---|
| 視点 | ユーザー | 開発者 |
| 記述 | ビジネス価値 | 技術的な作業 |
| 例 | 「商品を検索したい」 | 「OpenSearch のインデックスを作成」 |
ストーリーマッピング
ユーザーの行動フロー (横軸):
商品を探す → カートに追加 → 購入手続き → 支払い → 注文確認
各行動の詳細ストーリー (縦軸):
商品を探す:
- キーワード検索
- カテゴリ絞り込み
- 価格フィルター
横軸がユーザーの行動フロー、縦軸が各行動の詳細ストーリー。上にあるほど優先度が高い。
実務での活用方法は関連書籍にも詳しい。