Technology Tips

How to Write Good User Stories in Agile Software Development

User stories are important as they make a huge difference to your website or application. Great user stories bring more impact on your business. If you do not know what exactly is a user story, this is for you. A user story is a high-level definition from an end-users point of view containing only the required information. Generally, user stories are short, simple and understandable to whoever reads it. It is easy to write user stories but it requires a great effort to write stories that really benefit you. User stories are written from the perspective of end-users. These can be written by developers of your team stating or requesting how they want something to look or what they need.

People often misunderstand user stories to use cases as they both explain the features of products, people overlook the differences, a use case depicts the features of completed end-product while a user story explains about a single feature every time. You can explore much about use cases and find out the differences at Softeco – user stories vs use cases. Check it out.

User stories are the smallest components of work in an agile framework such as Kanban and Scrum. Writing a user story is not as simple as it sounds, a lot has to be done to create a good user story.

Check out the below 5 tips for writing good user stories in Agile software development.

Describe User

The team of agile software development identifies what exactly the business wants to show the user story in an easy form. The format goes like

As a <type of user>

I want <features>

So that <reason>

This describes the user, what he wants, why he chose the particular product. This is written in the agile form where you can work along with the team suggesting changes for it until it impresses you.

The simplest sample seems like this

As a manager

I want to create reports

So that I can track my employee’s work

This says who you are, what do you need, and why do you need it.

The format meets all the needed requirements when the sentence is clear, short, and simple, is from the perspective of the user, the reason benefits the story, meets with acceptance criteria.


An ideal user story should be –

Independent – of other user stories

Negotiable – so that the client and the developers will have a good rapport

Valuable – every user story should contribute value to the product

Estimable – every single user story must be expressed in a reasonable way

Small – Ideally every user story should be small so that it fits into one sprint, nothing but an iteration. A large block of data or commands are called epics, break these into smaller ones to fit each of them into different sprints.

Testable – every user story must be framed so that it can be easily validated.

So keep your stories independent, negotiable, valuable, estimable, small and testable (most users call this strategy as INVEST)


  • The 3C formula is the best strategy to create a good user story
  • Card – It can be a physical card giving an abstraction to avoid complexity when making a product.
  • Conversation – It is mostly in a verbal form that can take place at any time during the project. Conversation can happen between various people including customers, users, testers or developers. A conversation can also be documentation.
  • Confirmation – The final outcome of the conversation in a more formal way to make people understand clearly.

Acceptance criteria

Though you take careful measures to write a clear user story, there are chances that it might not convey what exactly you want to convey and change the final outcome of the features. So here comes the importance of acceptance criteria.

Acceptance criteria are either written by a development team or a client before the project is started. It can be in the form of rule-oriented or scenario-oriented.

Example: Rule

As a new user

I want to register into a website

So that I can create my profile

Scenario: A new user registers to create a profile

“Given I am a new user

and I am on the register page

I get a page to fill in user name and password

I click on the register

Then I create my profile on the website”

Thus acceptance criterion is a major factor to bring out a good user story to finish the product. It is recommended to involve the entire development team when writing the acceptance as they know better about the feature requirements and technology slack.

Use paper cards

Paper cards are easy to use and moreover, they are cheap. It is easy to circulate the paper cards to the whole team and make them put their ideas on it. Paper cards are the raw stuff if you have already stored the user story points electronically. So one can use these paper cards in order to collect the inputs to continue further in the development stage.

Make user stories visible

Make the stories, your paper cards visible. Stick them somewhere on the wall where people can easily access. Doing this helps in boosting team collaboration, and builds transparency.

Not just a user story

Do not completely rely on user stories because building a good user experience is more important than user stories. Agreed that user stories describe how a perfect feature should look like but it cannot describe the journey of the user or the visual outcome. There are other techniques like story maps, workflow diagrams, sketches, storyboards, etc. to describe the product more than user stories do.

In a nutshell

It is important to write user stories for developing a software product that matches the exact requirements of the client. Hence one needs to write great user stories so that your team or any member of the team does not misunderstand the requirements stated by the clients. Hope the above tips about how to write good user stories help you write the elements in a clear and understandable manner.