Get new posts by email:
Powered by follow.it

How to Write User Stories with Acceptance Criteria (INVEST Framework)

Scrum board displaying user story cards organized into To Do, Doing, and Done columns

Agile – What is a User Story?

How to write user stories with acceptance criteria : Software developers and product teams typically use User Stories to plan upcoming development tasks, as opposed to creating lengthy and specific specification documents. However, many teams unfortunately continue to write poorly worded stories, often with descriptions no better than guessing at what’s needed. 

The standard user story format follows the template: “As a [User Role], I want [Action/Feature], So that [Benefit/Value].”

Introduction :

The Software Development Life Cycle (SDLC) is typically split among planning and delivery cycles with user needs, design concepts, development work, testing, and deployment with subsequent iterations back on development. Every project follows an Agile framework now for that it helps increase productivity while reducing production and other costly expenditures. This is a list of how teams achieve this.

You are not expecting complex documents defining each specific aspect of Software and to avoid any confusion, there is User Stories.

Scrum board displaying user story cards organized into To Do, Doing, and Done columns
Managing user stories and acceptance criteria on an Agile Scrum board.

What is a User Story?

A User Story is small, informal explanation in our natural and human languages of a Software Feature, from the perspective of the user or customer. The reason is that User story describes HOW the work will be delivered and what BUSINESS VALUE will be achieved by fulfilling the feature specification.

What is Agile Development?

In Agile development, it is the normal case to switch many detailed and Formal specification document for User stories, the Agile teams use of conversations and User stories communicate to describe work.

Unfortunately,many of the stories written aren’t user-stories in any sense and they may be purely descriptive technical tasks or vague user story writing instructions that a developer basically cannot help but guessing about. This article will explain what a User Story in Agile is. It defines not only the stories themselves, but how to make great acceptance criteria as part of that, with steps of how to craft those via Given/When/Then, so the team members will be able to reliably deliver quality!

Anatomy of a User Story

As Ron Jeffries, founder and principal of the Agile Training and Consulting, Ron identifies three core pieces as crucial, forming the 3 C’s of user stories:

Card : A short, informal description, typically hand-written on an index card or posted as a digital ticket. This captures who wants, what action is performed, and Why. “As a [Type of User] I want [an Action] so that [a Benefit or Value].”

Conventionally, this follows the Card, Conversation, Confirmation sequence established by the US Agile community as a useful guideline and reminder of how stories function best.

Conversation : In essence, this refers to a face-to-face or other direct discussion that occurs between parties with the intent of clarify expectations or resolving ambiguity regarding the content, intent, and feasibility of a particular story. This discussion usually happens during Backlog Refinement Meetings where discussion and refinement work takes place.

Confirmation : These are precisely detailed description that can be used in the process of testing, and that will determine, without any ambiguity, the acceptance criteria for the given stories and that the development work will end.

Writing Acceptance Criteria – When You Need GIVEN When?

Acceptance criteria clearly define the specific results or conditions the software must meet for a given story to be considered ‘done’.

The best tool for making well structured and written acceptance criteria are Gherkin Syntax based on behavior-Driven Development, which uses the Given-When /then structure; What do you need to write well functioning acceptance criteria and acceptance tests? How you will make acceptance criteria that you use with the BDD framework! How do you use this, well for every user story you may do Given win now!

3 Common Types of User Stories (and when to use them)

Every User Story in Agile is divided by categories: Technical, Functional and UX. Which they generally will try to cover different type of Software Feature. GivenWhenThen.

Real-World Example: Password Reset Feature

Given the user has visited website, and is lost and cant find what,they should do to get their username.

When I go to lost login/forgot password page and enter My Email address/Username.

Then The website will then take me to password reset pageand email a reset link for My Account. The Given When Then is an organized format for how you describe how the system behaves in response to an external Stimulus.

Griven-What do you have BEFORE?

This scenario involves a system where you have a set, of existing entities already.

When What happens WHEN?

External stimulus is imposed; in this sense you go to the Lost Password page. The external force is imposed on the you going to lost and password and email and website. This external force causes, action upon your website, and thereby causes your website to act.

THEN What results in when the system reactsto an external stimulus?

The results are given in the ‘Then’clause for.

A Use case of User Story example Password Reset Story:

