A metric sounds simple enough. Uptime is uptime. Response time is response time. But the minute you ask two teams to pin down what they actually mean by ‘deployment success rate,’ you’re staring into a crack that runs clean through the foundation of your technical organisation. One group counts a deployment as successful if the pipeline finishes without errors. Another counts it only when the release lands in production and passes smoke tests. A third subtracts any release that triggered a rollback within the first hour. Same term, three different numbers, and each team is honestly convinced theirs is the right one.
This isn’t a semantic quibble. When metric definitions drift apart, the damage compounds quietly. Dashboards turn into decoration. Alerting thresholds lose any tether to actual system behaviour. And the conversations meant to steer the architecture degrade into arguments over whose spreadsheet is less wrong. The problem isn’t carelessness. It’s that agreeing on definitions looks like bureaucracy, so it gets skipped in favour of building things. Then the things we build sit on a measurement layer nobody can trust.
Where the Drift Begins
Divergent definitions usually start innocently. A platform team tracks ‘service availability’ by probing health endpoints from inside the cluster. The SRE team monitors it from external synthetic checks routed through CDN edge nodes. The product team defines availability as whether the checkout flow completed for at least 99% of users in the last five minutes. Each team built its definition to answer a specific question it cared about. The platform team wanted to know if pods were crashing. SRE wanted to know if a user in Singapore could actually reach the service. The product team wanted to know if revenue was leaking.
Nobody set out to make a mess. But once those three definitions coexist under the same label, any cross-team chat about ‘availability’ needs a preamble to establish which meaning is in play. More often, the preamble gets left out. Someone glances at a dashboard, assumes the number means what they think it means, and makes a decision on a false premise. The drift isn’t malicious; it’s the natural by-product of teams optimising locally without a shared measurement contract.

The Cost of Ambiguous Metrics
The costs show up in three predictable spots: incident response, capacity planning, and prioritisation. During an incident, if the on-call engineer checks an error-rate metric that counts only server-side 5xx responses, while the customer-support dashboard counts any request that didn’t return a 2xx within two seconds, the two views will split sharply when the system is under stress. The engineer waves off the support team’s alarm because ‘our error rate is flat.’ The support team escalates because customers are complaining. Thirty minutes of diagnosis time gets burned just reconciling the numbers before anyone starts fixing the actual fault.
Capacity planning suffers in a quieter way. A team that defines ‘peak requests per second’ as the 99th percentile over one-minute windows will provision differently from a team that uses the maximum observed over five-second windows. When the infrastructure bill lands, the gap between projected and actual load becomes a line item that finance notices but engineering struggles to explain. The explanation, if anyone digs for it, is that two spreadsheets used the same column header to mean different things.
Prioritisation gets warped when leadership reviews a metric like ‘mean time to recovery’ without realising that Team A starts the clock at the first alert and Team B starts it when a human acknowledges the page. A team that looks like it recovers in ten minutes might actually be taking twenty-five, while another team’s fifteen-minute MTTR might be genuinely quicker when measured end-to-end. The comparison is worthless, but it drives resourcing decisions regardless.
Architectural Trends That Make It Worse
The current enthusiasm for microservices, event-driven architectures, and distributed tracing hasn’t fixed this. In some ways it’s dug the hole deeper. When a single user request fans out across fifteen services, each service team tends to instrument what it can see. One team emits a metric for ‘request duration’ measured from the moment its service receives the request to the moment it sends a response. The upstream team measures duration from the initial client call, including network time and serialisation overhead. The tracing tool aggregates spans and produces yet another number that doesn’t match either service-level view. Three ‘durations’ for the same operation, all correct within their own scope, none directly comparable.
Observability vendors sell the promise of a single pane of glass, but a unified dashboard doesn’t unify the semantics underneath. You can render all three duration metrics on the same screen, in the same colour palette, and you haven’t made them mean the same thing. The tooling is only as good as the taxonomy it visualises, and the taxonomy is exactly what teams neglect to negotiate.

