Your quality bar didn't fall in one dramatic decision — it fell in a dozen quiet ones. Each time a bug-triage SLA or a performance budget slipped, someone reasonably relaxed the target instead of closing the gap. That's the eroding goals archetype: a balancing loop that resolves pressure by lowering the goal, not by improving performance.

Quick answer: Eroding goals is a systems archetype where a persistent gap between a target and actual performance gets closed by quietly redefining the target downward. It happens because goals get treated as adjustable variables under pressure rather than fixed anchors — the fix is pegging standards to an absolute external reference instead of last quarter's average.

What "Eroding Goals" Actually Means

Eroding goals (also called drifting goals) is one of the classic systems archetypes cataloged by Peter Senge in The Fifth Discipline: a balancing loop meant to close the gap between a goal and reality instead adjusts the goal itself. Nobody votes to lower the bar; the decline accumulates from small, locally defensible concessions repeated over many cycles.

Donella Meadows made the sharper point in her essay "Leverage Points: Places to Intervene in a System": goals sit much higher in a system's leverage hierarchy than rules or buffers do. Change the rule that governs a process and you get a local effect. Let the goal drift and every downstream rule, incentive, and habit drifts with it, because they were all calibrated against a target that no longer exists in its original form.

Daniel Kim's systems-archetype catalogs (developed through Pegasus Communications) place eroding goals alongside better-known patterns like "shifting the burden" and "limits to growth." The distinguishing feature is subtle: shifting the burden substitutes a quick fix for a fundamental one while the goal stays fixed. Eroding goals moves the goal post itself, so even a team executing well against its current target can be executing well against a target that's already collapsed.

If this is your first encounter with archetypes as a category, our complete guide to systems thinking for product managers maps out a dozen recurring patterns like this one, with the vocabulary to spot them in your own roadmap reviews.

The Anatomy of the Loop: Two Ways to Close a Gap

Every balancing loop compares a goal to an actual state and takes corrective action on the difference. Eroding goals hijacks that structure by letting the correction act on the goal input instead of the performance output — the loop still looks balanced and stable on a dashboard, even as the system's ambition ratchets down every cycle.

Walk through the mechanics in order:

  1. Actual performance falls short of the goal, and a gap opens.
  2. Pressure builds — a stakeholder notices, an SLA report goes red, someone has to respond before the next review.
  3. Two corrective paths exist: invest to close the gap upward, or redefine the goal downward to close it from the other side.
  4. The second path is almost always cheaper and less politically costly in the moment, so local incentives favor it.
  5. The gap closes. The chart turns green again. Nobody flags that "green" now means something different than it did last quarter.
  6. The cycle repeats from the new, lower baseline, and the next erosion starts from a smaller number.

Our piece on reinforcing vs. balancing loops in growth systems covers how balancing loops normally function as stabilizers — this is the failure mode where the stabilizer itself becomes the thing quietly decaying.

Path taken to close the gapEffort required nowWho feels the painVisibility of the changeLong-run risk
Improve performanceHigher, often needs headcount or a fixTeam doing the work, in the short termHigh — visible investment, visible planLow — standard holds, trust compounds
Lower the goalLower, usually a policy editCustomers or downstream teams, laterLow — often framed as a "one-time exception"High — standard ratchets down, trust erodes silently

Case Study One: The Bug Triage SLA That Died by a Thousand Extensions

A P1 bug-triage SLA erodes the same way a coastline erodes: one tide at a time. Each individual slip — four hours to eight, eight to same-day, same-day to "next sprint" — is defensible on its own merits. The cumulative effect is a triage process that no longer resembles urgency at all.

What the Slippage Looks Like Over Four Quarters

This pattern is generic enough that most engineering and support leaders will recognize a version of it from their own history, not because any one company did something unusual, but because the loop is structural.

PeriodStated P1 resolution targetRationale offered at the timeWhat actually stuck
Q14 business hours"Matches our on-call rotation and customer contracts"Mostly held
Q28 business hours"Holiday coverage was thin — one-time exception"Became the new normal
Q31 business day"We reprioritized around the launch"Exception repeated, never rolled back
Q4"Best effort, reviewed weekly""The SLA wasn't reflecting reality, so we retired it"A number replaced by a process

Every rationale in that table was true in its quarter. That's precisely why the pattern is dangerous — it never requires anyone to be wrong, only to be reasonable under pressure, repeatedly.

