Weekly Ops Review Template
A template for summarizing incidents, costs, performance, and action items in weekly operations reviews.
Overview
Ops reviews are where teams spot trends before they become incidents. A weekly review of incidents, costs, and performance turns scattered alerts into useful patterns. Without structure, ops reviews become complaint sessions or status updates that nobody reads. What this template gives you is a repeatable shape: what happened, what it cost, what’s trending, and what we plan to do about it.
The template is deliberately table-heavy: numbers on a page are harder to argue with than impressions in a meeting. Every section maps to a single question. Summary asks how the week went, incidents ask what broke, costs ask what we spent, performance asks whether we stayed inside the SLO, actions ask what changes next week, and risks ask what might break soon.
When to Use
Use this resource when:
- Your team reacts to incidents but never analyzes patterns
- Cloud costs creep up without explanation
- You’re establishing an SRE or platform engineering practice and need a regular review cadence
Skip it when a monthly business review already covers ops health, or when the team is small enough that everyone already knows what broke this week; a five-person startup can get away with a shared channel and a Friday thread. For performance-specific deep dives, the Performance Regression Template is a better fit.
Solution
# Weekly Ops Review: `<Week of YYYY-MM-DD>`
## 1. Executive Summary
| Metric | This Week | Last Week | Trend | Target |
|--------|-----------|-----------|-------|--------|
| Incidents | `X` | `Y` | ↑ / ↓ / → | `< 3` |
| SEV 1–2 | `X` | `Y` | ↑ / ↓ / → | `0` |
| MTTR (mean) | `X min` | `Y min` | ↑ / ↓ / → | `< 30 min` |
| Cloud Cost | `$X` | `$Y` | ↑ / ↓ / → | `< $Z` |
| Error Budget Remaining | `X%` | `Y%` | ↑ / ↓ / → | `> 50%` |
**Narrative:** `One-paragraph summary of the week: biggest issue, biggest win, biggest risk.`
## 2. Incident Review
| ID | Severity | Service | Root Cause | MTTR | Action Item | Owner | Status |
|----|----------|---------|------------|------|-------------|-------|--------|
| INC-### | SEV 1/2/3 | `service` | `cause` | `X min` | `action` | `@name` | Open / Closed |
### Recurring Themes
- `Theme 1: description and frequency`
- `Theme 2: description and frequency`
### Follow-Up from Last Week
- [ ] `Action item 1` — `@owner` — `status`
- [ ] `Action item 2` — `@owner` — `status`
## 3. Cost Analysis
| Category | This Week | Last Week | Delta | Budget | Variance |
|----------|-----------|-----------|-------|--------|----------|
| Compute (EC2 / GCE) | `$X` | `$Y` | `+/- Z%` | `$B` | `+/- V%` |
| Storage | `$X` | `$Y` | `+/- Z%` | `$B` | `+/- V%` |
| Data Transfer | `$X` | `$Y` | `+/- Z%` | `$B` | `+/- V%` |
| Managed Services | `$X` | `$Y` | `+/- Z%` | `$B` | `+/- V%` |
| **Total** | `$X` | `$Y` | `+/- Z%` | `$B` | `+/- V%` |
### Cost Drivers
- `Driver 1: description`
- `Driver 2: description`
### Cost Action Items
| Action | Projected Savings | Owner | Deadline |
|--------|-------------------|-------|----------|
| | | | |
## 4. Performance & Reliability
| Service | Availability | Latency P99 | Error Rate | Saturation | Status |
|---------|------------|-------------|------------|------------|--------|
| `API` | `X%` | `Y ms` | `Z%` | `W%` | ✅ / ⚠️ / ❌ |
| `Web` | `X%` | `Y ms` | `Z%` | `W%` | ✅ / ⚠️ / ❌ |
| `Worker` | `X%` | `Y ms` | `Z%` | `W%` | ✅ / ⚠️ / ❌ |
### SLO Breaches
| Service | SLO | Actual | Budget Impact | Action |
|---------|-----|--------|---------------|--------|
| | | | | |
## 5. Action Items for Next Week
| Priority | Action | Owner | ETA | Success Criteria |
|----------|--------|-------|-----|------------------|
| P0 | | | | |
| P1 | | | | |
| P2 | | | | |
## 6. Risks & Escalations
| Risk | Likelihood | Impact | Mitigation | Escalation |
|------|------------|--------|------------|------------|
| | | | | |
Explanation
The template separates data from narrative. The tables force a quantitative review; the narrative explains what the numbers mean. Many teams skip cost analysis until the bill shocks finance; including it weekly builds cost awareness into engineering culture. The recurring themes section is where you catch systemic issues: three memory-related incidents in three weeks is a pattern, not bad luck.
If you’re building the review habit alongside an on-call rotation, the On-Call Incident Response guide covers the incident side, and the SRE Practices guide covers error budgets and SLO mechanics in depth.
Companion files: the weekly-ops-review-template companion repo has the review as a standalone Markdown file plus a summarize-week.py script that computes the executive summary table from a JSON export of incidents and costs.
Weekly Ops Review Dashboard Query
=== Weekly Ops Review Dashboard ===
Week of: 2026-07-08 to 2026-07-14
1. INCIDENT SUMMARY
Total incidents: 3
P0 (critical): 0
P1 (high): 1 (auth-service timeout, 2026-07-10)
P2 (medium): 2 (cache eviction storm, DB slow query)
Mean time to detect: 4 min
Mean time to resolve: 22 min
Customer impact: 1,200 users affected (P1)
2. SLO STATUS
Service SLO Target Actual Budget Remaining
api-gateway 99.9% 99.92% 78%
auth-service 99.9% 99.85% 42% (trending down)
payment-service 99.95% 99.96% 65%
search-service 99.5% 99.51% 51%
3. COST ANALYSIS
This week: $12,450
Last week: $11,800
Trend: +5.5% (investigate)
Top cost: EC2 instances ($4,200)
Anomaly: S3 egress +40% (new export feature?)
4. DEPLOYMENT SUMMARY
Total deploys: 7
Rollbacks: 1 (api-gateway v2.3, config error)
Hotfixes: 1 (auth-service session fix)
Failed deploys: 0
5. RECURRING THEMES
- auth-service latency spikes during peak (3rd week)
- Cache eviction rate above baseline (2nd week)
- S3 egress cost increasing (1st week, new pattern)
Action Item Tracking Template
=== Action Item Tracker ===
Week: 2026-07-08
| ID | Priority | Action | Owner | Status | ETA |
|-----|----------|-------------------------------------|----------|-----------|-------------|
| A01 | P1 | Investigate auth-service latency | alice | In Progress| 2026-07-15 |
| A02 | P1 | Fix cache eviction policy | bob | Open | 2026-07-18 |
| A03 | P2 | Review S3 egress cost spike | charlie | Open | 2026-07-22 |
| A04 | P2 | Update DB query with missing index | dba-team | Done | 2026-07-10 |
| A05 | P0 | Add alert for auth-service p99 > 2s | alice | Done | 2026-07-11 |
Previous Week Items:
| ID | Action | Owner | Status |
|-----|-------------------------------------|----------|-----------|
| P01 | Reduce EC2 costs by right-sizing | platform | Done |
| P02 | Add synthetic test for checkout | qa-team | In Progress|
| P03 | Document failover procedure | sre-team | Done |
Running the Review
None of this works without a meeting with a fixed shape. A format that holds up in practice:
- Data first (5 min). Fill the tables before the meeting; whoever’s facilitating pulls numbers from monitoring, incident tracking, and cost tools. The meeting discusses; it doesn’t go hunting for data.
- Follow-up before new business (5 min). Walk last week’s action items first. If an item is two weeks stale, either it’s important enough to escalate or honest enough to close.
- Incidents and trends (10 min). Review what broke and whether the same things keep breaking. This is where recurring themes get named.
- Costs and performance (5 min). Skim unless something moved; a 5%+ cost swing or an SLO trending toward breach earns the floor.
- Actions and risks (5 min). No action item leaves the room without an owner and a deadline, and risks get written down before they turn into incidents.
Two failure modes to watch: the review drifts into a status meeting (people report instead of analyze; cut it), or it quietly dies after a few good weeks (a quiet week is exactly when trend analysis pays off; keep the cadence).
Variants
| Context | Focus | Cadence |
|---|---|---|
| Startup (< 20 people) | Incidents + cost only; skip SLO tables | Weekly, 15 min |
| Scale-up (20–100) | Full template; assign action item owners | Weekly, 30 min |
| Enterprise (100+) | Per-service reviews; aggregated monthly | Weekly per team, monthly cross-team |
| Platform / SRE team | Focus on shared infrastructure and tenant health | Weekly, 45 min |
| Cost-conscious org | Expand cost section; include per-feature costing | Weekly, 30 min |
What Works
- Keep the review under 30 minutes; long meetings kill engagement
- Assign owners to every action item in the meeting, not after
- Review last week’s action items first; accountability reinforces the habit
- Use real numbers, not anecdotes; “feels slow” isn’t useful
- Document risks before they become incidents; escalating early prevents fires
Common Mistakes
- Turning the review into a blame session; focus on systems, not people
- Skipping cost analysis until finance complains; costs creep silently
- Not reviewing action items from previous weeks; this makes the meeting useless
- Allowing “no incidents this week” to mean “no discussion needed”; always review trends
- Not escalating risks early; waiting until a risk becomes an incident wastes the review
Troubleshooting
These are the failure modes of the review itself, when the ritual exists but isn’t producing outcomes:
- The review became a status meeting: people recite what they did instead of analyzing what the system did. Fix it by banning individual updates; the tables carry the facts, the discussion carries the meaning.
- Action items pile up unowned: every item left the meeting with a name but nobody’s closing anything. Cap the active list (10 per team works) and close or escalate anything older than two weeks; a growing list is noise, not accountability.
- Nobody trusts the numbers: the cost table and the dashboard disagree, or metrics get pulled manually with errors. Automate collection from the source APIs (monitoring, incident, cost tools) and stop hand-editing figures.
- Attendance keeps shrinking: the review got too long or too generic. Cut it to the sections that changed this week and rotate the facilitator; ownership of the meeting keeps people in it.
- The same incident keeps recurring: themes get noted but never turned into fixes. When a theme appears three weeks running, it graduates from “theme” to a tracked action item with an owner, or it stays forever.
Further Reading
- Google SRE Workbook — Implementing SLOs: the error-budget mechanics behind the Performance & Reliability section.
- DORA: the four key metrics worth adding to the executive summary once the basics are stable.
- Related templates: Performance Regression Template for latency deep-dives, Change Management Template for the deploy side.
Frequently Asked Questions
Who should attend the ops review?
Engineering leads, on-call representatives, and a product or business stakeholder. The SRE or platform lead runs the meeting. Individual contributors attend when their service is discussed. Six to eight people is plenty; past that, the review turns into a status report that nobody owns.
What if there were no incidents this week?
Celebrate briefly, then dig deeper. Review cost trends, performance drift, and upcoming risks. A quiet week is an opportunity to pay down technical debt or tighten SLOs. Never cancel the review because "nothing happened"; consistency builds the habit that catches issues early.
How do I make engineers care about cost?
Total spend alone doesn't move engineers; cost per feature or per customer does. When Feature X costs $0.05 per user per month and Feature Y costs $2.00, the comparison makes the optimization work obvious. Also, share cost savings achievements as engineering wins; reducing waste is as valuable as shipping code.
How do we automate the ops review data collection?
Use a script or dashboard that pulls data from your monitoring (Grafana, Datadog, Prometheus), incident management (PagerDuty, Opsgenie), and cost management (AWS Cost Explorer, CloudHealth) APIs. Let the tooling generate the tables; write the narrative by hand. Keep the weekly reports in a shared doc (Google Docs, Notion) or wiki with a searchable archive, so anyone can look back and compare weeks. Automate data collection but keep the analysis human; the value of the review is in the discussion, not the numbers.
What metrics should we track beyond incidents and cost?
Track: deployment frequency, lead time for changes, change failure rate, mean time to recovery (the four DORA metrics). Track SLO burn rate and error budget consumption. Track on-call load (pages per week, escalations, pages outside business hours) — more than 10 pages for one engineer in a week is an on-call health flag worth discussing. Track technical debt items closed. Track security findings open and resolved. Track customer-reported issues. Taken together, that's a decent picture of operational health.
How do we handle action items that never get done?
Escalate stale action items (open for more than 2 weeks) to the team lead. If an action item isn't important enough to complete in 2 weeks, close it and document why. Don't let the action item list grow indefinitely; it becomes noise. Limit active action items to 10 per team. If you hit the limit, close the oldest items or escalate to leadership for prioritization.
Should we share the ops review with the broader company?
Share a summarized version monthly with leadership and stakeholders. Include: incident count, SLO status, cost trends, and major achievements. Omit internal action items and detailed technical analysis; a monthly summary exists to build trust, not to audit the team. Engineers get the full weekly review in a shared channel or wiki, where they can watch trends and add their own observations.
How do we run the review for distributed teams?
Run it in a shared document (Google Docs, Notion, Confluence) that the whole room can edit at once. Spend 5 minutes on the data tables, 15 on discussion, 10 on action items. Record the session for people who couldn't attend, and rotate the facilitator each week so ownership spreads. Use a consistent template so the review is comparable week over week. Keep a backlog of discussion topics for weeks with fewer incidents.
How do we handle blameless post-mortems in the ops review?
Dedicate 5 minutes at the start of each review to discuss the previous week's incidents using a blameless approach. Talk about what happened, why it happened, and which systemic change would have stopped it. Blame belongs on systems, processes, and tooling, never on the person who was holding the pager. Post-mortem action items go into the tracker like everything else, and the summaries get shared with the wider team. When someone handled an incident well, say so publicly.
What's an error budget and how do we use it in the review?
Your error budget is how much failure a service can afford before you're forced to stop and fix things: a 99.9% SLO over 30 days means 43 minutes of allowed downtime. Watch the consumption weekly. When a service burns through more than half its budget before the period is half over, that service is at-risk. If the budget's exhausted, freeze non-essential changes and focus on reliability improvements. Report error budget status in every ops review.
Related Resources
Performance Regression Template
A template for comparing benchmarks and creating action plans when performance degrades.
DocBug Triage Template
A template for classifying and routing bug reports by severity and impact.
DocChange Management Template
A template for documenting CAB reviews and rollback criteria for production changes.
DocCloud Cost Allocation Template
A template for tracking team and environment cloud cost allocation.
GuideOn-Call and Incident Response Playbook
A practical playbook for on-call engineers: triage, escalation, communication, and postmortems. Reduce MTTR and build a resilient incident response culture.
GuideSite Reliability Engineering
A practical guide to SRE: defining SLIs, SLOs, and SLAs, managing error budgets, toil reduction, on-call rotations, and building a culture of reliability.