Mar 23rd, 2022

What is User Story – Learn How to Create Good User Stories.

Piyush Rahate
Piyush Rahate

A passionate Lean-Agile Coach with over 15 years of varied experience, I work with professionals, t... Read more

Almost all the Scrum teams I have worked with use “User Stories.” However, most of them are unaware of the origin of “User Story,” All of them think that user story is a “requirement.” In a sense, it could be correct, but that’s not what a User Story is.

What is a User Story?

In the simplest terms, a User Story is a way to express requirements. When a requirement/ functionality is described from the perspective of the user of the product or system or software, it is termed as a User Story.

A brief history and the origins of user stories

User Story or just Stories originated with Extreme Programming. In his book “Extreme Programming Explained” Kent Beck describes Stories as a primary practice used by the XP team. Within XP, the User Stories are written by the Customers as the functions or features that they want the system/software to do for them. It is often in the format of three sentences written by the Customer. The User Story always focuses on the needs and benefits of the user. Keeps the details like technology or implementation aspects out of it.

An Introduction to the World of User Stories

As stated above, a user story is a way to express any requirement from the user's perspective. And it could be as simple as a single sentence: “A student can register for the desired course.” Here, although, the details are not available. It simply says a student, a course, and register.

What should we do with it? And this leads to a discussion, a process of creating a common shared understanding about what this requirement is.

These conversations typically flesh out the details of the user story and often helps the developers and business to agree upon when we can say the user story is completed.  Ron Jeffries describes these three aspects of the User Stories as 3C’s. Card, Conversation, and Confirmation.

Card: In the good old days, user stories were written on a card (index/sticky notes). This did not have all the information describing the requirement but just enough to establish what the requirement is about. It is often used as a token to get started. This card then leads to the second C - Conversation.

Conversation: The business and developers now work together to establish clarity about the requirement through conversation. This happens multiple times till everyone has a common shared understanding about what the requirement is. Although this conversation is often verbal, notes are made, and criteria are established to determine when to call the user story complete. This established bar is the third C - Confirmation.

Confirmation: Despite all the conversation and documentation, there is always a possibility for uncertainties and assumptions. Confirmation refers to the final aspect which determines whether a user story is complete or not; whether the User Story does the intended functionality. This confirmation is also referred to as “Acceptance Criteria”. 

 

Join our Scrum Master training to master the art of creating user stories.

Embark on our comprehensive Scrum Master training program designed to equip you with the skills and knowledge needed to master the art of creating user stories. Learn effective techniques and best practices for eliciting, defining, and prioritizing user requirements.

Register Today

User Story Templates With Step-by-Step Guidance

In most teams that I have worked with, User Stories are not one-liners, as I expressed above. They have a very specific syntax as follows: As a role (who wants to do something) I want to do (the activity that needs to be accomplished) So that value (the goal that will be achieved) Example:  As a book lover I want to read book reviews So that I can decide to purchase a book This template was invented at Connextra, an early adopter of XP practices (source: User Stories Applied, Mike Cohn).

10 Tips for Writing Good User Stories

  • 1Bill Wake, another XP practitioner, developed the concept of INVEST for User Stories. INVEST is an acronym that stands for:
  • 2I => Independent: Avoid dependency on other user stories. Keeping user stories helps us to deliver value faster.
  • 3N => Negotiable: User Stories are not contracts that need to be always met. A User Story leads to conversation, which gives the flexibility to add details as needed. Focus on the idea and leave out the details for a later point in time.
  • 4V => Valuable: Each user story needs to be valuable for the customer end-user of the product.
  • 5E => Estimable: User Stories are often used for planning the work. Thus they need to be estimated. Putting an estimate helps the business to understand when the work can probably be completed.
  • 6S => Small: A User Story needs to be small, as small as can be completed within one sprint. The smaller the better; it reduces any complexity, uncertainty and also makes it easier to estimate.
  • 7T => Testable: Testing ensures the quality of work. When a User Story is testable, it implicitly determines that it is well understood, and with the tests, it can be easily verified whether the purpose was achieved.

Conclusion

Whenever any requirement is described from the perspective of the user of the requirement, it is termed as a User Story. A User Story follows 3C’s - Card, Conversation, and Confirmation. In addition, it is often helpful to have six attributes defined by the acronym INVEST - Independent, Negotiable, Valuable, Estimable, Small, and Testable, to be part of a user story.

Piyush Rahate

A passionate Lean-Agile Coach with over 15 years of varied experience, I work with professionals, teams and organizations helping them in their pursuit of agility. Being a Professional Scrum Trainer (Scrum.org), SPC (5.0, Scaled Agile), and ICAgile Authorized Instructor.

WhatsApp Us

Explore the Perfect
Course for You!
Give Our Course Finder Tool a Try.

Explore Today!

RELATED POST

Top 11 AI Tools for DevOps Teams in 2024
Mar 29th, 2024

Top 11 AI Tools for DevOps Teams in 2024

By Agilemania
Product Backlog Vs Sprint Backlog in Agile
Mar 27th, 2024

Product Backlog Vs Sprint Backlog in Agile

By Naveen Kumar Singh
What Is Static Testing? All you need to know.
Mar 27th, 2024

What Is Static Testing? All you need to know.

By Piyush Rahate
Agilemania Refer and Earn
Agilemania Whatsapp