← Back to articles
Technology

Small Changes, Big Blast Radius

Small Changes, Big Blast Radius

"It's just a copy change on a button." "It's just tightening one validation threshold." Changes described this way are exactly the ones that skip impact review. In practice, small changes cause more production bugs than large feature additions. Large changes get reviewed and designed from the start; small ones slip through on the assumption that "it's obvious what this touches."

Why Small Changes Skip Review

When a requirement changes mid-sprint, teams often agree verbally and move on because "it's small." But a one-line conditional change can quietly break a display rule on another screen or invalidate the assumptions behind an existing test. The problem isn't the size of the change — it's that nobody inventories what it touches.

Build a Change Impact Sheet

Every time a change comes in, write down its impact across three areas. A spreadsheet works, or embed it directly in the PR description. What matters is that a field exists to fill in — if there's no field, nobody writes it.

1. Affected screens

  • Which screens does this change affect — not just the one being edited, but any list, detail, or notification view that reads the same data
  • Do any screens render differently depending on role or permission

2. Affected APIs

  • Who calls this endpoint — the web frontend only, or also the mobile app and external integrations via MCP
  • Will a response type or nullability change surface as an error on the caller side, or get silently swallowed

3. Ripple effects on existing tests

  • Which existing tests rely on assumptions this change breaks — boundary and error-path tests are the easiest to miss
  • A passing test suite doesn't mean the tests were written with this change in mind

In one real case, a team changed only the wording of an error message. The frontend used that exact string in a conditional branch to trigger a retry, so the retry silently stopped firing. The backend engineer thought it was just copy; the frontend engineer assumed the backend wouldn't touch it. Neither side checked, and it wasn't caught until production.

This kind of mismatch can't be prevented by the change author alone filling in an impact sheet. Giving the receiving side (the caller) a field to confirm "does this affect me" catches the assumptions that slip through otherwise.

Making It Stick

An impact sheet kept as a separate document eventually goes unopened. What actually worked:

  • Require three lines in the PR template: affected screens / APIs / tests
  • Reviewers mechanically bounce PRs that leave these blank — no judgment call, just a rule
  • When the answer is "none," require a comment distinguishing "checked, and there's genuinely no impact" from "didn't check"

The goal isn't a more thorough evaluation — it's making the evaluation impossible to skip. The smaller the change, the more certain it is to be skipped if there's no field forcing it.

Putting This Into Practice With Bugoon

When an unreviewed change surfaces as a real bug, you can report it from the Bugoon widget with a screenshot and annotations, linked straight to a GitHub Issue. Noting which change caused it turns each report into a concrete example for sharpening your impact sheet. Scanning bug reports across screens on the kanban board also makes it easier to spot when a single change rippled into more places than expected.

Streamline bug reporting for your team.

Bugoon is free to get started. Add one line of code to your site and transform how your team handles bugs.

Get Started