🎬 シナリオ
MOps チームは 「お気に入り商品の値下げ通知」(お気に入りの商品が値下がりしたらメール/アプリで知らせる機能)を開発している。11/27(金)開始のブラックフライデー販促に合わせ、11/20(金)リリース、コードフリーズは 11/13(金)。2週間スプリント。今日 10/2(金)に Sprint 3 が終わった。体制はエンジニア3名+QA 1名。
💬PO「残りが 120→98→92→88。後ろにいくほど減りが鈍っていて、チームが失速しているように見えます。次から人を増やしてもらえませんか」
💬EM「失速はしていないはず。ただし 11/13 に間に合う根拠を数字で見せてほしい」/CS部門長「配信停止リンクと頻度設定は問い合わせが出る前に入れたい」/マーケ部長「追加した機能は全部 BF で効くと思う」
数値はシナリオ上の設定(仮定)。「導出」は設定値からの計算。
| 時点 | 期間 | 稼働日 | 期末の総スコープ(pt) | 期間中の完了(pt) | 累計完了(pt) | 残り(pt) |
| S0 | – | – | 120 | – | 0 | 120 |
| S1 | 8/24–9/4 | 10 | 120 | 22 | 22 | 98 |
| S2 | 9/7–9/18 | 10 | 138 | 24 | 46 | 92 |
| S3 | 9/21–10/2 | 10 | 156 | 22 | 68 | 88 |
S3 の9月の連休は、チームが別の日に振替休日を取ったため稼働10日で数える、という設定。
| 期間中に追加されたスコープ(計36pt) | pt | 依頼元 | 追加 |
| 価格履歴グラフ | 8 | マーケ | S2 |
| 通知頻度の設定画面 | 6 | CS | S2 |
| 配信停止(オプトアウト)リンク | 4 | CS/法務 | S2 |
| アプリのプッシュ通知 | 10 | マーケ | S3 |
| 在庫復活通知 | 5 | マーケ | S3 |
| CS 向け管理画面 | 3 | CS | S3 |
| 残りのスプリント | 期間 | 稼働日 |
| S4 | 10/5–10/16 | 9(10/12 スポーツの日) |
| S5 | 10/19–10/30 | 10 |
| S6 | 11/2–11/13 | 9(11/3 文化の日) |
✅ 模範解答
1. バーンダウンとバーンアップ
バーンダウン(残り)— 120→98→92→88
バーンアップ — 赤: 総スコープ/緑: 累計完了/点線: 11/13(S6末)までの予測(悲観・楽観)/紫: 絞った後のスコープ 124
| 時点 | 総スコープ | 累計完了 | 残り |
| S0 | 120 | 0 | 120 |
| S1末 | 120 | 22 | 98 |
| S2末 | 138 | 46 | 92 |
| S3末 | 156 | 68 | 88 |
2. 「失速」ではない
| スプリント | 完了 | 稼働日 | 1稼働日あたり 導出 | 残りの減り | 追加スコープ |
| S1 | 22 | 10 | 2.20 | −22 | 0 |
| S2 | 24 | 10 | 2.40 | −6 | +18 |
| S3 | 22 | 10 | 2.20 | −4 | +18 |
🩺残りの減りが −22→−6→−4 と鈍ったのは、完了が落ちたからではなく、追加が18ptずつ入ったから。完了は 22→24→22 で安定。「失速」ではなく「スコープが毎スプリント18ptずつ増えている」。人を増やす議論の前に、スコープの議論が要る。
3. 11/13 までに完了できる量
1稼働日あたり: 最小 2.20/最大 2.40/平均 2.267(68÷30日 導出)。残りの稼働日 9+10+9=28日。
| 1日あたり | 28日で完了 | 11/13 の累計完了 |
| 悲観 | 2.20 | 61.6pt | 129.6pt |
| 中央 | 2.267 | 63.5pt | 131.5pt |
| 楽観 | 2.40 | 67.2pt | 135.2pt |
156pt のままだと、残り 88pt のうち 11/13 までに終わるのは約62〜67pt。約21〜26pt が残る。中央値では S6 のあと約10.8日分(S7 を使い切って S8 に入る=11/30〜12/1 頃)に食い込み、BF(11/27)に間に合わない。現状の増え方(1.8pt/日)が続くと実質の進みは 0.47pt/日で、ほぼ終わらない。
4. スコープの天井と判断
天井=累計完了 68+28日で完了できる量= 129.6〜135.2pt(中央 131.5pt)。156pt なので少なくとも 21〜26pt を外す。ぎりぎりを狙わず 124pt まで絞る(32pt を後ろへ)。
| 追加 | pt | 判断 | 理由 |
| 配信停止リンク | 4 | 残す | 広告・宣伝を含むメールになりうる。送ってから足すのは遅い(法務確認が前提)。後から足せない種類 |
| 通知頻度の設定画面 | 6 | 後ろへ | 初回は「1日1通まで」の固定ルールで代替できる。CS の懸念は固定ルールで当面しのげる |
| 価格履歴グラフ | 8 | 後ろへ | 通知の中核ではない。後から足せる |
| アプリのプッシュ通知 | 10 | 後ろへ | 最大の追加。メールだけでも値下げは伝わる。アプリ側の審査待ちも読めない |
| 在庫復活通知 | 5 | 後ろへ | 別機能。BF 後の次リリース候補 |
| CS 向け管理画面 | 3 | 後ろへ | 初回は SQL での調査で運用(エンジニアが当番) |
🎯外す 32pt、残すのは 4pt。総スコープ 156−32=124pt、残り 124−68=56pt。28日の完了見込み 61.6〜67.2pt に対し、最悪でも約91%、中央で約88%、楽観で約83%の負荷。残る約5.6〜11pt が見積もりの外れや QA の戻りを吸収する余白。
5. 見直しのルール
| 条件 | 誰が | 何をする |
| 総スコープが 124pt を超える依頼が出た | PO | 同量を外に出す。外す先が決まらなければ EM に相談。その場で足さない |
| スプリント末の累計完了が中央の線(S4末 88.4/S5末 111.1/S6末 131.5 導出)を下回る | EM | 次のスプリント頭に残りの見積もりを見直す。悲観の線を下回ったら PO にスコープの追加削減を求める |
| 2スプリント連続で悲観の線を下回る | EM | フリーズ日の延期は選ばず、リリース範囲の縮小を経営会議に諮る |
| 毎スプリントレビュー | PO・EM | 図は必ずバーンアップ(2本線)。バーンダウンは補助 |