L48:SLO(運用品質目標)+エラーバジェット+定例Opsレビュー(KPI/SLI)+改善優先度(Impact/Effort)+30/60/90ロードマップ(TRAINING ONLY/流用禁止)
【重要:本レッスンは訓練専用】
- このレッスンで作る「SLO」「エラーバジェット」「Opsレビュー議事録」「優先度付け表」「ロードマップ」等は訓練専用です。通常業務でそのまま使用することは禁止します(コピペ流用禁止)。
- 実サイト更新・実公開・実リポジトリ反映は禁止:本番環境/実CMS/実タグ/実URLには触れません(ローカル・ダミーのみ)。
- 実データ・個人情報・未公開情報は禁止(実案件名、実ページID、実在条件/取引先/素材などは書かない)。
- 本番で必要になった場合は、訓練成果物を流用せず、情報を取り直し、別途レビュー/承認を経て新規作成してください。
L47で「監視→アラート→Runbook→ポストモーテム→改善バックログ」を作りました。
L48では、改善を“思いつき”ではなく、運用品質(SLI/SLO)とエラーバジェットで優先順位付けし、定例レビュー→意思決定ログ→ロードマップまでつなげます。
ポイントは「全部やる」ではなく、出す/止める(Go/No-Go)に使える判断材料にすることです(訓練用ダミーで演習)。
このページの使い方
1レッスン=1LP(1ページ)です。上から順に当日の時間割に沿って進めてください。
各項目の冒頭に EC事業部/文房具カフェ事業部・準備室 の実施時間を併記しています。
※本レッスンはダミーのみで行います(実データ・個人情報・未公開情報は入力しない)。
このレッスンの狙い(到達状態)
- SLI(測る指標)とSLO(目標)を、測定方法とセットで説明できる
- エラーバジェットを「余裕」ではなく、意思決定(改善優先/リリース停止)の材料にできる
- 定例Opsレビューを、議事録テンプレ(意思決定ログ)で回せる
- 改善バックログを、Impact/Effortで優先順位付けし、30/60/90に落とせる
- 「推測で断定しない」運用(UNKNOWNをUNKNOWNと書く)を徹底できる
受講ルール(共通)
- 実データ禁止:実URL、実ページID、実アカウント、実顧客情報、未公開企画などは禁止
- 訓練成果物の流用禁止:訓練で作ったSLO/議事録/表を通常業務へコピペしない
- 通常業務をしない:訓練日は講義・演習・レビュー・理解度確認に専念する
- 命令系統の具体化をしない:役割は「運用担当」「対応担当」「レビュー担当」「承認担当」など抽象ロール
- 相互レビュー2件以上:前日までの他者成果物に2件以上コメント(本ページの観点を使用)
今日の目標(できた範囲でOK)
受講者のレベル差があるため、強制の提出物は設けません。今日の目標を選び、できた範囲を「今日進めたこと」に記録してください。
- (A)TRN-SRE48 Specヘッダ(v0.1):対象/SLI/SLO/測り方/窓
- (B)SLO表(v0.1):最低2本(例:エラー率、復帰成功率)
- (C)エラーバジェット管理表(v0.1):消費→判断(止める/直す)
- (D)Opsレビュー議事録(v0.1):意思決定ログ(Go/No-Go含む)
- (E)改善優先度表+30/60/90ロードマップ(v0.1):最低5件を整理
基礎:SLI / SLO / SLA(混同しやすい)
| 用語 | 意味 | 訓練での扱い | 注意 |
|---|---|---|---|
| SLI | 測る指標(例:error率、timeout率、復帰成功率) | ログ/TC/再現条件で測る(ダミー) | 「測れない指標」は使わない |
| SLO | 目標(例:error率<=2%) | 訓練用の目標値を置く(ダミー) | 目標は「窓(期間)」が必要 |
| SLA | 対外約束(契約) | 扱わない(訓練では作らない) | 断定・確約は禁止 |
結論:エラーバジェットは「改善優先」と「リリース判断」をつなぐ
エラーバジェット(考え方:訓練用)
- SLOを満たさない「許容失敗量」を、バジェット(予算)として扱う
- バジェットを消費している間は、新機能より信頼性改善を優先(訓練の意思決定演習)
- バジェットが枯渇したら、No-Go(出さない)の根拠になる
標準テンプレ(TRAINING ONLY)
A) TRN-SRE48 Specヘッダ(v0.1)
【TRN-SRE48 Specヘッダ(v0.1:訓練専用・流用禁止)】
Spec-ID:TRN-SRE48
版:v0.1
状態:DRAFT / REVIEW / FINAL(訓練内)
対象(ダミー):
* 例:TRN-JS44(擬似API+requestId+cancel+retry+ログ)
* 例:TRN-OPS47(監視/アラート/Runbook/PM)
目的(1行):
* 例:運用品質をSLOで固定し、改善優先とGo/No-Go判断を“測れる根拠”で行う練習
範囲(やる/やらない):
* やる:SLI/SLO、エラーバジェット、定例Opsレビュー、優先順位、30/60/90(ダミー)
* やらない:実運用SLO導入、実顧客への約束(SLA)、実サイト反映
観測ポイント(訓練):
* ログイベント(例:FETCH_FAIL、timeout、RETRY→SUCCESS 等)
* 状態(idle/loading/success/empty/error/timeout/canceled)
* 再現条件(failSwitch/slowSwitch/category等:ダミー)
窓(計測期間:必須):
* 例:1日 / 1週間 / 1スプリント(訓練では「当日」でも可)
SLI候補(最大3):
* SLI1:
* SLI2:
* SLI3:
SLO(目標値:窓つき):
* SLO1:
* SLO2:
* SLO3:
意思決定(訓練用):
* バジェット消費が大きいとき:信頼性改善優先/新機能停止(No-Go検討)
* バジェットに余裕があるとき:改善と新機能をバランス
完了条件(採点可能):
* SLIが測れる(ログ/TC/手順)/SLOが窓つきで定義されている
* エラーバジェット表があり、消費→判断につながる
* Opsレビュー議事録に意思決定ログ(Go/No-Go)が残る
* 改善が30/60/90に落ちる(完了条件つき)
* 訓練専用の明記がある/実データ混入なし
B) SLO表(v0.1)
| SLO-ID | SLI(測る指標) | 定義(数え方) | 目標(SLO) | 窓(期間) | データ源(訓練) | 備考 |
|---|---|---|---|---|---|---|
| SLO-01 | error率 | FETCH_FAIL回数 / FETCH_START回数 | <= 2% | 当日(訓練) | logBox | timeoutは別SLOに分離も可 |
| SLO-02 | 復帰成功率 | (error/timeout後のretryでsuccess) / (error/timeout発生回数) | >= 90% | 当日(訓練) | TC結果+ログ | 復帰導線の品質を見る |
| SLO-03(任意) | timeout率 | timeout回数 / FETCH_START回数 | <= 1% | 当日(訓練) | logBox | slowSwitchで再現しやすい |
C) エラーバジェット管理表(v0.1:訓練用)
※「使い切ったら止める」を演習します(実運用に流用しない)。
| 期間(窓) | SLO-ID | 総試行(例:FETCH_START) | 失敗数(例:FAIL/timeout) | 許容失敗(Budget) | 消費率 | 判断(訓練) | 根拠(ログ/TC) |
|---|---|---|---|---|---|---|---|
| 当日 | SLO-01 | (入力) | (入力) | 総試行×2%(ダミー) | (計算) | Go / No-Go / 改善優先 | ログ抜粋3〜8行 |
| 当日 | SLO-02 | (入力) | (入力) | 総試行×10%(ダミー) | (計算) | 復帰導線改善 | TC-ID+結果 |
D) 改善優先度(Impact / Effort)表(v0.1)
| BL-ID | 課題(何が起きる?) | Impact(影響) | Effort(工数) | 優先(P0/P1/P2) | 完了条件(採点可能) | 根拠(SLO/ログ/PM) | メモ |
|---|---|---|---|---|---|---|---|
| BL-01 | 二重実行が起きる(連打で処理増殖) | 大 | 小 | P0 | TC-二重実行がOK | SLO-01 / AL-03 | |
| BL-02 | timeoutから復帰できないケースがある | 大 | 中 | P0 | TC-timeout復帰がOK | SLO-02 | |
| BL-03 | ログが不足して原因が追えない | 中 | 小 | P1 | INC票の根拠欄が埋まる | PM(振り返り) | |
| BL-04 | 競合(stale)発生が多くUXが悪い | 中 | 中 | P1 | IGNORED比率が改善(ダミー) | SIG-04 | |
| BL-05 | A11yのフォーカス誘導が弱い | 中 | 小 | P1 | TC-A11y(フォーカス)がOK | QA/TC |
E) 30/60/90ロードマップ(v0.1:訓練用)
| 期間 | 狙い | やること(BL-ID) | 完了条件(採点可能) | 依存/リスク | 担当(抽象) | 状態 |
|---|---|---|---|---|---|---|
| 30日 | 止血(信頼性の底上げ) | BL-01, BL-02 | 主要TCが全てOK、SLO-01/02が達成(ダミー) | UNKNOWNの洗い出し | 作成担当 | TODO |
| 60日 | 観測と検収の強化 | BL-03, BL-05 | INC根拠が揃う、A11y TCがOK | ログ粒度調整 | レビュー担当 | TODO |
| 90日 | UX改善と運用定着 | BL-04 + 新規提案(任意) | AL-04が減る(ダミー)、Opsレビューが回る | 改善の優先度ぶれ | 運用担当 | TODO |
F) Opsレビュー議事録(意思決定ログ:v0.1)
【TRN-SRE48 Opsレビュー議事録(v0.1:訓練専用・流用禁止)】
日付:
対象(Spec-ID):
参加(抽象ロール):
1. 今週の状況(事実:測定値)
* SLI/SLO結果(窓:__):
* エラーバジェット消費(%):
* アラート(件数/S1〜S4):
* インシデント(INC-ID):
* UNKNOWN(未確定):
2. 判断(Go/No-Go/優先度)
* 判断:Go / No-Go / 要相談(停止)
* 根拠(SLO/バジェット/ログ/TC):
* 影響(ダミー):
* ロールバック観点(必要なら):
3. 改善バックログ(優先度の変更)
* P0(今すぐ):
* P1(次):
* P2(後):
4. 30/60/90更新(差分)
* 30日:
* 60日:
* 90日:
5. 次回までのアクション(最大3)
6.
7.
8.
9. 証跡(リンク代替:貼り付け)
* ログ抜粋:
* TC結果:
* PM要約:
ダミー課題(どれか1つでOK)
SRE-48A(易):SLOを2本作って、Backlog優先順位をつける
対象(ダミー):
- TRN-JS44 or TRN-OPS47
要求:
* SLO表:最低2本(error率、復帰成功率)
* Backlog:最低5件(Impact/Effort)
* ロードマップ:30/60/90を埋める
SRE-48B(中):エラーバジェット消費→No-Go判断(訓練)
状況(ダミー):
- error/timeoutを意図的に増やす(再現可能)
- バジェットが枯渇する想定を作る
要求:
* バジェット表を埋める
* Opsレビュー議事録でNo-Go判断を残す
* 改善P0を2件以上指定(完了条件=TC)
SRE-48C(中):PMからBacklog→ロードマップへ直結
入力(ダミー):
- L47のPM(ポストモーテム)1件
要求:
* PMの改善アクションをBacklog化(完了条件つき)
* SLOと紐づけ(どのSLOに効くか)
* 30/60/90に落とす
ChatGPTに投げるプロンプト(コピペ用)
1) SLI/SLO(窓つき)を作る
【L48 プロンプト①:SLO設計(訓練用)】
前提(安全):
* 教育訓練用ダミー。実データ・実URLは禁止。
* 成果物は流用禁止。SLA(対外約束)は作らない。
* 不明はUNKNOWNで残す(推測で断定しない)。
入力:
* 対象(TRN-JS44/OPS47など)
* ログイベント一覧
* 状態一覧
* 既知の弱点(例:timeout多い、復帰弱い)
出力形式(必須):
* SLO表(SLI定義/目標/窓/データ源)
* SLOは最低2本(error率、復帰成功率 推奨)
2) エラーバジェット表→意思決定(Go/No-Go)まで作る
【L48 プロンプト②:エラーバジェット→判断(訓練用)】
入力:
* SLO表
* 計測値(ログやTCの回数:ダミーでOK)
出力:
* エラーバジェット管理表(消費率まで)
* 判断(Go/No-Go/改善優先)+根拠
* 追加すべき計測(UNKNOWNの解消案)
3) Backlog優先度(Impact/Effort)+30/60/90ロードマップを作る
【L48 プロンプト③:優先度+ロードマップ(訓練用)】
入力:
* PM(あれば)または既知の課題
* SLO/バジェット判断
出力:
* Backlog(最低5件:Impact/Effort/優先/完了条件/根拠)
* 30/60/90ロードマップ(完了条件つき)
* Opsレビュー議事録(意思決定ログ)
相互レビュー観点(L48専用)
- 訓練専用の担保:流用禁止が明記され、実在情報が混入していないか
- SLI/SLO:測り方が具体で、窓(期間)があるか
- バジェット:消費→判断(Go/No-Go/改善優先)につながるか
- 優先度:Impact/Effortが説明でき、P0が「完了条件(TC)」で採点可能か
- Opsレビュー:意思決定ログ(根拠)が残っているか
レビューコメントテンプレ(コピペ用)
【L48 相互レビューコメント】
対象(TRN-SRE48):
版:
1. 良い点(1つ):
*
2. SLOは測れる?(定義/窓/データ源)
* OK / 要改善
不足(1つ):
*
3. バジェット→判断ができる?
* OK / 要改善
曖昧な根拠(1つ):
*
4. Backlogは優先度が妥当?(Impact/Effort/完了条件)
* OK / 要改善
改善案(1つ):
*
5. Opsレビュー議事録に意思決定ログがある?
* OK / 要改善
不足(1つ):
*
6. 次の一手(v+0.1で直すなら):
-
本日の流れ(タイムライン)
目次(クリックで移動)
- 出席・当日選択カリキュラムの内容確認
- 時間差相互評価(2件以上コメント)
- 休憩
- 自分への受領レビュー確認・改善方針メモ
- L48 レクチャー本編(講師説明・質疑込み)
- 昼休憩
- 個人演習①:SLO/バジェット設計
- 休憩
- 個人演習②:優先度→ロードマップ→Ops議事録
- 休憩
- 復習:共有できる形に整形(できた範囲でOK)
- 質問・コメント・感想の提出(指定スレッド)
1) 出席・当日選択カリキュラムの内容確認
【実施時間】
| 対象 | 時間 |
|---|---|
| EC事業部 | 08:30–09:10 |
| 文房具カフェ事業部/準備室 | 10:00–10:40 |
この時間にやること
- 今日の目標(A〜E)を選ぶ(できた範囲でOK)
- ダミー課題(SRE-48A/B/C)を1つ選ぶ
- 注意点を1行で書く(例:SLOに窓を必ず付ける/UNKNOWNを残す/流用禁止)
セルフ棚卸し(コピペ用)
【L48 セルフ棚卸し】
1) 今日選ぶダミー課題:
- SRE-48A / SRE-48B / SRE-48C
2. 自分が弱い点(1つ):
* (例:SLO定義/測り方/優先度判断/意思決定ログ)
3. 今日の目標(1行):
*
2) 時間差相互評価(前日までの他者成果物に2件以上コメント)
【実施時間】
| 対象 | 時間 |
|---|---|
| EC事業部 | 09:10–10:00 |
| 文房具カフェ事業部/準備室 | 10:40–11:30 |
この時間にやること
- 前日までの他者成果物を2件選び、L48レビュー観点でコメントする
- 「理屈」より、測れるか/判断できるか/完了条件があるかを見る
3) 休憩
【実施時間】
| 対象 | 時間 |
|---|---|
| EC事業部 | 10:00–10:15 |
| 文房具カフェ事業部/準備室 | 11:30–11:45 |
休憩:学習作業なし
4) 自分への受領レビュー確認・改善方針メモ(講師レビュー含む)
【実施時間】
| 対象 | 時間 |
|---|---|
| EC事業部 | 10:15–10:45 |
| 文房具カフェ事業部/準備室 | 11:45–12:15 |
改善方針メモ(コピペ用)
【L48 改善方針メモ】
受領した指摘の要点(最大3つ):
1)
2)
3)
## 直す理由(測れない/窓なし/判断根拠なし/完了条件が曖昧 等):
直し方(どこを改善する?):
* SLO(定義/窓/データ源):
* バジェット(消費→判断):
* Backlog(優先/完了条件):
* Ops議事録(意思決定ログ):
今日の最優先ルール(1行):
*
5) 当日選択カリキュラム実施:L48レクチャー本編(講師説明・質疑込み)
【実施時間】
| 対象 | 時間 |
|---|---|
| EC事業部 | 10:45–12:00 |
| 文房具カフェ事業部/準備室 | 12:15–13:30 |
ここからが「読む/聞く」パート
改善が進まない理由は、やる気ではなく優先度が決められないことが多いです。
L48では、SLO/エラーバジェットを使って「今なにを直すべきか」を決め、議事録(意思決定ログ)に残します(訓練用)。
6) 昼休憩
【実施時間】
| 対象 | 時間 |
|---|---|
| EC事業部 | 12:00–13:00 |
| 文房具カフェ事業部/準備室 | 13:30–14:30 |
昼休憩:学習作業なし
7) 個人演習①:SLO/バジェット設計
【実施時間】
| 対象 | 時間 |
|---|---|
| EC事業部 | 13:00–14:30 |
| 文房具カフェ事業部/準備室 | 14:30–16:00 |
演習①のやり方(必須)
- TRN-SRE48 Specヘッダ(v0.1)を埋める(窓を必ず書く)
- SLO表を最低2本作る(測り方を具体化)
- エラーバジェット表を作り、「消費→判断」まで書く(訓練)
提出用フォーマット(演習①:コピペ用/できた範囲でOK)
【L48 演習① 提出(できた範囲でOK)】
Spec-ID:TRN-SRE48
対象(ダミー):
## (1) Specヘッダ(v0.1):
## (2) SLO表(v0.1):
(3) バジェット表(v0.1):
-
8) 休憩
【実施時間】
| 対象 | 時間 |
|---|---|
| EC事業部 | 14:30–14:45 |
| 文房具カフェ事業部/準備室 | 16:00–16:15 |
休憩:学習作業なし
9) 個人演習②:優先度→ロードマップ→Ops議事録
【実施時間】
| 対象 | 時間 |
|---|---|
| EC事業部 | 14:45–15:45 |
| 文房具カフェ事業部/準備室 | 16:15–17:15 |
演習②のやり方(必須)
- 改善バックログを最低5件作り、Impact/Effortで優先度(P0/P1/P2)を決める
- 30/60/90ロードマップに落とす(完了条件=TCやログで採点可能)
- Opsレビュー議事録(意思決定ログ)を作る(Go/No-Go含む)
提出用フォーマット(演習②:コピペ用/できた範囲でOK)
【L48 演習② 提出(できた範囲でOK)】
Spec-ID:TRN-SRE48
## (1) Backlog(優先度付き):
## (2) 30/60/90ロードマップ:
(3) Opsレビュー議事録(意思決定ログ):
-
10) 休憩
【実施時間】
| 対象 | 時間 |
|---|---|
| EC事業部 | 15:45–16:00 |
| 文房具カフェ事業部/準備室 | 17:15–17:30 |
休憩:学習作業なし
11) 復習:共有できる形に整形(できた範囲でOK)
【実施時間】
| 対象 | 時間 |
|---|---|
| EC事業部 | 16:00–16:30 |
| 文房具カフェ事業部/準備室 | 17:30–18:00 |
最終チェック(コピペ用)
【L48 最終チェック】
- 訓練専用(流用禁止)が明記されている
- 実データ/実URL/実公開が混入していない
- SLOが窓つきで、測り方が具体(採点可能)
- バジェットが消費→判断(Go/No-Go/改善優先)につながる
- Backlogに優先度と完了条件(TC/ログ)がある
- Opsレビュー議事録に意思決定ログ(根拠)が残る
12) 講師への質問・コメント・感想の提出(指定スレッド)
【実施時間】
| 対象 | 時間 |
|---|---|
| EC事業部 | 16:30–17:00 |
| 文房具カフェ事業部/準備室 | 18:00–18:30 |
提出先(参考)
EC事業部・文房具カフェ事業部:ChatWork の指定スレッド/準備室:Slack の指定スレッド
提出テンプレ(コピペ用)
【L48 提出(本人レポート)】
1. 今日の学習内容(要約:3行)
*
*
*
2. 今日進めたこと(TRAINING ONLY:流用禁止)
* 対象(SRE-48A/B/C):
* SLO(本数):
* バジェット(有/無):
* Backlog(件数):
* 30/60/90(有/無):
* Ops議事録(有/無):
3. 一番工夫した点(1つ)
-(例:SLOに窓を付けた/判断根拠をログ/TCで固定した/完了条件を採点可能にした 等)
理由:
*
4. 次に改善したい点(1つ)
*
## 理由:
5. 質問(最低1つ)
*