A Model Upgrade Is a Breaking Change. Treat It as One

A newer model arrives, benchmarks higher, and looks like a free upgrade. It ships with no code diff, touches every feature at once, and can quietly make yours worse. That is the definition of a breaking change — it just doesn't look like one.

A model version change altering AI feature behaviour with no code diff to review

Your team depends on a library. A new major version comes out. Nobody on a competent team runs update and ships to production on faith — there is a changelog to read, a test suite to run, a migration to plan. Everyone understands that a dependency change can break things, because that lesson has been paid for many times.

Now the dependency is a model, and every reflex the team built up goes quiet. The provider releases a newer version. It benchmarks higher. Someone updates a version string, or the provider migrates you automatically, and the change reaches production with none of the ceremony a library bump would have triggered. There is no diff to review, because your code did not change. Only the thing your code was built on did.

This is the most under-appreciated risk in shipping AI features, and it comes from a category error: teams treat the model as infrastructure, like a runtime, when it behaves like a dependency, like a library your whole product is compiled against.

Why “Better” Can Be Worse

The trap is that the new model is genuinely better on average, and that average is measured on tasks that are not yours. Public benchmarks reward broad general capability. Your feature cares about one narrow slice of behaviour, on your data, in your format, with your edge cases — and a model can improve on the aggregate while regressing on your slice.

A model that got better at open-ended reasoning may have become more verbose, and now overflows the length limit your summariser depended on. A model with improved “helpfulness” may hedge where yours needed a decisive classification. A model retrained on newer data may have shifted its default assumptions in exactly the domain you rely on. None of that appears in the benchmark score, and none of it appears in a diff, because there is no diff.

The Category Error

A model is not your runtime. It is your most important dependency — the one every feature is compiled against. A version change deserves at least the caution you already give a major library bump, and usually more, because the failure is behavioural rather than a crash.

The Four Silent Inputs

The model version is the obvious one, and it is only a quarter of the exposure. An AI feature's behaviour is a function of four inputs, and none of them typically passes through code review:

Anyone versioning only the first two — and most teams version only the prompt — is exposed on the rest. The unifying property is that all four can change the product's behaviour while the application code sits untouched and every conventional signal stays green.

The Guard: A Regression Eval

You already have the instrument, if you built a golden set. A regression eval is simply running that set against the proposed new configuration before it ships, and comparing against the current one.

The comparison has to be case by case, not score against score, because this is exactly where an aggregate number lies to you. Consider a realistic result:

GOLDEN SET — 40 cases current candidate Overall pass rate 91% 93% --------------------------------------------------- Cases that regressed — 4 (were passing) Cases that improved — 5 (were failing) Net change — +1 case

The headline moved from 91% to 93% and every instinct says ship it. But four cases that used to work now fail. If one of them is in your critical subset — a summary that now leaks a name, a classification that now hedges on a safety call — the upgrade is a regression no matter what the average did. Aggregate scores hide this by design, because new passes numerically absorb new failures. Only the case-by-case diff surfaces it.

The Number That Lies

A pass rate that goes up can still contain losses you cannot accept. New passes mask new failures in the average. The question is never “did the score improve?” — it is “what used to pass and now fails, and can we live with those specific cases?”

Making It Scrum Work

The reason model upgrades cause incidents is almost never that the team lacked the skill to test one. It is that the upgrade was never treated as work in the first place — it happened in the gaps, outside the Sprint, as a config tweak nobody sized. The fix is to drag it back inside the framework where the team's existing discipline can reach it.

A model or prompt change is a Product Backlog item. It has acceptance criteria: the regression eval shows no unacceptable losses on the golden set. It gets refined, sized, and forecast like anything else. This alone prevents most upgrade incidents, because it converts an invisible event into a visible one the team has agreed to do.

Provider-forced migrations are a planning input, not a surprise. When a provider announces a deprecation date, that is a known event with a deadline — precisely the kind of thing that belongs on the Product Backlog early rather than arriving as an emergency the week it takes effect. A Scrum Master who surfaces these before they bite is doing impediment removal in its most literal form.

The four inputs get versioned together. If the team cannot say which model version, which prompt, which context source, and which tool set produced the current behaviour, it cannot reason about a change to any of them. This is a working agreement worth making explicit, and it connects directly to the provenance requirement in your Definition of Done.

Where This Sits in the Larger Picture

An upgrade that ships without a regression eval is a textbook generator of verification debt: behaviour changed across the product, nobody verified the change, and the cost arrives later as an incident nobody connects back to a version string that moved weeks ago. The regression eval is what keeps a routine dependency update from silently becoming an unexamined rewrite of how your features behave.

What to Do Next Sprint

  1. Write down the four inputs for one live feature: model version, prompt, context source, tool set. If you cannot, that is the first finding.
  2. Make the next model or prompt change a Product Backlog item with a regression eval as its acceptance criterion.
  3. Run the eval case by case, not score against score. Look specifically at what regressed, and hold the critical subset to zero losses.
  4. Check your providers' deprecation schedules and put any forced migration on the Product Backlog now, not the week it lands.

Part of AI-Augmented Verification

A regression eval is the golden set doing its second job. The set defines what good means; running it before an upgrade is what stops a silent dependency change from becoming verification debt.

The Golden Set → Regression Eval → Verification Debt Avoided

Frequently Asked Questions

Why is a model upgrade a breaking change?

Because it can alter the behaviour of every feature built on the model at once, with no code diff to review. A newer model that scores better on public benchmarks can still be worse on your specific tasks, and nothing in the deployment signals that until users hit it.

What silently changes the behaviour of an AI feature?

Four things that usually carry no code review: the model version, the prompt, the retrieved context or its source data, and the tools the model can call. A change to any of them can move outputs even when the application code is untouched.

What is a regression eval?

Running your golden set against the new configuration before shipping it, and comparing case by case against the current one. It catches the cases that used to pass and now fail — which aggregate scores hide, because new passes numerically mask new failures.

How should a Scrum Team plan a model upgrade?

As a Product Backlog item with its own acceptance criteria, sized and forecast like any other work — not as an infrastructure detail slipped in outside the Sprint. The acceptance criterion is that the regression eval shows no unacceptable losses on the golden set.

AI Scrum Master
Acceleration Course

Scrum.org Professional Scrum Master AI (PSM-AI) Essentials Badge

An Interactive Hands-on course for Scrum Masters, Agile Coaches, and Agile Leaders

VIEW DETAILS