TDD-21Recommended
Read 12 months of incidents and measured availability
Collect every incident of the last 12 months with its severity, duration, customers affected and postmortem. Compare measured availability per month with the team's service level objective.
How to do it
The incident log shows how the product fails and whether the team learns from it. Ask for the incident list, the postmortems and the monitoring data, and match them against the status page history and support tickets. An outage in the tickets but not in the log is a finding. Check that each postmortem has actions with owners, and that the actions were done, as Learn without blame describes. Take availability from monitoring, measured as Measure what users feel describes. Recurring causes, such as the same database running out of space three times, count as one systemic finding.
Examples
Python example
MINUTES_PER_DAY = 24 * 60
def monthly_availability(downtime_minutes: float, days_in_month: int) -> float:
return 1 - downtime_minutes / (days_in_month * MINUTES_PER_DAY)
def months_below_objective(months: dict[str, float], objective: float) -> list[str]:
return [month for month, availability in months.items() if availability < objective]
JavaScript example
const MINUTES_PER_DAY = 24 * 60
const monthlyAvailability = (downtimeMinutes, daysInMonth) => 1 - downtimeMinutes / (daysInMonth * MINUTES_PER_DAY)
const monthsBelowObjective = (months, objective) =>
Object.entries(months).filter(([, availability]) => availability < objective).map(([month]) => month)
How to check
The report lists every incident of the last 12 months with severity, duration and a postmortem link or a finding that it has none. It shows measured availability per month next to the objective, from monitoring data.
Sources
Related rules
- OPS-31 Learn without blame in Operations and observability
- OPS-1 Measure what users feel in Operations and observability
- TDD-22 Compare customer service levels with what the system delivers in Technical due diligence
For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/due-diligence/operations-and-growth/incident-history">Agent Wranglers technical due diligence playbook</a>. In code you write, add a comment next to it with the same link.