# ユーザーストーリー・シナリオ

確定した要求を、開発チームがそのまま着手できる形へ展開します。

![PM on Railsのユーザーストーリー。開発単位、概要、受入シナリオへのリンクが並ぶ。導入前は完成の判断がリリース直前だった。導入後はどうなれば完成かを先に合意できる。](https://pmonrails.com/docs-img/stories.png)

![ユーザーストーリーの操作動画。ストーリーを開き、受入シナリオの前提・もし・ならばを読む。タスク名だけでなく完成条件まで渡す流れが見える。](https://pmonrails.com/docs-video/stories.webm)

## ストーリーをつくる

- **要求カードから自動生成** — 1つの要求から1〜5個のユーザーストーリーと受入シナリオを一括生成。大きい要求を、実装しやすいサイズに分割します。
- **文章から生成** — 議事録・設計メモ・他ツールからの貼り付けなど、自由な文章からも複数のストーリーを起こせます（要求カードがなくてもかまいません）。
- **シナリオの下書き提案** — タイトルや概要だけ決まっていれば、受入シナリオの叩き台をAIが提案します。
- **全件再生成** — 生成結果が方向性と違うときは、その要求のストーリーを一度すべて消して作り直せます（取り消せないため確認が出ます）。

## 受入シナリオ（「できたらOK」の基準）

ストーリーを開くと、概要・ビジネス価値・前提条件と、Given / When / Thenで書かれた受入シナリオが、**見出しの階層で読める形**で並びます。一覧ではシナリオを深く展開せず、詳細画面で読み進めます。シナリオごとの操作は文字リンクから行います。

![PM on Railsの受入シナリオ。Given / When / Thenで完成の確認手順が書かれる。導入前は『できた／違う』がリリース直前だった。導入後はテストの根拠が先に残る。](https://pmonrails.com/docs-img/scenario.png)

- **受入シナリオ** — 「こういう状況で・こう操作すると・こうなる」（Given / When / Then）の形で、完成の基準を書きます。正常時・エラー時・境界値・画面系の種類を選べます。業務の完成基準は正常時・エラー時・境界値に書き、画面名・ボタン名は画面系に分けます。
- **状態の流れ** — 登録した時点で**有効**になります。内容を検討中のものは下書き・レビュー中・承認に下げて段階的に進めることもできます（レビューで差し戻されることや、新しい版に置き換える・古くなったものを非推奨にすることもあります）。
- **合意済みシナリオの編集** — すでに**有効（合意済み）** のシナリオを直すと、新版は**有効のまま**切り替わります（CIのScenario IDとテストの正本が途切れにくくするため）。下書きへ戻すのは状態を明示的に変えたときだけです。編集時に任意の**変更理由**を残せます（保存後の版のメモとして残り、あとから追えます）。タスクの更新でも同様に理由を残せます。
- **コメント** — ストーリー・シナリオごとに、投稿者名・日時・種別・本文が縦に並ぶ**会話形式**で残します。一覧の展開行にコメント欄は置かず、詳細で開きます。

## AIレビュー（正常系・異常系・境界値の見落とし）

着手前に、ストーリーと受入シナリオの**抜け漏れ**をAIが洗い出します。1件ずつ見る方法と、一覧に出ているストーリーをまとめて見る方法があります。

![PM on RailsのAIレビュー。不足・曖昧さ・矛盾の指摘が並ぶ。導入前はレビュー観点が人の経験だった。導入後は確認すべきことが質問の材料になる。](https://pmonrails.com/docs-img/ai-review.png)

- **1件レビュー** — ストーリー行の「AIレビュー（正常系・異常系の見落とし）」から、そのストーリーだけを確認します。
- **一括レビュー** — 「その他の操作 → AIで一括レビュー」から、今の絞り込み結果に出ているストーリーをまとめて確認します。件数が多い場合はバックグラウンドジョブで進み、閉じても処理は続きます。
- **過去レビューを再閲覧** — 「その他の操作 → 過去のAIレビュー」から、保存済みの一括レビュー結果を開けます。LLMを再実行せず、当時の指摘を確認できます。
- **質問を確認事項へ残す** — AIが出した「ステークホルダーへの質問」は、コピーするだけでなく「確認事項として残す」ことで [確認事項](https://pmonrails.com/docs/clarifications.md) に集約できます。
- **修正の叩き台を作る** — 一括レビューの指摘から、反映する指摘と反映先（新しいシナリオ / 既存シナリオ / ストーリー本体の前提条件）を選び、AIに叩き台を作らせます。生成しただけでは保存されず、行ごとに確認して保存します。

## 上流変更と更新案

要求や要件が変わると、ストーリー画面に「未確認の上流変更」としてまとまって表示されます。

- **未確認の上流変更** — 自分がまだ見ていない要求・要件の変更を一覧で確認できます。確認済みにしても消えるのは自分の表示だけで、他の人の未確認状態は残ります。
- **変更ありだけを見る** — 上流変更があるストーリーだけに絞り込めます。
- **更新案の一括適用** — 上流変更からAIが作った下流の更新案は、人が承認してから適用します。複数の更新案をまとめて適用することもできます。

## 一覧の絞り込みと共有リンク

- **詳細な絞り込み** — 一覧上部の「絞り込み」から、状態・開発サイクル・優先度（MoSCoW）・要求カード／要件の紐付け・GitHub Issueの公開有無・配下タスクの完了状況などを**AND条件**で組み合わせられます。条件が付いているときはボタンに件数が出ます。
- **リンクをコピー** — ストーリー行と各シナリオに「リンク」があり、同じ画面を開くURLをコピーできます（コメント単位のリンクも詳細から取れます）。Slackやメールで「このストーリーを見て」と渡すときに使います。

## GitHubとMarkdownへ出す

ストーリーは、PM on Railsの外へも書き出せます。

- **Markdownエクスポート** — 「その他の操作 → MDエクスポート」で、ストーリー概要・受入シナリオをMarkdownとして持ち出せます。
- **GitHub一括エクスポート** — GitHub未連携のストーリーがある場合、「その他の操作 → 全件GitHub」からまとめてIssue化できます。
- **GitHub一括Push** — 連携済みのストーリーは「その他の操作 → 全件Push」から、PM on Rails側の最新内容をIssueへまとめて反映できます。
- **Issueから取り込み** — Issue側で編集したGherkinは、個別ストーリーの操作からpullしてPM on Rails側へ戻せます。

## 開発単位への展開

ストーリーが決まったら、配下に**タスク**を作って開発を進めます。タスクの担当・優先度・見積もり・カンバン運用は [タスク管理](https://pmonrails.com/docs/tasks.md) を、バグや仕様変更の扱いは [バグと変更管理](https://pmonrails.com/docs/bugs-changes.md) を参照してください。

## 次のステップ

- [タスク管理](https://pmonrails.com/docs/tasks.md) / [テスト](https://pmonrails.com/docs/test-results.md) / [Claude Web・Claude Code・MCP連携](https://pmonrails.com/docs/mcp.md)

---

https://pmonrails.com/docs/stories