The Alternative: Budget the Failure, Don't Renegotiate It

Google's engineering organization built an explicit countermeasure into site reliability engineering: the error budget, documented in the Site Reliability Engineering book edited by Betsy Beyer, Chris Jones, Jennifer Petoff, and Niall Murphy. Instead of banning failure, teams are given an explicit allowance of acceptable failure against a fixed SLO — and spending that budget is a different action, with different approvals, than changing the budget itself.

That separation is the whole trick. A team can miss its target and still be in-process, as long as it's spending an agreed allowance rather than moving the target to erase the miss. The real cost of quietly relaxing a P1 SLA — customers who stop trusting your support queue — also tends to show up on a lag, which is exactly the kind of hidden delay covered in our piece on delays in feedback loops and retention.

Case Study Two: Performance Budgets That Only Ever Grow

Page-load and latency budgets erode on an identical schedule: a 2-second budget becomes 2.5, then "under 3 seconds on 4G," then disappears from the sprint review once every team has a good reason its feature needed the extra weight. Nobody removed the budget on purpose — it just stopped being anyone's job to defend.

Performance budgeting as a discipline was popularized in the web-performance community by practitioners like Steve Souders and later formalized by writers such as Addy Osmani, precisely because engineering teams kept discovering that "we'll optimize it later" was a polite way of saying "the budget doesn't really apply to us." The fix those practitioners converged on is the same one that works for any eroding goal: attach the number to a build gate, not a conversation.

Latency and load time aren't abstract engineering metrics — they're proxies for the job a customer hired your product to do, in the JTBD sense: "let me finish this task without reconsidering whether it's worth the wait." Our complete guide to jobs-to-be-done frames this kind of proxy metric as a stand-in for a job, which means a drifting budget is really a drifting definition of the job you're willing to do well.

That drift shows up concretely on a customer journey emotion curve: the loading spinner becomes a recurring low point that no single feature owner is responsible for, because each feature only added a few hundred milliseconds. Mapping the journey, as covered in our guide to customer journey mapping, is often the first place this kind of aggregate erosion becomes visible — long before it shows up in a single team's metrics.

Research bundled into DORA's Accelerate studies (Nicole Forsgren, Jez Humble, and Gene Kim) has repeatedly found that elite-performing engineering organizations sustain change failure rates and recovery times several times better than low performers — not because they never miss a deadline, but because they don't renegotiate the quality gate when a deadline looms. The gate is what stays fixed while the schedule flexes.

Why This Happens: Delay, Ambiguity, and the Path of Least Resistance

Three structural conditions make eroding goals close to inevitable: a delay between the standard slipping and the damage showing up, an ambiguous owner for the goal itself, and an incentive structure that rewards a green status more than the truth underneath it.

  • Measurement delay. The real cost of a relaxed SLA — churn, escalations, reputation — lags the compliance metric that tracks it, so the metric looks fine long after the underlying trust has started leaking.
  • Ambiguous ownership. A goal with no single named defender is nobody's explicit job to protect, so it gets renegotiated by whoever is in the room when the deadline hits, per Meadows' observation that unowned goals are the easiest leverage point to lose.
  • Local rationality, global corrosion. Senge's core insight is that each relaxation is individually sensible — the team really was short-staffed, the launch really was important — even as the aggregate ten-quarter trend is corrosive to the product's reputation.

Defending a goal is a higher-leverage move than optimizing the process beneath it, which is the central argument in our guide to finding leverage points in a product system. Tuning a triage workflow while the SLA underneath it quietly slides is optimizing a process whose target has already moved.

Anchoring the Goal: How to Stop the Slide

The fix isn't willpower or a stricter memo — it's structure. Anchor the goal to an absolute external reference that doesn't move with quarterly convenience, and make any change to that reference visible, deliberate, and effortful enough that erosion can no longer happen by accident.

Five Ways to Anchor the Goal

  1. Pick an absolute reference, not a rolling comparison. "Under 200ms server response" survives pressure better than "faster than last quarter," because the second one is defined relative to whatever you already did. Joel Spolsky's Joel Test is a useful model here — a fixed, binary bar that either passes or doesn't, with no rolling average to hide inside.
  2. Separate spending the budget from changing the budget. Borrow the error budget discipline directly: a team can spend against a fixed target, but changing the target itself is a different, higher-visibility decision with a different approver.
  3. Put the goal behind a gate, not a conversation. A target embedded in a living spec's readiness criteria — the way Spec Studio-style readiness gates work — can't be silently renegotiated in a stand-up. Changing it produces a visible diff that whoever approved the original commitment has to see and re-sign.
  4. Plot the goal itself over time, not just compliance against the current goal. A chart of "are we hitting our SLA" hides drift; a chart of "what our SLA actually was each quarter" exposes it immediately.
  5. Assign a single named owner to the number, not a rotating on-call, so there's always someone whose job includes saying no to the reasonable-sounding exception.
