BugMojoBugMojoBugMojo
FeaturesPricingBlogGuidesAbout
Log inGet started
BugMojoBugMojo

Bug reports that actually help fix bugs — capture, replay, share.

A product of Softech Infra.

Product

  • Features
  • Pricing
  • Get started
  • Log in

Resources

  • Blog
  • Guides
  • Compare
  • Glossary

Company

  • About
  • Contact
  • Privacy
  • Sitemap
  • Engineering
  • Playbooks
© 2026 BugMojo. All rights reserved.
AllGuidesEngineeringPlaybooksCompareGlossaryAlternativesBy roleBug tracking by framework
  1. Home
  2. Blog
  3. Playbooks
  4. Release Readiness Checklist: The Go/No-Go Framework
Playbooks

Release Readiness Checklist: The Go/No-Go Framework

A go/no-go release checklist with a blocker-versus-non-blocker decision framework, change-failure-rate framing from DORA, and a habit that makes every release blocker fixable: capture it with a reproduction.

ManviManvi·Jun 5, 2026·7 min read
Playbooks
Thin-line isometric release pipeline on a dark canvas with a single lime glow: a go/no-go gate holds back a lane of filled lime BLOCKER diamonds while hollow NON-BLOCKER diamonds flow through, with a faint downward change-failure-rate line below.
TL;DR

A release readiness checklist replaces gut-feel shipping with a repeatable go/no-go gate: objective pass/fail conditions, an explicit blocker-versus-non-blocker rule, and one named decision-maker. The scoreboard is DORA's change failure rate. AI raises the stakes rather than lowering them, so capture every blocker with a reproduction (steps, build, console, network, replay) before the meeting starts.

Most bad releases do not fail because nobody noticed the bug. They fail because the team noticed it, argued about whether it mattered, and ran out of time to decide before the deadline decided for them. A release readiness checklist exists to take that decision off the deadline's hands and put it back on a person's.

This playbook gives you three things: a go/no-go checklist you can copy, a framework for sorting every open bug into blocker or non-blocker, and a way to measure whether the gate is actually working. It is written for the team that ships weekly, hits the same 6pm scramble every Friday, and wants to stop having the same severity argument every time.

What is a release readiness checklist?

A release readiness checklist is a fixed set of pass/fail conditions a build must meet before it ships, ending in a recorded go or no-go. It covers tests, critical-path smoke checks, open blockers, rollback readiness, and monitoring. Its job is to apply one standard to every release, regardless of deadline pressure, and to settle severity before release day instead of during it.

The structure matters more than the exact items. A working checklist has objective conditions (a test suite is green or it is not), a written definition of what blocks a release, and a single accountable owner who says the word. Everything else is tuning for your service's risk profile. Google's SRE practice formalizes the same idea through policy enforcement and gating changes behind code review and approvals, so a release cannot proceed on momentum alone.

The go/no-go checklist

Run this top to bottom. Every line is a hard pass/fail, not a discussion. If any required line fails and is not explicitly accepted by the owner, the answer is no-go.

  • Tests green: all required automated suites pass in CI on the exact commit being shipped.
  • Smoke pass: a manual run over critical paths (login, checkout, the core workflow) on a production-like build.
  • Blocker count is zero: or each remaining blocker is explicitly accepted, with a named owner and a reason on the record.
  • Rollback ready: a tested rollback path or a feature-flag kill switch that has actually been exercised, not assumed.
  • Migrations safe: any database migration is backward-compatible or sequenced so a rollback does not corrupt data.
  • Monitoring confirmed: dashboards and alerts cover the new code paths, so a regression pages someone instead of hiding.
  • On-call covered: a named person owns the release window and can respond.
  • Decision recorded: one accountable person writes go or no-go, with the date and the build.

Blocker versus non-blocker: the decision that does the work

The checklist only functions if "blocker" is defined before release day. Define it once, write it down, and stop relitigating it at 6pm. Three questions decide every open bug:

  • Blast radius: how many users hit this, and on which path?
  • Severity: how bad is the outcome — data loss and security holes sit at the top, cosmetic glitches at the bottom.
  • Reversibility: can you roll back or flag it off in minutes if it surfaces in production?

A blocker breaks a critical path, corrupts data, opens a security hole, or has no safe workaround. A non-blocker is real but survivable: an edge case, a cosmetic issue, or anything with a documented workaround that can wait for a follow-up. Force every open bug into exactly one bucket. The ambiguous middle is where releases die.

FeatureManual checklist + ticketsBugMojo-captured blockers
Go/no-go checklist itselfYes (manual)Yes
Blocker arrives with a reproductionRarely — often one-line ticketSteps + build + console + network + replay
Runtime state attached (console, network, DOM replay)NoYes, rrweb + logs bundled
MCP / AI-agent-readable blocker contextNoYes — agent triages from captured state
Mature production error-monitoring (alert on spikes, fingerprints)Use Sentry/DatadogNo — pair with a dedicated APM
Deep release-orchestration / Jira admin (gates, environments, approvals)Native in Jira/release toolingNo — connect to existing tooling

BugMojo is honest about its edges. It does not replace a production error monitor like Sentry for spike detection and fingerprinting, and it does not run your release-gate workflow the way Jira or a dedicated deployment tool does. Where it wins is the moment a blocker is found: the bug travels with a full reproduction instead of a sentence.

Change failure rate: the scoreboard for your gate

A checklist without a metric is a ritual. The metric is DORA's change failure rate: the percentage of deployments that cause a failure in production requiring immediate intervention — a hotfix, rollback, or patch. If your gate is catching the right things, this number trends down. If blockers keep slipping through, it climbs, and the climb tells you before the next incident does.

