- マネジメント
プロダクトバックログの書き方と例|優先順位の付け方とテンプレート
プロダクトバックログとは、プロダクトを良くするために必要なものを、取り組む順に上から並べた1本の一覧です。 スクラムガイド2020は「創発的で、順序付けされた一覧」と定義し、スクラムチームが行う作業の唯一の情報源としています。
この記事は、項目を書いたあとの「並べる」「育てる」に絞ります。貼って使える表、架空の会議室予約アプリの記入例20件、優先順位の手法4つの比較、WSJFとRICEを同じ20件で計算したPythonの出力、リファインメントの進め方を順に示します。
確認環境:Ubuntu 24.04、Python 3.11(点数計算と並べ替えを実行)。スクラムの定義はスクラムガイド2020(scrumguides.org)を今回開いて確認しました。
プロダクトバックログの早見表
| 知りたいこと | 答え |
|---|---|
| 何を書くか | 機能、改善、不具合の修正、調査など、プロダクトに必要なものすべて |
| 列は何を持つか | ID・項目・価値・見積もり・優先順位・受け入れ基準・状態の7つが基本 |
| 並び順のルール | 上ほど先に着手する。同じ順位は作らず、1本の列にする |
| 細かさ | 上位は1スプリントで完成できる大きさ、下位は粗いままでよい |
| だれが並べるか | プロダクトオーナーが順序に責任を持つ(作業を任せることはできる) |
| だれが見積もるか | 作業をする開発者が大きさを決める |
| 目指す先 | プロダクトゴール(プロダクトの将来の状態)。バックログの確約にあたる |
| 手入れ | リファインメントで分割・詳細化・見積もり・並べ替えを続ける |
| 優先順位の手法 | 範囲を決めるならMoSCoW、点数で並べるならWSJFかRICE、満足度の種類を見るなら狩野モデル |
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「プロダクトバックログの書き方と例|優先順位の付け方とテンプレート」
バックログ表のテンプレート(7列)
列は増やしすぎないほうが続きます。まず次の7列で始めて、足りなくなったら列を足します。
| 列 | 書くこと | 書き方の目安 |
|---|---|---|
| ID | 変わらない識別子 | PB-01 のような連番。並べ替えても振り直さない |
| 項目 | 何を実現するか | 利用者の動作で1行。「〜を〜する」 |
| 価値 | だれに何がうれしいか | 1行。書けない項目は順位を決める材料が足りていない合図 |
| 見積もり | 相対的な大きさ | ストーリーポイント(1・2・3・5・8・13)など。開発者が付ける |
| 優先順位 | 着手する順 | 1からの連番。重複なし |
| 受け入れ基準 | 完成と言える条件 | 上位の項目ほど具体的に。下位は空欄でもよい |
| 状態 | いまの段階 | 新規/詳細化中/Ready/スプリント中/完成 |
空のテンプレートです。表計算ソフトのA1セルに貼ると列に分かれます。
順位 ID 項目 価値 見積もり MoSCoW 受け入れ基準 状態
1
2
3
Markdownで管理する場合はこちらを使います。
| 順位 | ID | 項目 | 価値 | 見積もり | MoSCoW | 受け入れ基準 | 状態 |
|---|---|---|---|---|---|---|---|
| 1 | | | | | | | |
「状態」のReadyは、スクラムガイド2020の「1スプリント内で完成できる項目は、スプリントプランニングで選択可能な準備完了の状態とみなす」という記述に対応させています。新規・詳細化中といった段階の名前はガイドにはなく、よく使われる分け方です。
記入例:会議室予約アプリのバックログ20件
題材は、社員約300人の会社で使う架空の会議室予約アプリです。プロダクトゴールは「社員が30秒以内に空いている会議室を見つけて予約できる」としました。
| 順位 | ID | 項目 | 価値 | 見積もり | MoSCoW | 受け入れ基準(要約) | 状態 |
|---|---|---|---|---|---|---|---|
| 1 | PB-04 | 社員アカウントでログインする | だれの予約かを特定できる | 5 | Must | 社員番号とパスワードで入れる。5回続けて誤ると10分間入れない | Ready |
| 2 | PB-01 | 空き状況を日付で検索する | 予約の出発点になる | 5 | Must | 日付を選ぶと全会議室の空き枠が30分単位で出る | Ready |
| 3 | PB-02 | 会議室を予約する | アプリの中心となる機能 | 8 | Must | 空き枠を選び件名を入れて確定すると予約一覧に出る | Ready |
| 4 | PB-06 | 同じ時間帯の重複予約を防ぐ | 二重予約のやり直しをなくす | 5 | Must | 同じ枠に2人が同時に確定しても1件だけ成立する | Ready |
| 5 | PB-03 | 予約を取り消す | 使わない枠をほかの人に回せる | 3 | Must | 開始前の予約を取り消すと、その枠が空きに戻る | Ready |
| 6 | PB-05 | 自分の予約一覧を見る | 予定の確認が1画面で済む | 3 | Must | 今日以降の自分の予約が開始時刻の順に並ぶ | Ready |
| 7 | PB-12 | 管理者が会議室を登録・変更する | 部屋の増減に運用で対応できる | 5 | Must | 名前・定員・設備を登録すると検索結果に出る | 詳細化中 |
| 8 | PB-08 | 開始10分前に通知を受け取る | 予約したまま使わない枠を減らす | 3 | Should | 開始10分前にメールが1通届く。取り消し済みには届かない | 詳細化中 |
| 9 | PB-16 | 定員と設備で絞り込む | 条件に合う部屋をすぐ選べる | 3 | Could | 定員6人以上・モニターありで絞ると該当だけ残る | 詳細化中 |
| 10 | PB-07 | 予約の時刻を変更する | 取り消しと再予約の二度手間を省く | 5 | Should | 空いている枠へ変更でき、埋まっている枠は選べない | 詳細化中 |
| 11 | PB-11 | カレンダー表示で空きを見る | 1週間の空きをひと目で見られる | 8 | Should | 週表示で部屋×時間のマスが色分けされる | 詳細化中 |
| 12 | PB-09 | 備品を会議室と一緒に予約する | 備品の確保を別の手続きにしない | 8 | Should | プロジェクターを同じ時間帯で同時に確保できる | 新規 |
| 13 | PB-15 | スマートフォンの画面幅に対応する | 席を離れていても予約できる | 8 | Should | 幅375pxで横スクロールなしに予約を完了できる | 新規 |
| 14 | PB-13 | 利用開始時にチェックインする | 使われていない枠を自動で空ける | 5 | Could | 開始15分後までに操作がなければ枠が空きに戻る | 新規 |
| 15 | PB-10 | 毎週の定例を繰り返し予約する | 定例の予約を1回で済ませる | 13 | Should | 毎週同じ曜日・時刻で12回分をまとめて予約できる | 新規 |
| 16 | PB-17 | よく使う部屋をお気に入りにする | いつもの部屋を選ぶ手間を減らす | 2 | Could | お気に入りの部屋が検索結果の先頭に並ぶ | 新規 |
| 17 | PB-18 | ほかの人の分を代理で予約する | 来客対応などを担当者に任せられる | 5 | Could | 予約者と利用者を別々に指定して登録できる | 新規 |
| 18 | PB-14 | 利用状況を月ごとに集計する | 部屋数を見直す材料になる | 5 | Could | 部屋ごとの月間の利用時間をCSVで出せる | 新規 |
| 19 | PB-19 | 外部カレンダーと連携する | 予定表と二重に入力しなくて済む | 13 | Won't | 今回は対象外。連携方式の調査だけを別項目で行う | 新規 |
| 20 | PB-20 | 表示を英語に切り替える | 英語で使いたい利用者に対応する | 8 | Won't | 今回は対象外。文言を1か所に集める設計だけ守る | 新規 |
同じ内容のタブ区切りです。
順位 ID 項目 価値 見積もり MoSCoW 受け入れ基準 状態
1 PB-04 社員アカウントでログインする だれの予約かを特定できる 5 Must 社員番号とパスワードで入れる。5回続けて誤ると10分間入れない Ready
2 PB-01 空き状況を日付で検索する 予約の出発点になる 5 Must 日付を選ぶと全会議室の空き枠が30分単位で出る Ready
3 PB-02 会議室を予約する アプリの中心となる機能 8 Must 空き枠を選び件名を入れて確定すると予約一覧に出る Ready
4 PB-06 同じ時間帯の重複予約を防ぐ 二重予約のやり直しをなくす 5 Must 同じ枠に2人が同時に確定しても1件だけ成立する Ready
5 PB-03 予約を取り消す 使わない枠をほかの人に回せる 3 Must 開始前の予約を取り消すと、その枠が空きに戻る Ready
6 PB-05 自分の予約一覧を見る 予定の確認が1画面で済む 3 Must 今日以降の自分の予約が開始時刻の順に並ぶ Ready
7 PB-12 管理者が会議室を登録・変更する 部屋の増減に運用で対応できる 5 Must 名前・定員・設備を登録すると検索結果に出る 詳細化中
8 PB-08 開始10分前に通知を受け取る 予約したまま使わない枠を減らす 3 Should 開始10分前にメールが1通届く。取り消し済みには届かない 詳細化中
9 PB-16 定員と設備で絞り込む 条件に合う部屋をすぐ選べる 3 Could 定員6人以上・モニターありで絞ると該当だけ残る 詳細化中
10 PB-07 予約の時刻を変更する 取り消しと再予約の二度手間を省く 5 Should 空いている枠へ変更でき、埋まっている枠は選べない 詳細化中
11 PB-11 カレンダー表示で空きを見る 1週間の空きをひと目で見られる 8 Should 週表示で部屋×時間のマスが色分けされる 詳細化中
12 PB-09 備品を会議室と一緒に予約する 備品の確保を別の手続きにしない 8 Should プロジェクターを同じ時間帯で同時に確保できる 新規
13 PB-15 スマートフォンの画面幅に対応する 席を離れていても予約できる 8 Should 幅375pxで横スクロールなしに予約を完了できる 新規
14 PB-13 利用開始時にチェックインする 使われていない枠を自動で空ける 5 Could 開始15分後までに操作がなければ枠が空きに戻る 新規
15 PB-10 毎週の定例を繰り返し予約する 定例の予約を1回で済ませる 13 Should 毎週同じ曜日・時刻で12回分をまとめて予約できる 新規
16 PB-17 よく使う部屋をお気に入りにする いつもの部屋を選ぶ手間を減らす 2 Could お気に入りの部屋が検索結果の先頭に並ぶ 新規
17 PB-18 ほかの人の分を代理で予約する 来客対応などを担当者に任せられる 5 Could 予約者と利用者を別々に指定して登録できる 新規
18 PB-14 利用状況を月ごとに集計する 部屋数を見直す材料になる 5 Could 部屋ごとの月間の利用時間をCSVで出せる 新規
19 PB-19 外部カレンダーと連携する 予定表と二重に入力しなくて済む 13 Won't 今回は対象外。連携方式の調査だけを別項目で行う 新規
20 PB-20 表示を英語に切り替える 英語で使いたい利用者に対応する 8 Won't 今回は対象外。文言を1か所に集める設計だけ守る 新規
読み取ってほしい点は3つです。
- 上位6件はReadyで、受け入れ基準が具体的です。7〜11位は詳細化の途中、12位以下は1行の要約にとどめています。
- 13ポイントの項目(PB-10、PB-19)は下位にあります。順位が上がってきたら、着手の前に分割します。
- Won'tの2件も消さずに残しています。「今回は扱わない」と合意した記録になり、同じ議論の繰り返しを防げます。
優先順位の付け方:4つの手法の比較早見表
| 手法 | 出てくる結果 | 入力するもの | 向いている場面 | 気をつける点 |
|---|---|---|---|---|
| MoSCoW | Must/Should/Could/Won'tの4分類 | 項目ごとの分類 | リリースの範囲を関係者と合意する | 同じ分類の中の順番は決まらない |
| WSJF | 点数(大きいほど先) | 事業価値・切迫度・リスク低減・大きさ | 遅れると損が大きいものを先に出す | 相対値なので、チームをまたいだ比較には向かない |
| RICE | 点数(大きいほど先) | Reach・Impact・Confidence・Effort | 利用者数のデータがある機能改善を比べる | 利用者が少ない土台の機能は低く出る |
| 狩野モデル | 当たり前・一元的・魅力的などの分類 | 利用者への2問1組のアンケート | 満足度への効き方を見極める | 調査の手間がかかり、順番そのものは出ない |
MoSCoW は、提唱元のDSDM(Agile Business Consortium)の手引きで、Mustを「これが欠けると成立しない最小限の集合」、Shouldを「重要だが不可欠ではない」、Couldを「あれば望ましい」、Won'tを「今回の期間では提供しないと合意したもの」としています。同じ手引きは、Mustを全体の工数の60%以内に抑え、Couldを20%ほど持つことを勧めています。Couldが調整しろになるためです。
WSJF(Weighted Shortest Job First)は、SAFeで使われる考え方で、式は次のとおりです。
WSJF = 遅延コスト ÷ ジョブの大きさ
遅延コスト = 利用者・事業にとっての価値 + 時間的な切迫度 + リスク低減・機会創出
RICE は、Intercomが公開している採点方法です。
RICE = Reach × Impact × Confidence ÷ Effort
Reach : 一定期間に影響を受ける人数
Impact : 3(非常に大きい)/ 2(大きい)/ 1(中)/ 0.5(小)/ 0.25(ごく小)
Confidence : 100%(高)/ 80%(中)/ 50%(低)
Effort : 人月
狩野モデル は、機能が「ある場合」と「ない場合」の感じ方を利用者にたずね、当たり前品質(ないと不満)・一元的品質(あるほど満足)・魅力的品質(なくても不満はないが、あるとうれしい)などに分ける方法です。この例では、重複予約の防止が当たり前品質、カレンダー表示が一元的品質、お気に入りが魅力的品質の候補になります。分類は調査で確かめるもので、点数計算はしません。
WSJFとRICEを同じ20件で計算する(Python)
WSJFの3要素は1・2・3・5・8・13の相対値で付け、ジョブの大きさには見積もりのポイントをそのまま使いました。RICEのReachは月あたりの利用者数です。数値はすべてこの例のための仮の値です。
# backlog_score.py プロダクトバックログ20件を WSJF と RICE で採点して並べ替える
# 列: ID, 項目, 見積もり(ポイント), MoSCoW,
# 事業価値, 時間的な切迫度, リスク低減・機会創出 (WSJF 用。1,2,3,5,8,13 の相対値)
# Reach(月あたり利用者数), Impact, Confidence, Effort(人月) (RICE 用)
ITEMS = [
("PB-01", "空き状況を日付で検索する", 5, "M", 13, 8, 5, 300, 3, 1.0, 1.5),
("PB-02", "会議室を予約する", 8, "M", 13, 8, 8, 300, 3, 1.0, 2.0),
("PB-03", "予約を取り消す", 3, "M", 8, 5, 3, 200, 2, 1.0, 0.5),
("PB-04", "社員アカウントでログインする", 5, "M", 8, 8, 13, 300, 2, 1.0, 1.0),
("PB-05", "自分の予約一覧を見る", 3, "M", 8, 5, 2, 250, 2, 1.0, 0.5),
("PB-06", "同じ時間帯の重複予約を防ぐ", 5, "M", 13, 8, 13, 300, 3, 0.8, 1.0),
("PB-07", "予約の時刻を変更する", 5, "S", 5, 3, 2, 150, 1, 0.8, 1.0),
("PB-08", "開始10分前に通知を受け取る", 3, "S", 5, 3, 1, 250, 1, 0.8, 0.5),
("PB-09", "備品を会議室と一緒に予約する", 8, "S", 8, 3, 3, 120, 2, 0.8, 2.0),
("PB-10", "毎週の定例を繰り返し予約する", 13, "S", 8, 5, 3, 100, 2, 0.5, 3.0),
("PB-11", "カレンダー表示で空きを見る", 8, "S", 8, 3, 2, 280, 2, 0.8, 2.0),
("PB-12", "管理者が会議室を登録・変更する", 5, "M", 5, 8, 8, 5, 3, 1.0, 1.0),
("PB-13", "利用開始時にチェックインする", 5, "C", 5, 2, 5, 200, 1, 0.5, 1.5),
("PB-14", "利用状況を月ごとに集計する", 5, "C", 3, 2, 2, 5, 2, 0.8, 1.0),
("PB-15", "スマートフォンの画面幅に対応する", 8, "S", 8, 3, 1, 180, 2, 0.8, 2.0),
("PB-16", "定員と設備で絞り込む", 3, "C", 5, 2, 1, 200, 1, 0.8, 0.5),
("PB-17", "よく使う部屋をお気に入りにする", 2, "C", 2, 1, 1, 80, 0.5, 0.5, 0.5),
("PB-18", "ほかの人の分を代理で予約する", 5, "C", 3, 2, 2, 30, 1, 0.8, 1.0),
("PB-19", "外部カレンダーと連携する", 13, "W", 5, 1, 3, 150, 2, 0.5, 3.0),
("PB-20", "表示を英語に切り替える", 8, "W", 2, 1, 1, 20, 1, 0.5, 2.0),
]
rows = []
for id_, name, size, moscow, bv, tc, rr, reach, impact, conf, effort in ITEMS:
cod = bv + tc + rr # 遅延コスト(Cost of Delay)
wsjf = cod / size # WSJF = 遅延コスト ÷ ジョブの大きさ
rice = reach * impact * conf / effort # RICE = Reach × Impact × Confidence ÷ Effort
rows.append(dict(id=id_, name=name, size=size, moscow=moscow,
cod=cod, wsjf=wsjf, rice=rice))
by_wsjf = sorted(rows, key=lambda r: (-r["wsjf"], r["id"]))
by_rice = sorted(rows, key=lambda r: (-r["rice"], r["id"]))
for i, r in enumerate(by_wsjf, 1):
r["wsjf_rank"] = i
for i, r in enumerate(by_rice, 1):
r["rice_rank"] = i
print("ID MoSCoW 大きさ 遅延コスト WSJF 順位 | RICE 順位 | 順位差 項目")
for r in by_wsjf:
diff = r["rice_rank"] - r["wsjf_rank"]
print(f'{r["id"]} {r["moscow"]} {r["size"]:>4} {r["cod"]:>8} {r["wsjf"]:>7.2f} {r["wsjf_rank"]:>4} |'
f' {r["rice"]:>6.0f} {r["rice_rank"]:>4} | {diff:>+5} {r["name"]}')
print()
print("RICE の上位10件:", " ".join(r["id"] for r in by_rice[:10]))
print("WSJF の上位10件:", " ".join(r["id"] for r in by_wsjf[:10]))
big = [r for r in rows if abs(r["rice_rank"] - r["wsjf_rank"]) >= 5]
print("順位が5以上ずれた項目:", ", ".join(f'{r["id"]}(WSJF {r["wsjf_rank"]}位 / RICE {r["rice_rank"]}位)' for r in big))
total = sum(r["size"] for r in rows)
for key, label in (("M", "Must"), ("S", "Should"), ("C", "Could"), ("W", "Won't")):
s = sum(r["size"] for r in rows if r["moscow"] == key)
n = sum(1 for r in rows if r["moscow"] == key)
print(f"{label:<7}{n:>2}件 {s:>3}ポイント {s / total:6.1%}")
print(f"合計 {len(rows):>2}件 {total:>3}ポイント")
実行結果です。
ID MoSCoW 大きさ 遅延コスト WSJF 順位 | RICE 順位 | 順位差 項目
PB-06 M 5 34 6.80 1 | 720 3 | +2 同じ時間帯の重複予約を防ぐ
PB-04 M 5 29 5.80 2 | 600 5 | +3 社員アカウントでログインする
PB-03 M 3 16 5.33 3 | 800 2 | -1 予約を取り消す
PB-01 M 5 26 5.20 4 | 600 4 | +0 空き状況を日付で検索する
PB-05 M 3 15 5.00 5 | 1000 1 | -4 自分の予約一覧を見る
PB-12 M 5 21 4.20 6 | 15 18 | +12 管理者が会議室を登録・変更する
PB-02 M 8 29 3.62 7 | 450 6 | -1 会議室を予約する
PB-08 S 3 9 3.00 8 | 400 7 | -1 開始10分前に通知を受け取る
PB-16 C 3 8 2.67 9 | 320 8 | -1 定員と設備で絞り込む
PB-13 C 5 12 2.40 10 | 67 13 | +3 利用開始時にチェックインする
PB-07 S 5 10 2.00 11 | 120 11 | +0 予約の時刻を変更する
PB-17 C 2 4 2.00 12 | 40 15 | +3 よく使う部屋をお気に入りにする
PB-09 S 8 14 1.75 13 | 96 12 | -1 備品を会議室と一緒に予約する
PB-11 S 8 13 1.62 14 | 224 9 | -5 カレンダー表示で空きを見る
PB-15 S 8 12 1.50 15 | 144 10 | -5 スマートフォンの画面幅に対応する
PB-14 C 5 7 1.40 16 | 8 19 | +3 利用状況を月ごとに集計する
PB-18 C 5 7 1.40 17 | 24 17 | +0 ほかの人の分を代理で予約する
PB-10 S 13 16 1.23 18 | 33 16 | -2 毎週の定例を繰り返し予約する
PB-19 W 13 9 0.69 19 | 50 14 | -5 外部カレンダーと連携する
PB-20 W 8 4 0.50 20 | 5 20 | +0 表示を英語に切り替える
RICE の上位10件: PB-05 PB-03 PB-06 PB-01 PB-04 PB-02 PB-08 PB-16 PB-11 PB-15
WSJF の上位10件: PB-06 PB-04 PB-03 PB-01 PB-05 PB-12 PB-02 PB-08 PB-16 PB-13
順位が5以上ずれた項目: PB-11(WSJF 14位 / RICE 9位), PB-12(WSJF 6位 / RICE 18位), PB-15(WSJF 15位 / RICE 10位), PB-19(WSJF 19位 / RICE 14位)
Must 7件 34ポイント 28.3%
Should 6件 45ポイント 37.5%
Could 5件 20ポイント 16.7%
Won't 2件 21ポイント 17.5%
合計 20件 120ポイント
結果の読み方
- 上位の顔ぶれはほぼ同じです。上位10件のうち8件が両方に入りました。どちらの手法でも、価値が高く小さい項目が上に来ます。
- PB-12(管理者が会議室を登録・変更する)はWSJFで6位、RICEで18位と大きく分かれました。使う人は管理者5人だけなのでReachが小さく、RICEでは低く出ます。一方で、部屋を登録できなければ予約そのものが始まらないため、WSJFではリスク低減と切迫度の点が効きます。利用者数が少ない土台の機能は、RICEだけで判断しないのが要点です。
- PB-11とPB-15はRICEのほうが5つ上です。多くの人が触れる画面の改善はReachで点が伸びます。
- MoSCoWの配分はMustが28.3%で、60%以内に収まっています。
点数は並べ替えの出発点です。計算結果の1位はPB-06(重複予約の防止)ですが、記入例の表ではログイン・検索・予約を先に置きました。予約の機能がなければ重複の防止は確かめられないためです。点数で並べたあと、依存関係とスプリントゴールとのまとまりで入れ替える、という2段階で決めます。
リファインメントの進め方とアジェンダ
スクラムガイド2020は、リファインメントを「項目をより小さく詳細に分割・定義する活動」とし、説明・並び順・大きさなどを加えていく継続的な活動としています。決まった会議として定めてはいません。次のアジェンダは、週1回60分で行う場合のよく使われる進め方です。
| 時間 | 内容 | 進める人 | 出てくるもの |
|---|---|---|---|
| 0〜5分 | 今日扱う項目の確認(次の1〜2スプリント分) | プロダクトオーナー | 対象のIDの一覧 |
| 5〜25分 | 項目の説明と質問。価値と受け入れ基準を確かめる | プロダクトオーナー、開発者 | 更新した受け入れ基準 |
| 25〜40分 | 大きい項目の分割(8ポイント超を目安) | 開発者 | 分割後の項目 |
| 40〜52分 | 見積もり(プランニングポーカーなど) | 開発者 | 各項目のポイント |
| 52〜58分 | 並び順の見直し | プロダクトオーナー | 更新した順位 |
| 58〜60分 | 持ち帰りの確認(調査、関係者への質問) | 全員 | 担当と期日 |
会の前に、プロダクトオーナーが対象項目の価値と受け入れ基準の下書きを入れておくと、説明の時間が短くなります。終了時に次のスプリント1.5〜2回分がReadyになっていれば、スプリントプランニングで選ぶ項目に困りません。
Readyの確認項目
| 確認すること | 例(PB-08 開始10分前の通知) |
|---|---|
| 価値が1行で言える | 予約したまま使わない枠を減らす |
| 受け入れ基準がある | 開始10分前にメールが1通届く。取り消し済みには届かない |
| 見積もりが付いている | 3ポイント |
| 1スプリントで完成できる大きさ | 3ポイントで、ベロシティ20前後のチームに収まる |
| 依存する項目が先に並んでいる | PB-02(予約する)が上位にある |
大きな項目の分割パターン一覧
順位が上がってきた大きな項目は、分けたそれぞれが単独で利用者の役に立つように切ります。画面・API・データベースといった層で切ると、どれか1つが完成しても動かせないため、下の切り口を使います。
| パターン | 切り口 | PB-10(毎週の定例を繰り返し予約する・13ポイント)や他項目での例 |
|---|---|---|
| 操作の手順で分ける | 手順の前半と後半 | 繰り返しの登録/登録済みの繰り返しの一括取り消し |
| 規則の種類で分ける | 基本の規則と追加の規則 | 毎週のみ/隔週・毎月にも対応 |
| 正常系と例外で分ける | まず通る道、次に例外 | すべて空いている場合/一部が埋まっている場合の扱い |
| データの範囲で分ける | 対象を絞って始める | 会議室のみ/備品も一緒に(PB-09) |
| 操作の種類で分ける | 登録・参照・変更・削除 | 会議室の登録/変更・削除(PB-12) |
| 画面の広さで分ける | 対応する端末 | PC幅のみ/スマートフォン幅(PB-15) |
| 手作業から自動へ | まず手動で成立させる | 管理者がCSVで集計/画面で月次集計(PB-14) |
| 調査を切り出す | 不明点を先に明らかにする | 外部カレンダーの連携方式の調査/連携の作り込み(PB-19) |
| 性能・品質を後から足す | まず動かし、次に速くする | 週表示を出す/表示を1秒以内にする(PB-11) |
PB-10を上の2つで分けた例です。分割後は見積もりを付け直し、それぞれ別の順位に置きます。
| ID | 項目 | 見積もり | 順位の置き方 |
|---|---|---|---|
| PB-10a | 毎週同じ曜日・時刻で繰り返し予約する(すべて空いている場合) | 5 | 元の位置 |
| PB-10b | 一部が埋まっているとき、空いている回だけ予約して結果を示す | 5 | PB-10aの直後 |
| PB-10c | 繰り返し予約をまとめて取り消す | 3 | 下位へ |
つまずきやすい点と直し方
| 起きること | 直し方 |
|---|---|
| 「高・中・低」だけで並べ、高が半分を占める | 1からの連番にして、同じ順位を作らない |
| すべての項目を同じ細かさで書こうとして止まる | 上位だけ詳しくし、下位は1行にとどめる |
| バックログが増え続けて全体が見えなくなる | Won'tや長く動かない項目を定期的に別シートへ移す |
| 技術的な作業や不具合が別の一覧に散らばる | 同じ1本の列に入れ、同じ基準で順位を付ける |
| 点数の順をそのまま最終の順にする | 依存関係とスプリントゴールとのまとまりで入れ替える |
| 見積もりをプロダクトオーナーが決めている | 作業をする開発者が大きさを付ける |
よくある質問
Q. プロダクトバックログとスプリントバックログの違いは何ですか? A. プロダクトバックログはプロダクト全体の一覧で、プロダクトオーナーが順序に責任を持ちます。スプリントバックログは、そのスプリントで選んだ項目と、スプリントゴール、完成させるための計画を合わせたもので、開発者が持ちます。
Q. 項目は何件くらいあればよいですか? A. 件数の決まりはありません。目安として、Readyの項目が次のスプリント1.5〜2回分あり、その先は粗い項目で数か月分の方向が見えていれば足ります。
Q. WSJFとRICEはどちらを使えばよいですか? A. 利用者数のデータが取れる機能改善が中心ならRICE、期限や土台づくりのように遅れの影響を重く見たいならWSJFが合います。どちらも入力は相対的な見立てなので、1つに決めて続けるほうが比べやすくなります。
Q. 不具合の修正もバックログに入れますか? A. 入れます。別の一覧に分けると、機能追加との順番を比べられなくなります。スプリント中に見つかった、そのスプリントの項目の不具合は、その項目の完成に含めて直します。
まとめ
- プロダクトバックログは、必要なものを取り組む順に並べた1本の一覧です。
- 表はID・項目・価値・見積もり・優先順位・受け入れ基準・状態の7列で始めます。
- 上位は細かく、下位は粗く。全項目を同じ細かさにしません。
- 範囲の合意にはMoSCoW(Mustは工数の60%以内)、順番づけにはWSJFかRICEを使います。
- 点数で並べたあと、依存関係とスプリントゴールで入れ替えて最終の順にします。
- リファインメントで、次のスプリント1.5〜2回分をReadyに保ちます。
- 大きな項目は、分けたそれぞれが単独で役に立つ切り口で分割します。
参考
- スクラムガイド2020(Ken Schwaber、Jeff Sutherland): https://scrumguides.org/scrum-guide.html
- MoSCoW Prioritisation(Agile Business Consortium、DSDM): https://www.agilebusiness.org/dsdm-project-framework/moscow-prioririsation.html
- WSJF(Scaled Agile Framework): https://framework.scaledagile.com/wsjf
- RICE: Simple prioritization for product managers(Intercom): https://www.intercom.com/blog/rice-simple-prioritization-for-product-managers/
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「プロダクトバックログの書き方と例|優先順位の付け方とテンプレート」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。