Legacy services without a clear owner are exactly where SLOs matter most and get skipped most often. Here is how we forced the question.

Our internal notification service had no SLO, no clear owner, and three teams that each assumed someone else was watching it — until it caused a two-hour outage nobody was paged for.

Ownership gaps show up in the paging data first

Before assigning an SLO, we ran a simple query to find services with real traffic and zero linked on-call rotation. That gap list became the starting point for a forced ownership conversation, because you can't set a meaningful SLO for a service where nobody would be paged if it breached one.

from service_catalog
| where monthly_requests > 10000
| join kind=leftouter (oncall_rotations) on service_id
| where isnull(rotation_id)
| project service_name, monthly_requests, dependents

Default to the most demanding dependent

For services with unclear ownership but clear dependents, we set the initial SLO to match the tightest requirement among the services that depend on it, not a generic default. If checkout depends on notification-service and checkout needs 99.9%, notification-service inherits at least that bar until someone actively renegotiates it — the default should make under-protection the exception, not the norm.

Assign a temporary owner with an expiration date

We stopped waiting for a permanent owner to be resolved through an org-design process before adding paging. A temporary owning team is assigned with a 60-day expiration, after which either a real owner has been found or it escalates to engineering leadership automatically — this turned an indefinitely stalled conversation into one with a forcing function.

Don't let the temporary owner become permanent by default

The obvious failure mode is that the temporary team just keeps the service forever because nobody revisits it — we had exactly this happen once before adding a hard rule. The 60-day expiration is a real calendar event, not a soft target, and it forces an explicit yes-or-no: does this team formally take ownership, or does it get reassigned. Silence resolves to escalation, never to quiet permanence.

  • Find ownerless services by joining traffic volume against rotation coverage.
  • Default an unowned service's SLO to its most demanding dependent's requirement.
  • Assign a temporary owner with a hard expiration rather than waiting for consensus.
  • Escalate automatically to leadership if ownership is still unresolved at expiration.
  • Never let a temporary owner become permanent by default silence.