As a registered account user. I want my password reset via email so that I can regain access if I Forgot it…

Acceptance Criteria 1: Successful Password Reset Request

  • GIVEN the user is on the “Forgot Password” page,

  • WHEN they enter a valid registered email address and click “Send Reset Link,”

  • THEN the system sends a reset email within 30 seconds and displays a confirmation message: “Password reset link sent to your email.”

Acceptance Criteria 2: Unregistered Email Error

  • GIVEN the user is on the “Forgot Password” page,

  • WHEN they enter an email address not present in the database and click “Send Reset Link,”

  • THEN the system displays an error message: “No account associated with this email address.”

Evaluating Stories: The INVEST Framework

To ensure your user stories are ready for sprint planning, evaluate them against the INVEST criteria:

CriterionMeaningWhat to Avoid
I – IndependentStories should be self-contained and deliverable without relying tightly on other active stories.Dependencies that block sprint progress.
N – NegotiableDetails are open for discussion between developers and the business; it is not an inflexible contract.Treating the story as a rigid technical requirement.
V – ValuableThe story must deliver tangible value to the end user or business organization.Technical tasks disguised as user stories (e.g., “Create Database Table”).
E – EstimableThe scope must be clear enough for developers to estimate the effort using Story Points.Vague requirements that cannot be sized.
S – SmallThe story should be small enough to be designed, coded, and tested within a single sprint (typically 1-2 weeks).Massive features that span multiple sprints (these are Epics).
T – TestableClear acceptance criteria must exist so QA can write unambiguous Pass/Fail test cases.Subjective terms like “The page should load fast” without exact metrics.

Common User Story Mistakes to Avoid

  1. Writing from the Developer’s Perspective:

    • Incorrect: “As a developer, I want to integrate the Stripe API so we can process payments.”

    • Correct: “As a shopper, I want to pay using my credit card so that I can complete my purchase securely.”

  2. Omitting the “So That” Clause:

    Dropping the value statement prevents developers from understanding the business purpose, which limits creative problem-solving.

  3. Vague Acceptance Criteria:

    Avoid soft statements like “System should be user-friendly.” Replace them with measurable rules: “The multi-step form must auto-save after each completed section.”

Frequently Asked Questions FAQs

What is the difference between a User Story and Requirement?

A traditional requirement outlines what the system feature requires it and goes into great detail. The User story provides the user-facing user motivation for the need. A user story is an invitation to a conversation about the correct way of implementation.

Who writes a user story on scrum When Scrum is at aplay, who are writing the User Story?

The Product Owner is in charge of the backlog and prioritization;However, on scrum the Business analyst helps facilitate writing the user stories in coordination with the development team; Who uses a Scrum Epic User stories have been subdivided by an epic which is a larger work effort containing multiple user stories for a large functionality such as, “On boarding the customer”.

How do Epics and User Stories differ?

An Epic is a large body of work that encompasses a major capability (e.g., “Customer Onboarding”). It is broken down into multiple smaller User Stories that can be completed within individual sprints.

Related Articles 

Agile Methodology for Business Analysts

How to Become a Business Analyst

Business Analysis Case Studies

 

FAQ’S

1. What is a user story in Agile?

A user story is a simple description of a feature written from the user’s perspective, usually in the format:
“As a [user], I want [feature], so that [benefit].”

2. What is the format of a user story?

The standard format is:
As a [user], I want [feature], so that [benefit].

3. What is INVEST in user stories?

INVEST is a guideline to write good user stories:
Independent, Negotiable, Valuable, Estimable, Small, and Testable.

4. What are acceptance criteria in user stories?

Acceptance criteria define the conditions that must be met for a user story to be considered complete.

5. Can you give a simple user story example?

Yes.
“As a customer, I want to add products to cart so that I can purchase later.”

🛠️ Free Business Analyst Templates Library

Don’t start your documentation from scratch. Access our complete repository of real-world Agile & Scrum templates, including BRDs, FRDs, User Story blueprints, and RTM matrices.

Download Free Templates Now →
Pallavi

Author: Pallavi

Business Analyst & Technical Content Writer specializing in Agile, Scrum, Requirements, User Stories, BRD/FRD, SEO blogs, and technical documentation.

Leave a Reply

Your email address will not be published. Required fields are marked *