第4章:ユーザーストーリー

更新日:2025年12月7日

本章では、アジャイル開発における要求記述手法であるユーザーストーリーを解説する。ユーザーストーリーは、ユーザー視点で機能を簡潔に記述する手法である。良いストーリーの条件(INVEST原則)、受け入れ基準の書き方、大きなストーリーの分割手法について学ぶ。

1. ユーザーストーリーの概要

1.1 定義と目的

ユーザーストーリーは、ソフトウェアの機能をユーザーの視点から簡潔に記述したものである。エクストリーム・プログラミング(XP)から生まれ、現在では多くのアジャイルフレームワークで採用されている[1]。

ユーザーストーリーの主な目的をTable 1に示す。

Table 1. ユーザーストーリーの目的

目的 説明
会話の促進詳細な仕様書ではなく、会話のきっかけとする
価値の明確化なぜその機能が必要かを明示する
優先順位付けビジネス価値に基づく判断を可能にする
見積もりの基礎作業量の見積もり単位として使用する

1.2 基本フォーマット

ユーザーストーリーの標準的なフォーマットを以下に示す。

ユーザーストーリーフォーマット
「〇〇として、△△したい。なぜなら□□だからだ。」
(As a [role], I want [feature], so that [benefit].)

このフォーマットには3つの要素が含まれる。

1.2.1 ロール(誰が):その機能を使用するユーザーの種類を明示する。

1.2.2 機能(何を):ユーザーが達成したい具体的な行動を記述する。

1.2.3 価値(なぜ):その機能がもたらすビジネス価値や利益を説明する。

2. INVEST原則

良いユーザーストーリーの条件としてINVEST原則が知られている[2]。Fig. 1にINVEST原則の概要を示す。

Table 2. INVEST原則の詳細

項目意味説明
IIndependent(独立)他のストーリーに依存せず、順序を入れ替え可能
NNegotiable(交渉可能)詳細は会話を通じて調整可能
VValuable(価値がある)ユーザーにとって明確な価値を提供する
EEstimable(見積もり可能)作業量を見積もれる程度に理解できる
SSmall(小さい)1スプリント内で完了できるサイズ
TTestable(テスト可能)完了を客観的に検証できる

3. 受け入れ基準

3.1 定義と重要性

受け入れ基準(Acceptance Criteria)は、ユーザーストーリーの完了条件を具体的に記述したものである。プロダクトオーナーがインクリメントを受け入れる際の判断基準となる。

Table 3. 受け入れ基準の役割

役割説明
共通理解の形成チーム全員が完了条件を同じ認識で共有する
スコープの明確化含まれる機能と含まれない機能を区別する
テスト設計の基礎テストケース作成の出発点となる
完了判定客観的に完了を判断できる

3.2 記述形式

受け入れ基準の記述形式として、Given-When-Then(GWT)形式が広く使用されている。

Given-When-Then形式
Given(前提条件):〇〇という状態のとき
When(操作):△△を行うと
Then(期待結果):□□となる

4. ストーリー分割

4.1 分割の必要性

大きすぎるストーリー(エピック)は、1スプリント内で完了できず、見積もりも困難になる。INVEST原則のSmall(小さい)を満たすため、適切なサイズに分割する必要がある。

4.2 分割パターン

ストーリー分割には複数のパターンが存在する。Fig. 2に主な分割パターンを示す。

Table 4. ストーリー分割パターン

パターン説明
ワークフロー分割処理の流れに沿って分割検索→表示→フィルタ→ソート
ビジネスルール分割ルールごとに分割通常購入→割引適用→クーポン適用
CRUD分割操作種別で分割作成→読取→更新→削除
バリエーション分割条件やパターンで分割クレジット→銀行振込→コンビニ
シンプル/複雑分割難易度で分割基本機能→エラー処理→エッジケース

5. 実践的なポイント

Table 5. ユーザーストーリー活用のポイント

ポイント説明
ユーザーの言葉を使う技術用語ではなく、ユーザーが理解できる言葉で記述する
解決策を記述しない「どうやって」ではなく「何を」「なぜ」を記述する
会話を重視するストーリーカードは詳細仕様書ではなく会話のきっかけ
受け入れ基準を明確に曖昧な完了条件は後からトラブルの原因となる
適切なサイズを維持大きすぎるストーリーは分割、小さすぎるものは統合

次章では、アジャイルにおける見積もりと計画立案の手法について解説する。

References

[1] M. Cohn, "User Stories Applied: For Agile Software Development," Addison-Wesley, 2004.

[2] B. Wake, "INVEST in Good Stories, and SMART Tasks," XP123, 2003.

免責事項
本コンテンツは2025年12月時点の情報に基づいて作成されている。ユーザーストーリーの記述方法や分割手法は、チームやプロジェクトの特性に応じて適切にカスタマイズされたい。

← 前章:カンバン基礎次章:見積もりと計画 →