MetricWeak anchor (erodes easily)Strong anchor (resists drift)
Bug triage"Faster than last quarter"Fixed hours tied to a contractual SLO, reviewed via exception process
Performance budget"Reasonable given the feature"Hard byte/millisecond ceiling enforced in the build pipeline
Code review bar"Use your judgment"Named checklist gate before merge, changes require a visible spec diff
Uptime"Best effort"Published SLO with a defined, spendable error budget

Modeling the Loop Before It Bites You

Eroding goals is genuinely hard to see from inside a single sprint retro, because each meeting only ever contains one reasonable exception, never the ten-quarter trend line. Making the loop itself visible — as a diagram, not a debate — is what turns a vague sense of "things feel looser than they used to" into a specific, defensible decision about where to hold the line.

This is the exact gap Prodinja's Systems Engineering tool is built to close: it lets you model the goal-lowering balancing loop of eroding goals as a causal-loop diagram, tag the goal as a variable rather than a constant, and see where pressure is quietly acting on the target instead of the gap. Paired with Spec Studio's readiness gates, a standard you've anchored in a causal-loop model can be written into the spec as a gate — so if the number ever needs to move, it moves in a visible diff someone has to approve, not in a hallway conversation nobody remembers having.

Key Takeaways

  • Eroding goals is a named systems archetype (Peter Senge, The Fifth Discipline) where a balancing loop corrects the goal instead of the gap.
  • Each individual relaxation is locally reasonable; the danger is cumulative and invisible on a compliance dashboard that only shows the current, already-lowered target.
  • Bug-triage SLAs and performance budgets are classic victims because they get renegotiated privately, one "one-time exception" at a time.
  • Anchoring to an absolute external reference — not last quarter's average — is the single highest-leverage fix, consistent with Donella Meadows' leverage-points hierarchy.
  • Separate "spending" a buffer (Google SRE's error budget model) from "changing" the buffer, and require the latter to go through a visible, owned gate.
  • Plot the goal's value over time, not just compliance against the current goal, so drift is visible on its own chart rather than hidden inside a green status.
  • Structural anchors — readiness gates, named owners, causal-loop models — outperform reminders and good intentions, because the loop doesn't respond to willpower.

Frequently Asked Questions

What is the eroding goals archetype in systems thinking?

Eroding goals is a systems archetype where a persistent gap between a target and actual performance gets closed by quietly lowering the target rather than improving performance. It was cataloged by Peter Senge alongside other recurring structures like "limits to growth" and "shifting the burden," and it's dangerous precisely because each individual adjustment looks reasonable.

How is eroding goals different from shifting the burden?

Shifting the burden happens when a team repeatedly reaches for a quick fix instead of the fundamental fix, while the underlying goal stays fixed the whole time. Eroding goals is different because the goal itself moves — a team can be executing flawlessly against a target that has already quietly collapsed several times over.

Why do bug-triage SLAs keep getting relaxed instead of held?

SLAs get relaxed because relaxing them is cheaper and less visible than investing in the staffing or process changes needed to hit them, and the real cost — customer trust — surfaces on a delay that doesn't show up in the same sprint. Without a named owner and a visible gate around the number, each relaxation looks like a one-time exception rather than part of a trend.

How do you stop a performance budget from quietly expanding?

Stop it by enforcing the budget as a hard gate in the build pipeline rather than a guideline teams apply "when reasonable," borrowing the same discipline web-performance practitioners like Steve Souders and Addy Osmani popularized. Any exception should require a visible, approved change to the budget itself, not a silent one-off exemption for a single feature.

Is eroding goals the same thing as scope creep?

No — scope creep is a deliverable quietly growing beyond its original boundaries, while eroding goals is a standard quietly shrinking below its original bar. They can compound each other, since a team absorbing scope creep is under exactly the kind of pressure that makes lowering a quality goal feel like the reasonable move.