Skip to content

BA Playbook

The Story Is Done. Why Can't We Release It?

Jira says Done. Production says not yet. Here's the gap between the two.

Surya · August 14, 2026 · 4 min read · 10 practices

Release Readiness

For Business Analysts who keep hearing "not yet" after Jira turns green, Product Owners deciding what "done" actually means for a story, Delivery leads tracing why a finished feature still can't ship and QA and developers who want release blockers visible before go-live, not during it.

The developer has finished coding. QA has tested it. Acceptance criteria are green. Jira says DONE. So you ask: "Great, can we release it?" And someone replies: "Not yet." Why? Because story completion and release readiness are not the same thing. A feature can work perfectly and still be unsafe or impossible to release. Imagine an insurance platform introducing a new claim-status feature: Submitted → Under Review → Approved → Rejected. Development is complete, QA passes every acceptance criterion, the demo looks perfect — but release is blocked. Production reference data isn't ready. A downstream API is still on the older version. Operations hasn't received the new process. Monitoring doesn't cover the integration. A security review is still open. The feature works. The release path doesn't. "Done" means something different to everyone in the room: code complete to the developer, testing passed to QA, acceptance criteria satisfied to the Product Owner, safe to deploy to Release Management, I can use it to the customer. So when someone says "the story is done," ask done for whom — and ready for what? Then trace the release path through eight gates.

Infographic summarizing the release readiness framework: an example insurance claim-status feature blocked despite green acceptance criteria, five reasons release gets blocked, the eight-gate Acceptance, Testing, Dependencies, Non-functional, Data & Config, Sign-off, Deployment, Monitoring checklist, six common blocker categories (Process, Technical, Data, People, External, Risk), a nine-point closing checklist, and the takeaway that done for the team is not the same as ready for the customer.
The whole framework on one page — from a green Jira ticket to a traced, unblocked release.
01

Gate 01

ACCEPTANCE — Did we build the right thing?

A green checkbox in Jira isn't proof. It's a claim that still needs checking.

At a glance

  • Was the expected behaviour actually demonstrated?
  • Are the important edge cases covered?
  • Were business rules interpreted correctly?
  • Has the right business owner validated the result?

Why it helps

If people still disagree about expected behaviour, the story isn't ready — no matter what the ticket status says.

02

Gate 02

TESTING — Have we proved enough?

Functional testing passing doesn't mean enough testing has happened.

Not every story needs everything on this list. Ask what evidence is appropriate for the risk of this change — a button-text change and a payment-engine change shouldn't face identical gates.

At a glance

  • Integration testing
  • Regression testing
  • UAT
  • Performance testing
  • Security testing
  • Accessibility testing
  • Resilience testing

Why it helps

Matching the testing depth to the actual risk is what keeps this gate fast for small changes and thorough for the ones that can't afford to be wrong.

03

Gate 03

DEPENDENCIES — Is everything around the story ready?

Your ticket can be 100% complete while the capability it delivers is only 80% ready.

At a glance

  • Another story
  • Another team
  • An API
  • A vendor
  • Infrastructure
  • Reference data
  • A database change
  • An approval
  • A feature flag

Why it helps

Ask what has to be true outside this story for the customer journey to actually work — that question surfaces the dependency before it becomes a release-day surprise.

04

Gate 04

NON-FUNCTIONAL — Can it survive Production?

A feature can work perfectly for one tester and still fail in the real world.

Compare

Functional testing asks

"Does it work?"

Release readiness asks

"Can we operate it safely?"

At a glance

  • Performance — what happens under real load?
  • Security — are access and vulnerabilities addressed?
  • Availability — what happens when a dependency fails?
  • Auditability — can important actions be traced?
  • Accessibility — can intended users use it?
  • Recovery — can the team recover safely?

Why it helps

These are two different questions with two different answers — a story can pass the first and still fail the second.

05

Gate 05

DATA & CONFIG — Is Production prepared?

Sometimes the code is fine. The environment isn't.

What actually broke

The application expects PENDING_REVIEW. UAT has it. Production doesn't.
Testing passes. Production still fails — and the code was never the problem. Production readiness was.

At a glance

  • Configuration
  • Feature flags
  • Reference data
  • Permissions
  • Certificates / secrets
  • Database changes
  • Migration scripts
  • Production data assumptions

