Skip to content

BA Playbook 10

Business Analyst User Story Template

Stop staring at the blank Jira ticket. A reusable toolbox for turning a vague ask into a user story your team can actually build, test and challenge.

Surya · August 8, 2026 · 7 min read · 11 practices

Requirements

For Freshers and aspiring Business Analysts writing their first template-driven story, Business Analysts who want a reusable structure instead of a blank Jira box, QAs and developers who need acceptance criteria they can actually test against and Anyone trying to understand how real requirements work inside technology teams.

You open Jira.

Click Create.

And suddenly this tiny empty box feels like an exam.

Summary · Description · Acceptance Criteria

What exactly are you supposed to put in there?

A user story doesn’t need to be long. It needs to make the next conversation easier.

Here’s a template you can actually use.

You won’t need every section in every story. Think of this as a toolbox, not a form.

Start with the simple version

The skeleton

As a [user / role]

I want [capability / action]

So that [business outcome / reason]

India example — UPI Payments

As a customer

I want to see why my UPI payment failed

So that I know whether to retry, use another account, or contact my bank.

Capital Markets example — Trade Surveillance

As a Trade Surveillance Analyst

I want alerts to show the customer’s latest risk classification

So that I can prioritise high-risk cases.

Both are valid. But neither is ready to build yet.

First, look at a bad story

Bad story

As a user, I want risk information, so that I can use it.

It follows the format. But what does it actually tell us? Which user? What information? Where should it appear? How fresh must it be? What happens if it is unavailable?

A story can look complete and still contain a lot of ambiguity.

Let’s fix that.

Understand
01

Context

Explain what happens today.

India — UPI

Customers may receive a generic message when a UPI payment fails and not understand what went wrong.

Capital Markets — Trade Surveillance

Analysts currently open another system to check customer risk classification while investigating an alert.

02

Problem

Explain why it matters.

India — UPI

Customers may retry unnecessarily or contact support because they don’t know what action to take.

Capital Markets — Trade Surveillance

Analysts spend extra time switching systems and may miss relevant risk information.

Context = what happens. Problem = why we care.

Define
03

Expected Behaviour

Describe what should happen after the change.

India — UPI

When a payment fails, show an understandable reason and, where appropriate, guidance on what to do next.

Capital Markets — Trade Surveillance

When an analyst opens an alert, show the latest available customer risk classification alongside the customer information.

Notice what we haven’t written: “Call API X using endpoint Y and populate column Z.” That may be part of the implementation. But first describe the behaviour.

Don’t confuse the solution with the requirement.

04

Acceptance Criteria

Now make the behaviour testable, using Given / When / Then.

India — Insufficient balance

Given the customer initiates a UPI payment

And the linked account has insufficient balance

When the transaction fails

Then the customer should see a clear reason.

India — Bank unavailable

Given the bank is temporarily unavailable

When the transaction cannot be completed

Then the customer should be informed

And advised to try again later.

Capital Markets — Risk available

Given customer risk information is available

When the analyst opens the alert

Then the latest risk classification should be displayed.

Capital Markets — Risk unavailable

Given customer risk information cannot be retrieved

When the analyst opens the alert

Then show “Risk information unavailable”

And do not present an older classification as current.

Now: QA knows what to test. Development knows what behaviour matters. Business can challenge the rule before code exists. That’s the point.

05

Business Rules

Some rules apply across several scenarios. Keep them visible.

India — UPI

  • BR-01: A failed payment must never appear successful.
  • BR-02: Customer messages should use understandable language, not internal error codes.

Capital Markets — Trade Surveillance

  • BR-01: Only the latest active risk classification should be shown.
  • BR-02: Expired classifications must not appear current.
  • BR-03: If no classification exists, make that clear.
De-risk
06

Data Requirements

If behaviour depends on data, make the data visible.

Data requirements for the Trade Surveillance risk classification example
DataSourceRequired?Notes
Customer IDSurveillance alertYesIdentifies customer
Risk classificationRisk systemYesLatest active value
Classification dateRisk systemYesDetermines freshness
Risk reasonRisk systemNoFuture scope

You don’t need a huge mapping document for every story. But ask:

What happens if the data is missing, stale, delayed, duplicated, or inconsistent?

That question often exposes important requirements.

07

Dependencies

Ask: what has to work before this story can work?

India — UPI

  • Payment platform returns a meaningful failure status.
  • Failure statuses are mapped to customer-friendly messages.
  • Mobile app supports the new responses.

Simple stories often get stuck here. Find dependencies early.

08

Assumptions

Write down what the team is currently treating as true.

Capital Markets — Trade Surveillance

  • One customer has one active risk classification.
  • The risk system owns the classification.
  • Surveillance users can view it.

Assumptions are dangerous when everyone has them but nobody writes them down.

An assumption is not a decision.

09

Out of Scope

Make the boundary visible.

India — UPI, out of scope

  • Payment routing changes
  • Bank-side processing changes
  • Refund handling
  • Card-payment failures

Clear scope prevents arguments later.

Preserve
10

Open Questions

Don’t hide unresolved questions in meeting notes. Put them on the story.

Capital Markets — Trade Surveillance

  • What happens if the risk service times out?
  • How old can the classification be before it becomes stale?
  • Should analysts see the classification timestamp?
  • Who owns the stale-data decision?

An open question is fine. A hidden open question isn’t.

11

Decision Log

When an important question gets answered, preserve it.

Example decision log entry for the UPI example
DecisionOwnerReason
Show a customer-friendly message instead of the raw payment errorPayments ProductCustomers should not need to understand internal banking codes

Three weeks later, someone will ask: “Why did we do it this way?” Now the answer isn’t trapped in someone’s memory.

Before You Move It to Ready

Readiness check

  • Do we know who needs this?
  • Do we understand why?
  • Is expected behaviour clear?
  • Can QA test it?
  • Are business rules visible?
  • Do we know the relevant systems and data?
  • Are dependencies and assumptions visible?
  • Is out-of-scope clear?
  • Are open questions visible?
  • Do we know who owns key decisions?

If several answers are no, the story probably isn’t ready. And that’s okay. The goal isn’t to make Jira look complete. The goal is to make sure the team understands what it is agreeing to build.

Take This With You

Don’t just read the playbook. Use it in your next refinement session.

BA User Story Template

A clean copy-paste version of the structure used in this playbook. Keep it beside Jira and use only the sections your story needs.

Markdown · Copy-paste ready

Download Template

User Story Readiness Checklist

A one-page checklist for backlog refinement, BA self-review, developer handover and QA readiness.

PDF · 1 page

Download Checklist

Completed Example Pack

See the template filled in using two realistic examples — UPI Payments and Trade Surveillance.

Markdown · 2 completed stories

Download Examples

A good user story isn't the requirement.

It's the container for the conversation that turns a requirement into something buildable.

Your job as a BA isn't to fill every field. It's to make ambiguity visible before it becomes code.

Take this with you

BA User Story Template

## User Story

**As a:**
[role]

**I want:**
[capability]

**So that:**
[business outcome]

## Context

[What happens today?]

## Problem

[Why does it matter?]

## Expected Behaviour

[What should happen?]

## Acceptance Criteria

### AC1

**Given** [condition]
**When** [event/action]
**Then** [expected behaviour]

## Business Rules

* BR-01:
* BR-02:

## Data Requirements

* Data:
* Source:
* Validation:
* Fallback behaviour:

## Dependencies

*

## Assumptions

*

## Out of Scope

*

## Open Questions

*

## Decisions

* Decision:
* Owner:
* Reason:

Get new playbooks first.