■ 1. 概要と経緯
- スクラム開発のPBIにユーザーストーリー形式を使う煩雑さを問題視しAIとの対話を通じて「背景・目的・対応内容」という3点セットに辿り着いた備忘録
- ユーザーストーリーはケント・ベックが1990年代のクライスラーC3プロジェクトで導入した概念
- ユーザーストーリーの本来の目的は完璧な書類の作成ではなく「チームの認識を揃えること(対話への招待状)」であり形式へのこだわりは本末転倒
■ 2. 各要素の役割と不足点
- 背景・目的・ストーリーの位置づけ:
- 背景: なぜ今これが必要か(広域)
- 目的: これによって何を実現したいか(中域)
- ユーザーストーリー: 誰が何をすればその目的が叶うか(詳細)
- ストーリーだけでは不足する点:
- ストーリーのWhyにはミクロな目的が入るがマクロな背景は抜け落ちやすい
- 例: 「コストを削減したい」は書けるが「来月までに削減しないとプロジェクトが凍結される」という背景は伝わらない
- この背景を知っているかどうかでチームの動き方が変わる
- 背景・目的だけでは不足する点:
- 具体的な対応内容がないとチームが迷走し実装に入れない
- Howだけを書く場合に陥る3つの罠:
- 対応内容の目的化: 「チケットにこう書いてあるから」と非効率なやり方に固執する
- レビューの質低下: Whyがないとコードが動くかのスペルチェックしかできない
- 属人化: 後から「なぜこうしたのか」が分からなくなり先祖返りが起きる
■ 3. 「背景・目的・対応内容」の構造
- 各項目の定義:
- 背景(Context): 現状の課題・制約条件(今何が起きているか)
- 目的(Why + Goal): 理由と目指す状態(どうなれば成功か)
- 対応内容(How): 作業手順・チェックリスト(具体的に何をするか)
- 目的の書き方:
- WhyとGoalの両方を1文に含める
- 「[痛み]を解決するために[目指す状態・数値]を実現する」の型を使用
- Whyだけでは終了条件が不明 / Goalだけでは実施理由が伝わらない
- 日本語の「目的」には理由と目標の両方のニュアンスが含まれ英語のContext/Why/Howより直感的に書ける
■ 4. 階層ごとの使い分け
- エピック:
- 背景: 厚めに記述
- 目的: 最重要
- 対応内容: 記載しない(方針のみ)/ 役割: 北極星
- PBI:
- 背景: 補足程度
- 目的: あり
- 対応内容: あり / 役割: ロードマップ
- タスク:
- 背景: 不要
- 目的: 不要
- 対応内容: 詳細に記述 / 役割: 足元の作業
- エピックに対応内容を書かない理由:
- 最初にやり方を固定すると改善の余地が失われる
- 背景と目的があればエンジニアが自律的に考えられる
- 対応内容まで指示するとチームが作業者になる
- タスクに背景・目的を書かない理由:
- 親PBIで合意が取れていればタスクは実行レベルで書く方が親切
- 迷ったら親PBIに戻れれば十分
■ 5. テンプレート
- PBIテンプレート:
- 背景(Context): 現状の課題や依頼の経緯を1〜2行
- 目的(Why + Goal): 「[痛み]を解決するために[目指す状態・数値]を実現する」
- 対応内容(How): 具体的な実装・改修の方針 / 満たすべき受け入れ条件
- エピックテンプレート:
- 背景(Context): プロジェクト全体の背景や技術的負債の状況
- 目的(Why + Goal): 「[痛み]を解決するために[目指す状態・数値]を実現する」
- 対応内容はPBIに委ねる
- タスクテンプレート:
- 対応内容(How)のみ: 設定変更・動作確認・プルリク作成などを列挙
- 対応内容が10行を超えた場合はPBIが大きすぎるサインであり背景と目的を共通にしたままPBIを分割する
■ 6. dbt-coreのPRテンプレートとの比較
- dbt-coreのPRテンプレートはProblem(何が起きているか)とSolution(どう解決するか)の2項目で構成
- ProblemはContextとWhyに相当 / SolutionはHowに相当
- チケットもPRも「何が問題でどう対処するか」を伝えるという点で構造は同じ
- OSSメンテナが大量のPRを捌くために削ぎ落とした結果の形であり説得力がある
■ 7. 壁打ちで得た気づきと導入のポイント
- ユーザーストーリーの「〈価値〉のためだ」は部分最適になりやすくマクロな背景は別途必要
- 目的はWhyとGoalを1文で書く(「〇〇のために〇〇を実現する」の型)
- エピックの対応内容を書かないことでチームの自律性を維持する
- タスクは対応内容だけで十分であり親PBIへのリンクさえ切れなければよい
- 導入時は引き算が有効:
- 背景が自明なら1行でよい
- 目的が前と同じなら「〇〇と同じ」でよい
- 対応内容がその場で決まらないなら「調査する」から書き始める