Why Formal Definitions Get Skipped
Ask an engineering manager why their organisation lacks a canonical metrics glossary and you’ll usually get some version of ‘we haven’t had time.’ That’s honest, but it’s not the whole story. The deeper reason is that defining metrics properly is tedious, political work. It forces teams to surface assumptions they’ve been comfortably ignoring. If the platform team and the product team agree on a single definition of availability, one of them will have to change its instrumentation, its dashboards, and quite likely its alerting rules. That’s real work with no feature to show for it. In a culture that rewards shipping, the incentive to sidestep that conversation is strong.
There’s a subtler resistance too. A strict definition removes wiggle room. As long as ‘deployment frequency’ is fuzzy, a team can report a number that makes its velocity look healthy. Once the definition is locked down—say, any change that reaches production, excluding config-only changes and hotfix rollbacks—some teams will see their numbers drop. Nobody wants to be the team whose metric got worse because the ruler got calibrated.
What a Usable Metric Definition Actually Requires
A metric definition that survives contact with multiple teams needs more than a sentence in a wiki. It needs at least five properties: the measurement window, the aggregation method, the inclusion and exclusion criteria, the data source, and the accountable owner. Without those, the definition is just wishful thinking.
The measurement window is the time interval over which the metric is computed. ‘Error rate over a rolling five-minute window’ isn’t the same as ‘error rate over a calendar day.’ The aggregation method specifies whether you take an average, a percentile, a maximum, or a sum. Two teams averaging the same raw data can still produce different numbers if one uses a mean and the other uses a median. The inclusion and exclusion criteria are where most arguments live. Do you count 401 responses as errors? Do you include requests that timed out on the client side before reaching the server? The data source pins the metric to a specific system: the load balancer logs, the application metrics endpoint, the CDN provider’s API. The owner is the person or team responsible for maintaining the definition and answering questions when the number looks wrong.
This isn’t theoretical scaffolding. I’ve watched a database team burn two hours in a war room because the ‘connection pool utilisation’ metric on their dashboard was pulled from the application-side pool, while the DBA was staring at the database-side session count. Both were labelled ‘utilisation.’ Both were accurate. Neither team knew the other’s data source existed. A five-line definition would have prevented the whole episode.
The Organisational Side of the Problem
Metrics definitions aren’t purely a technical matter; they’re organisational artifacts. When teams report upward through different management chains, their metrics get aggregated at different levels with different levels of scrutiny. A director who sees a rolled-up ‘change failure rate’ for five teams might not realise that two of those teams define failure as any change that required manual intervention, while the other three define it only as changes that caused a P1 incident. The director makes a staffing decision based on a number that is, statistically speaking, nonsense.
Fixing this takes someone with enough authority to insist on shared definitions and enough patience to mediate the squabbles that follow. That person is rarely a formal role. In practice, it tends to fall to a senior engineer who’s been burned by bad data often enough to care deeply about measurement hygiene. Their job isn’t to impose definitions from on high but to facilitate a negotiation where each team explains what it needs from the metric and what it can realistically instrument. The output is a contract, not a decree.
Practical Steps That Actually Help
Start by auditing the five or six metrics that pop up in the most cross-team conversations. Availability, latency, error rate, deployment frequency, change failure rate, mean time to recovery. For each one, ask every team that consumes or produces it to write down its current definition, including the data source, in plain text. Don’t standardise yet; just collect. The act of writing forces people to notice the gaps they’ve been working around. When one team writes ‘latency: p95 of server-side processing time’ and another writes ‘latency: average end-to-end response time including network,’ the discrepancy is right there on the page. That alone is worth the exercise.
Once the discrepancies are visible, pick one metric and define it jointly. Choose the metric that causes the most operational pain when misunderstood. Availability is usually a good candidate because it triggers pages and shows up in status reports. Get the relevant teams into a room—or a document thread—and don’t let them leave until there’s a single definition that everyone can instrument within a reasonable timeframe. Document the definition with the five properties above and put it somewhere that’s linked from the dashboards that display the metric. If someone looks at a number and wonders what it means, they should be one click away from the contract that produced it.

