careersoft-skillscommunicationqa

How to Deliver Bad News: A Bug Before Release, a Slipped Deadline, "Quality Dropped"

A day before release you find a bug: in a rare but real scenario, payment charges the customer twice. Technically you did your job perfectly — you caught it. Now comes the part no course teaches: you have to tell people who very much want to ship tomorrow. And this is where QA careers diverge. One engineer says “we can’t release, everything’s broken” — and gets typed as the blocker. Another delivers the exact same fact so that the team makes the right call and even thanks them. The difference isn’t the bug. The difference is how the news is framed.

QA is structurally doomed to carry bad news: our job is to find what doesn’t work and tell people about it. So the skill of “delivering bad news so you’re heard, not shot as the messenger” isn’t a bonus — it’s part of the craft, right alongside writing test cases.

Why people want to shoot the messenger

There’s a well-known effect: a negative message gets subconsciously tied to whoever brought it. If you only ever show up with problems — no context, no options — the listener’s brain defends itself, and it defends against you. The classic mistakes that turn QA into “the one who always whines”:

  • Emotion instead of facts: “everything’s on fire,” “this is a disaster,” “we can’t ship.” Sounds like panic, not expertise.
  • A problem with no scale: “found a bug” — is it critical or cosmetic? Until you say, everyone fills in the blank themselves.
  • A problem with no way out: you brought a dead end, not a fork. Now someone else has to solve it, and to them you’re a source of headaches.
  • Wrong time, wrong audience: dumping a critical bug in the group chat on release day isn’t about quality — it’s about drama.

The formula: fact → impact → options → recommendation

One structure covers almost every case. Deliver in four steps, in exactly this order:

  1. Fact. What is happening, concretely, reproducibly, without judgment. “When paying by 3DS card, if the user backgrounds the app during confirmation, the payment goes through twice.”
  2. Impact. What it means for the user and the business — in their language, not in code. “The customer loses money, contacts support and files a chargeback with their bank. That’s reputation and refunds, not just a ticket in the tracker.”
  3. Options and their risks. Not a dead end, but a fork with a price on each path. “Option A — fix now, release slips a day. Option B — ship behind a feature flag with 3DS payment off, hotfix later. Option C — ship as is and monitor — but at our payment volume that’s dozens of double charges a day.”
  4. Recommendation. Your expert opinion. “I recommend B: users aren’t hurt and the timeline barely moves.”

The key shift: you show up not with “everything’s bad” but with a ready decision to pick from. That turns you from a source of problems into the person who helps close them.

Data, not adjectives

“Everything’s broken” is an emotion — unverifiable, and useless for making a decision. “5 of 20 critical checkout scenarios fail, all tied to 3DS” is a fact you can act on. The rule is simple: back every alarming claim with a number or a reproduction. How many cases, what share of users is affected, how often it reproduces, whether there’s a workaround. Numbers drain the panic and move the conversation from “scary / not scary” to “what do we do.”

Early and quiet, not late and in public

Bad news gets cheaper the earlier it arrives. A bug found a week before release is a working moment; the same bug on release day is a fire. So:

  • Speak up as soon as you’re sure it’s a real problem — not when it’s already too late to change anything.
  • First, tell the person who can act (tech lead, PM, the responsible developer), directly or in a DM, not straight to the group channel. Give people room to react without public pressure.
  • Escalation without drama: if you’re not heard, you raise the level calmly and with the same formula, not with resentment. Escalation isn’t a complaint — it’s a way to get the risk in front of someone with the authority to decide on it.

Three listeners, three languages

The same bug is explained differently depending on who’s listening:

  • A developer — specifics: steps, logs, environment, version, expected vs actual. No blame (“you broke it”) — just “here’s what happens and how to reproduce it.” The goal is a fast fix, not an admission of guilt.
  • A manager / PM — impact on scope and schedule: what we make, what we don’t, the risk of each option. They need to make a call, not read a stack trace.
  • A stakeholder / client — the language of the user and money: what the customer will feel, what it threatens for the business, what we propose. No technical jargon.

The same truth, three packagings. That’s not manipulation — it’s respect for the fact that people have different context.

”I surface risk, I don’t block the release”

The most harmful QA self-image is “I’m the one who keeps things out of prod.” That casts you as a gatekeeper people fight. A far stronger frame: the business owns the release decision, and your job is to give it an honest picture of the risks. “The release is possible, but here’s the list of known issues and their likelihood — your call” sounds more professional and takes you out of the enemy role. The responsibility for the risk is then consciously owned by the person with the authority for it — which is exactly right.

Checklist: delivering bad news

  • There’s a fact: reproducible, concrete, no judgmental adjectives.
  • There’s user/business impact, in their language.
  • There’s a number: share of cases, frequency, reach, workaround.
  • There are 2–3 options with a price on each, not a dead end.
  • There’s my recommendation as an expert.
  • Delivered early, and first to the person who can act.
  • Phrasing tailored to the listener (developer / PM / stakeholder).
  • Neutral tone: “surfacing risk,” not “forbidding” and not “all is lost.”

Phrase templates

  • Instead of “everything’s broken” → “5 of 20 critical scenarios fail, all on 3DS.”
  • Instead of “we can’t ship” → “the release is possible, but with these risks; I’d close this first.”
  • Instead of “it’s not me, it’s dev” → “here are the repro steps and logs, let’s look together.”
  • Instead of “I told you so” → “let me log this so we catch it earlier next time.”
  • An opener for a hard conversation → “I’ve got an unpleasant finding — let’s decide what to do with it before release.”

In short — what to take with you

  • QA always carries bad news; professionalism is in HOW you deliver it.
  • The formula for every case: fact → impact → options → recommendation.
  • Data and numbers instead of emotion and adjectives.
  • Early, and first to whoever decides; escalate calmly, with the same formula.
  • One truth in three languages for developer, manager, and stakeholder.
  • You surface risk; the business owns the release decision. That takes you out of the enemy role.

Further reading: Atlassian — Incident communication · Google SRE — Managing Incidents · GitLab — Communication handbook · Ministry of Testing — articles on communication in QA