機能仕様書: [機能名]
フィーチャーブランチ: [###-feature-name]
作成日: [日付]
ステータス: ドラフト
入力: ユーザー説明: "$ARGUMENTS"
ユーザーシナリオとテスト (必須)
ユーザーストーリー 1 - [簡潔なタイトル] (優先度: P1)
[このユーザージャーニーを平易な言葉で説明]
なぜこの優先度か: [価値とこの優先度レベルの理由を説明]
独立したテスト: [これを独立してテストする方法を説明 - 例: 「[特定のアクション]によって完全にテストでき、[特定の価値]を提供します」]
受け入れシナリオ:
- 前提条件 [初期状態]、操作 [アクション]、期待結果 [期待される結果]
- 前提条件 [初期状態]、操作 [アクション]、期待結果 [期待される結果]
ユーザーストーリー 2 - [簡潔なタイトル] (優先度: P2)
[このユーザージャーニーを平易な言葉で説明]
なぜこの優先度か: [価値とこの優先度レベルの理由を説明]
独立したテスト: [これを独立してテストする方法を説明]
受け入れシナリオ:
- 前提条件 [初期状態]、操作 [アクション]、期待結果 [期待される結果]
ユーザーストーリー 3 - [簡潔なタイトル] (優先度: P3)
[このユーザージャーニーを平易な言葉で説明]
なぜこの優先度か: [価値とこの優先度レベルの理由を説明]
独立したテスト: [これを独立してテストする方法を説明]
受け入れシナリオ:
- 前提条件 [初期状態]、操作 [アクション]、期待結果 [期待される結果]
[必要に応じて、優先度を割り当てた追加のユーザーストーリーを追加]
エッジケース
- [境界条件]のときに何が起こるか?
- システムは[エラーシナリオ]をどう処理するか?
要件 (必須)
機能要件
- FR-001: システムは [特定の機能、例: 「ユーザーがアカウントを作成できるようにする」] を提供しなければならない
- FR-002: システムは [特定の機能、例: 「メールアドレスを検証する」] を提供しなければならない
- FR-003: ユーザーは [主要な操作、例: 「パスワードをリセットできる」] ができなければならない
- FR-004: システムは [データ要件、例: 「ユーザー設定を永続化する」] しなければならない
- FR-005: システムは [動作、例: 「すべてのセキュリティイベントをログに記録する」] しなければならない
不明確な要件をマークする例:
- FR-006: システムは [明確化が必要: 認証方法が指定されていない - メール/パスワード、SSO、OAuth?] でユーザーを認証しなければならない
- FR-007: システムは [明確化が必要: 保持期間が指定されていない] の間、ユーザーデータを保持しなければならない
主要エンティティ (機能がデータを含む場合に含める)
- [エンティティ1]: [それが表すもの、実装を含まない主要な属性]
- [エンティティ2]: [それが表すもの、他のエンティティとの関係]
成功基準 (必須)
測定可能な成果
- SC-001: [測定可能な指標、例: 「ユーザーは2分以内にアカウント作成を完了できる」]
- SC-002: [測定可能な指標、例: 「システムは品質低下なく1000人の同時ユーザーを処理できる」]
- SC-003: [ユーザー満足度指標、例: 「ユーザーの90%が最初の試行で主要タスクを成功裏に完了できる」]
- SC-004: [ビジネス指標、例: 「[X]に関連するサポートチケットを50%削減する」]