After the first definition is in place, run it for a quarter and watch what breaks. You’ll discover that some team’s instrumentation doesn’t quite match the agreed definition because their library aggregates differently or their sampling rate is too low. Fix those gaps iteratively. Then move on to the next metric. The goal isn’t a glossary of a hundred perfectly defined terms. It’s a small set of high-stakes metrics that mean the same thing no matter who reads the number. That’s enough to change the quality of technical decisions.
When Standardisation Becomes Its Own Trap
There’s a counter-risk worth naming. A metrics standardisation effort can turn into a document-heavy process that demands every team use identical tooling, identical dashboards, and identical instrumentation libraries. That level of uniformity rarely pays back its cost. Different services have different performance characteristics, different failure modes, and different observability needs. The point isn’t to make every team’s telemetry look the same. The point is to make the shared nouns—the metrics that cross team boundaries—mean something consistent. Within a team’s own scope, they can measure whatever they find useful, as long as they don’t export those measurements under a name that already carries an organisation-wide contract.
I’ve seen organisations swing from complete anarchy to rigid centralisation and then back again, each swing justified by the failures of the previous state. The sensible middle is boring: a short list of governed metrics, a lightweight process for updating their definitions, and a tolerance for local variation everywhere else. It’s not architecturally interesting. It doesn’t generate conference talks. It does prevent the 2 a.m. argument about whether the site is actually down.
Why This Matters More Than Your Observability Stack
Engineering teams spend serious money and effort on observability tooling. They evaluate vendors, run proofs of concept, migrate from one platform to another. All of that investment sits on top of the assumption that the numbers flowing into the dashboards represent what people think they represent. If that assumption is wrong, the tooling is just an expensive way to display fiction.
The industry talks a lot about data-driven decision making. A decision isn’t data-driven if the data means different things to different people looking at the same chart. It’s just driven by whichever interpretation wins the argument. Getting the definitions right is less glamorous than building a real-time streaming pipeline, but it’s a prerequisite for the pipeline to be worth building. You can’t optimise a system you can’t measure consistently, and you can’t measure consistently if you haven’t agreed on what the measurements mean.
The problem with metrics definitions that vary across teams is fundamentally a problem of organisational attention. It persists because it’s boring to solve and easy to defer. The fix isn’t technology; it’s the disciplined, slightly pedantic work of writing down what you mean and holding people to it. That work scales better than any dashboard ever will.
Frequently Asked Questions
Why do teams resist standardising metrics definitions?
Resistance usually comes from two places. First, standardisation often reveals that a team’s current numbers are less favourable than they appeared under a looser definition, which can feel threatening in a performance-review culture. Second, the work of changing instrumentation and dashboards to match a new definition takes effort that doesn’t directly produce features, making it hard to prioritise against product roadmap items. Addressing the resistance means acknowledging both the political and the resource cost openly.
How many metrics should an organisation standardise?
Start with no more than five or six. The ones that appear in cross-team dashboards, incident retrospectives, and leadership reviews are the right candidates. Standardising dozens of metrics at once usually fails because the maintenance burden outstrips the perceived value. A small set of well-governed metrics that everyone trusts is far more useful than a large catalogue that no one consults.
What is the difference between a metric definition and a service-level objective?
A metric definition specifies how a measurement is collected, aggregated, and scoped—it’s the what and how. A service-level objective sets a target for that measurement over a given period—it’s the how good and for whom. You can have a perfectly clear definition of ‘latency’ and still disagree about whether the p95 should be under 200ms or 500ms. The definition is the foundation; the SLO is the policy built on top. Confusing the two leads to arguments that mix measurement methodology with business expectations.
Can tooling solve the problem of inconsistent metrics?
Tooling can help surface discrepancies by visualising data from multiple sources side by side, but it can’t resolve semantic differences. If two teams use the same metric name to mean different things, a dashboard will simply display two contradictory numbers with no explanation. The fix is organisational: agreeing on shared definitions before relying on the tooling to monitor them. Good tooling makes consistent metrics more visible; it doesn’t create consistency on its own.





