開発手法

ユーザーストーリー ゆーざーすとーりー

ユーザーストーリー要件定義アジャイルバックログ受入基準INVEST
ユーザーストーリーについて教えて

簡単に言うとこんな感じ!

アジャイル開発での要件の書き方で「○○として(誰が)、△△したい(何を)、なぜなら□□だから(理由)」というシンプルなフォーマットだよ。仕様書みたいに詳細に書くんじゃなく、「ユーザーが何を達成したいか」を中心に書くのがポイントなんだ。開発者が「なぜ作るのか」を理解しながら作れるから、よりよいものができるんだよ!


ユーザーストーリーとは

ユーザーストーリー(User Story) とは、アジャイル開発(特にスクラム・XP)において、システムの機能を ユーザーの視点から簡潔に記述する要件の書き方 です。標準的なフォーマットは次のとおりです。

「〔ユーザーの種類〕として、〔目的・機能〕をしたい。なぜなら〔理由・価値〕だから。」 “As a [type of user], I want [goal] so that [benefit].”

例:「営業担当として、顧客情報をCSVでエクスポートしたい。なぜなら、週次報告書に貼り付けて使いたいから。」

ユーザーストーリーは詳細な仕様書ではなく「会話のきっかけ」です。「詳細はどうするの?」という会話を開発者・PO・ユーザーの間で行い、その合意内容を 受入基準(Acceptance Criteria) として別途追記します。

発注者にとってユーザーストーリーは、「ビジネス価値を明確にしながら要件を伝える」非常に有効なツールです。「画面にボタンを追加してほしい」ではなく「〇〇として△△したい」と書くことで、開発チームが「なぜ必要か」を理解した上で最適な実装方法を選べます。


ユーザーストーリーの品質基準:INVEST

文字意味内容
IIndependent(独立)他のストーリーに依存しない。単独で開発・テストできる
NNegotiable(交渉可能)詳細は固定ではなく、会話で詰めることができる
VValuable(価値がある)ユーザーやビジネスに対して価値をもたらす
EEstimable(見積もり可能)開発チームが工数を見積もれる粒度で書かれている
SSmall(小さい)1スプリント内で完成できる適切な大きさ
TTestable(テスト可能)受入基準を書けば合否判定できる

歴史と背景

  • 1998年: ケント・ベックがXP(エクストリームプログラミング)で「ストーリーカード」の概念を提唱
  • 2001年: アジャイルマニフェスト発表で「顧客との協調」「動くソフトウェア」を重視する考え方が広まり、ユーザーストーリーが普及
  • 2001年: ロン・ジェフリーズが「3C(Card・Conversation・Confirmation)」というユーザーストーリーの本質を定義
  • 2004年: マイク・コーンが著書「User Stories Applied」を発表。INVESTの基準を体系化
  • 2010年代: ジェフ・パットンが「ストーリーマッピング」という手法を提唱。ユーザーストーリーを2次元で整理する方法が広まる
  • 現在: Jira・Linear・Azure DevOpsなど主要ツールがユーザーストーリー形式を標準フォーマットとしてサポート

ユーザーストーリーの書き方例

ユーザーストーリーの構造と例 フォーマット 「[ユーザーの種類] として、[目的・機能] したい。なぜなら [理由・得られる価値] だから。」 ストーリー例1 「営業担当として、顧客リストをCSV出力したい。 なぜなら、週次報告書に活用したいから。」 受入基準:日付・金額範囲で絞り込めること ストーリー例2 「管理者として、ユーザーアカウントを無効化したい。 なぜなら、退職者のアクセスを即時停止したいから。」 受入基準:無効化後、ログインが失敗すること ユーザーストーリーの3C(ロン・ジェフリーズ) 📋 Card(カード) 付箋や小さいカードに書く。詳細を詰め込まない 💬 Conversation(会話) カードをきっかけにPO・開発者・ユーザーが対話する ✅ Confirmation(確認) 会話の合意を受入基準として文書化する

関連する規格・RFC

規格・番号内容
Agile Manifesto(2001)ユーザーストーリーが重視する「顧客との協調」「動くソフトウェア」の価値を定義

関連用語

  • バックログ — ユーザーストーリーをバックログアイテムとして管理する
  • 受入基準 — ユーザーストーリーの完成判定基準として記述する
  • プロダクトオーナー — ユーザーストーリーを作成・優先順位付けする役割
  • スプリント — 1スプリントで完了できるよう分割されたユーザーストーリーを実装する
  • スクラム — ユーザーストーリー形式でバックログを管理するフレームワーク
  • 要件定義 — ウォーターフォールでの要件定義に相当する。ユーザーストーリーはアジャイル版の要件記述