Why it helps

Checking this gate before go-live catches the exact class of failure that no amount of extra functional testing would ever have caught.

06

Gate 06

SIGN-OFF — Have the right people approved?

Release day is the wrong time to discover an approval was never asked for.

At a glance

  • Product
  • Business
  • Operations
  • Risk
  • Compliance
  • Security
  • Legal
  • Architecture
  • Release Management

Why it helps

The BA does not need to own every approval. But the BA should know which ones affect the business outcome — before silence at the release meeting is the first sign one is missing.

07

Gate 07

DEPLOYMENT — Can we actually release it?

A good feature with a bad deployment plan is still a risky release.

At a glance

  • What is the deployment sequence?
  • Are scripts ready?
  • Which dependency goes first?
  • Is downtime required?
  • Is a feature flag involved?
  • Can we roll back?
  • Is migration reversible?
  • Who makes the go/no-go decision?

Why it helps

Every one of these questions is cheap to answer before release and expensive to answer during an incident.

08

Gate 08

MONITORING — What happens after go-live?

Release isn't the end of delivery. It's the beginning of real usage.

The scenario to avoid

The feature goes live at 10 PM. At 10:15 PM it starts failing.
Who knows? — is not a question you want answered for the first time in production.

At a glance

  • What are we monitoring?
  • What triggers an alert?
  • Who receives it?
  • What does Support need to know?
  • Is there a runbook?
  • Who owns issues after go-live?

Why it helps

Answering these before release turns a 10:15 PM surprise into a 10:15 PM alert with an owner already attached.

09

Gate 09

Trace the path, don't just report the status

"The story is stuck" creates confusion. A traced status creates action.

Compare

Vague framing

"The story is stuck."

Traced framing

"The feature is functionally complete. Release is blocked because the Production certificate hasn't been provisioned."

At a glance

  • Acceptance — Ready
  • Testing — Ready
  • Dependencies — Ready
  • Security — Ready
  • Production configuration — Blocked: certificate missing

Why it helps

A bank's beneficiary-validation feature hit exactly this: Jira said Done, functional testing passed, but release was blocked. Tracing the eight gates found the one unmet condition in fifteen minutes instead of a week of "why isn't this live yet?"

10

Gate 10

Name the blocker type, not the person to blame

Don't ask whose fault this is. Ask what condition for safe release is still unmet.

At a glance

  • Process — missing approval, change gate, documentation or policy requirement
  • Technical — environment mismatch, feature flag, defect or dependency
  • Data — reference data, migration or data-quality concern
  • People — approver unavailable or ownership unclear
  • External — vendor or third-party dependency
  • Risk — security concern, critical defect or insufficient testing

Why it helps

Most Done-but-not-released stories fall into one of these six buckets — naming the bucket points straight at who needs to act, instead of starting a blame conversation that doesn't move the release forward.

Pro tip — During refinement, ask: "What could stop this from reaching Production even if we build it correctly?" That question exposes dependencies, approvals, data changes, security needs and operational requirements while they're still cheap to fix.

Done for the team

is not the same as ready for the customer.

Jira is a workflow tool. It is not Production. A green ticket can tell you the team's work on this story is complete. It cannot always tell you customers can safely use this tomorrow. So when someone asks "the story is Done, why can't we release it?" — don't stare at the status. Trace the release path. Find the unmet condition. Remove the blocker early. A good BA doesn't just help a story reach Done. A good BA helps the value reach Production safely.

Take this with you

Release Readiness Checklist

RELEASE READINESS CHECKLIST

[ ] Acceptance criteria are validated.
[ ] Required testing is complete.
[ ] Critical defects are resolved or accepted.
[ ] Dependencies are ready.
[ ] Required non-functional checks are complete.
[ ] Production data/configuration is ready.
[ ] Required approvals are obtained.
[ ] Deployment steps are understood.
[ ] Rollback/recovery is understood.
[ ] Monitoring and alerts are ready.
[ ] Operations/Support understand the change.
[ ] Post-go-live ownership is clear.

Release Readiness Checklist — PDF

The same eight gates on one printable page, ready to run in refinement or before go-live.

PDF · 1 page

Download the free PDF

Get new playbooks first.