DORA now tracks stability with two metrics, not one. Change failure rate is paired with rework rate: the share of deployments that are unplanned and happen because of a production incident. The two together are a more reliable stability signal than change failure rate alone, and the broader framework has expanded to five delivery metrics. Review both after each release cycle, not just when something breaks.

Why AI tightens the gate instead of loosening it

It is tempting to assume AI assistants make releases safer by writing more tests and catching more bugs. The data says the opposite happens by default. In the 2024 DORA report, a 25% increase in AI adoption was associated with an estimated 1.5% decrease in delivery throughput and a 7.2% decrease in delivery stability. More generated code and larger change batches, with the same-sized feedback loops, push change failure rate up rather than down.

2024 DORA: estimated impact of a 25% increase in AI adoption
Delivery stability decrease
7.2
Delivery throughput decrease
1.5

The 2025 DORA report frames this cleanly: AI's primary role is as an amplifier, magnifying an organization's existing strengths and weaknesses. A strong release gate gets stronger leverage; a weak one degrades faster because volume scales quicker than your ability to catch blockers. The fundamentals that hold the line are unglamorous and well-established: small batches and robust testing. The checklist and the blocker discipline are how you keep those fundamentals enforced when the volume goes up.

The substrate this all sits on

CISQ put the cost of poor software quality in the US at $2.41 trillion, including roughly $1.52 trillion of accumulated technical debt. That brittle base is where release-blocking regressions keep emerging from. A go/no-go gate does not pay the debt down, but it stops you from shipping fresh interest on it every Friday.

Capture each blocker with a reproduction

Here is the failure mode that wastes the go/no-go meeting: a ticket that says "checkout broken" with no steps, no environment, and no state. The next hour is spent proving the bug is real instead of deciding whether it ships. A blocker only blocks effectively if the person who has to fix it can reproduce it on the first try.

Attach a concrete reproduction to every blocker: the exact steps, the build or commit it appeared on, and the runtime state — console errors, the failing network response, and a session replay of the path that broke. When the repro travels with the bug, triage becomes a decision rather than an investigation. With BugMojo, the browser extension captures the rrweb session replay, console logs, network requests, and a screenshot in one click, and the MCP server lets an AI agent (Claude Code, Cursor) read that captured state and weigh in on go/no-go from evidence instead of a one-line summary.

release-blocker.yamlyaml
# A blocker that is actually fixable in the release window
id: BLK-412
title: Checkout fails on coupon apply (returning users only)
classification: blocker          # critical path + no safe workaround
build: 2026.6.5-rc3
commit: a1f9c20
repro:
  steps:
    - Log in as a returning user with a saved cart
    - Apply coupon SPRING20 at checkout
    - Click "Place order"
  expected: Order confirmed, 20% applied
  actual: 500 error, order not placed
state:
  console: "TypeError: cannot read 'total' of undefined (cart.js:88)"
  network: "POST /api/checkout -> 500"
  replay: "rrweb session attached (path that failed)"
go_no_go:
  decision: no-go-until-fixed
  owner: payments-team
  reason: "Critical path, affects all returning users with coupons"

Two cross-references make this checklist sturdier. Pair the smoke-pass step with a deeper manual QA testing checklist so critical paths are exercised the same way every release. And when a previously-working feature breaks, classify it precisely — a software regression is its own category and almost always a blocker, because something that used to work no longer does.

Key takeaway

A go/no-go gate is only as good as its three parts: objective pass/fail conditions, a blocker definition written before release day, and one accountable decision-maker. Measure it with DORA's change failure rate and rework rate. Make every blocker carry a reproduction, so the meeting spends its time on severity — not on proving the bug exists.

Capture release blockers with a full reproduction
Try BugMojo

Frequently asked questions

Frequently asked questions

Sources

  1. DORA — Software delivery performance metrics (Four Keys): change failure rate defined as the ratio of deployments requiring immediate intervention; framework now has five metrics including rework rate — DORA (DevOps Research and Assessment / Google Cloud) (2025)
  2. Using the Four Keys to measure your DevOps performance — change failure rate = the percentage of deployments causing a failure in production — Google Cloud (2024)
  3. Announcing the 2024 DORA report — a 25% increase in AI adoption associated with an estimated 1.5% decrease in delivery throughput and a 7.2% decrease in delivery stability — Google Cloud / DORA (2024-10)
  4. DORA 2025 State of DevOps Report — AI's primary role is as an amplifier, magnifying an organization's existing strengths and weaknesses — DORA (DevOps Research and Assessment) (2025)
  5. Google SRE Book — Release Engineering: policy enforcement and gating changes behind code review and approvals — Google (Site Reliability Engineering) (2024)
  6. The Cost of Poor Software Quality in the US: A 2022 Report — $2.41T total, ~$1.52T accumulated technical debt — CISQ (Consortium for Information & Software Quality) (2022-12)
Share:
Manvi
Manvi· QA Tester

Manvi is a Quality Assurance Tester with three years of experience. For her, quality is not just about finding bugs — it is about ensuring the best possible experience for every user.

On this page

  • What is a release readiness checklist?
  • The go/no-go checklist
  • Blocker versus non-blocker: the decision that does the work
  • Change failure rate: the scoreboard for your gate
  • Why AI tightens the gate instead of loosening it
  • Capture each blocker with a reproduction

Get bug-tracking insights, weekly.

Engineering deep-dives, QA playbooks, and honest tool comparisons. No spam — unsubscribe in one click.