Effective User Stories - 3C's and INVEST Guide

User Stories are the de-facto standard of capturing feature wishes in agile teams. User stories are often written from the perspective of an end-user or user of a system. In other words, a user story describes the type of user, what they want, and why. A user story helps to create a simplified description of a requirement. Depending on the project, user stories may be written by various stakeholders including clients, users, managers, or development team members.

User Story Template: Role-Action-Benefit

User stories only capture the essential elements of a requirement. in the format “As a <who> I want <what> so that <benefit>”:

user story role action

Role – The user should be an actual human who interacts with the system.

  • Be as specific as possible
  • The development team is NOT a user

Action – The behavior of the system should be written as an action.

  • Usually unique for each User Story
  • The “system” is implied and does not get written in the story
  • Active voice, not passive voice (“I can be notified”)

Benefits – The benefit should be a real-world result that is non-functional or external to the system.

  • Many stories may share the same benefit statement.
  • The benefit may be for other users or customers, not just for the user in the story.


User stories are written in everyday language and describe a specific goal (what) from the perspective of an individual (who) along with the reason (why) he/she wants it.

User Story Examples

  • As <a recruiter> I can <post new jobs> so that <applicants can find those jobs via search>
  • As <a job seeker> I can <limit who sees my resume> so that <I have privacy>


The 3 C’s (Card, Conversation, Confirmation) of User Stories

Card – a written description of the story used for planning and estimation.
user story map

Conversation – Discuss your ideas with others. Let them ask lots of questions. Work together to come up with ideal solutions. The goal is to build a shared understanding.
user story conversation

Confirmation – Work towards agreement on what to build. Record that agreement as a set of confirmation tests.
user story confirmation

Examples of Bad User Stories

  • The software is written in C++
  • The database will have a connection pool

How to Write Good User Story with INVEST Guidelines

The acronym INVEST helps to remember a widely accepted set of criteria, or checklist, to assess the quality of a user story. If the story fails to meet one of these criteria, the team may want to reword it, or even consider a rewrite (which often translates into physically tearing up the old story card and writing a new one).
invest guidelines

Independent – Each User Story should represent a distinct and independent set of business values such that, were it released on its own, it would deliver incremental value over the previous state.

Negotiable – While the end-goal may be clearly described, the methods by which that goal is achieved should be negotiable – between the Product Owner and the Development Team, the Product Owner and the Customer, or any other involved stakeholders – so as to prevent unrealistic constraints on the feature or functionality.

Valuable – The business value of any User Story should be readily recognizable by reading the story, and each story should represent some sort of value to a specific user type.

Estimable – We must have enough information that we can properly size a story so that we may properly plan and commit to our work. (But no more!)

Small – User Stories should be small enough that they are able to be completed within a sprint.

Testable – All members of the team need a clear and precise way to verify whether or not a User Story has been completed.

Note That:

INVEST are guidelines for quickly evaluating the quality of user stories originated in an article by Bill Wake, which also repurposed the acronym SMART (Specific, Measurable, Achievable, Relevant, Time-boxed) for tasks resulting from the technical decomposition of user stories.

Ready for Agile?

Want an agile tool that can manage your scrum projects well? Visual Paradigm features a user story mapping tool, Affinity Estimation tool, sprint management tool, and task management.

Try it Free

Turn every software project into a successful one.

We use cookies to offer you a better experience. By visiting our website, you agree to the use of cookies as described in our Cookie Policy.