The Card is Not the User Story
The Card is Not the User Story
You may not be playing your cards right. Check out this article that explains how the user story many be being widely misinterpreted.
Join the DZone community and get the full member experience.Join For Free
[Latest Guide] Ship faster because you know more, not because you are rushing. Get actionable insights from 7 million commits and 85,000+ software engineers, to increase your team's velocity. Brought to you in partnership with GitPrime.
In the 1995 movie The Net, there is a scene depicting what, to the untrained eye, is an IP address. It has four numbers separated by dots, but despite its format, the content cannot be an IPv4 address (the largest permitted number in any of the four positions is 255).
A real IP address looks similar to the untrained eye
Somebody involved in the movie must have seen an IP address and thought that any four numbers with dots in between would look like an IP address. To the untrained eye, it probably does.
We see a similar phenomenon with User Stories. Due to the ubiquity of the Connextra User Story Template, we see various ideas — from features to tasks — presented using the template. As if anything you frame with "As a...I want...So that..." is a User Story. For example:
The wording here strongly suggests that, despite appearances, these are unlikely to represent a User Story. Subsequent conversations usually confirm this to be the case.
Do we believe that the user wants to tell the story about how they access the system or how the developer will make that secure? They're much more likely to be concerned with keeping their details safe, or stopping others from impersonating them. A User Story isn't about a feature of the system. It isn't about a task we'll do to implement that feature. It is about the user's role, what they'll be able to do, and their motivation (not ours).
The Card Is Just Part of The Story
User Stories (the practice) helps a team explore the problem space and establish a shared understanding of the capabilities a user might need in that space. This is decomposed in a way where each User Story (unit of understanding) is mostly independent of the others so they can be played in order of relative value.
Each User Story is the card, the conversation, and the confirmation. These 3Cs, as a collaborative exercise, establish a shared understanding of a particular user-need and how we'll know when that need is met.
However, a considerable amount of literature and use of the tooling focuses almost exclusively on the card, and predominantly on a specific template for writing the card — The Connextra Template:
This is often altered, or worse, reduced to "As a...I want...So that..." (also removing "to" from "I want to"). This only facilitates it's misuse and enhances its ability to conceal that what you are discussing is not a User Story and more likely inter-dependent features or tasks.
Like the IP address example, it's possible for a beginner to produce output using the template that looks reasonable to other beginners, but has obvious flaws to someone who understands the practice.
Ceci N'est Pas Une User Story
The card is the most tangible of the 3Cs — the conversation is ephemeral, and the confirmation may be captured much later than writing the card. However, it is probably because the card is a tangible artifact that many think of the card as the User Story. This can be evident in language like "writing User Stories" and "did you read the User Story in [some electronic 'Agile' tool we're using]".
It's common to see features, functionality, and tasks coerced into "As a...I want...So that..." but without the conversation that finds how this relates to the user and the confirmation — example scenarios that illustrate the scope of the User Story — these are unlikely to meet the intent of a User Story.
The output of the practice is not the card, it is the shared understanding. The card serves as a reminder to somebody able to tell that story — to explore it and evolve it as a team. The card captures only the essence of our understanding.
"What you record during conversations works like a vacation photo... looking at it helps you remember details that aren't in the photo." – Jeff Patton, Story Mapping
In Magritte's famous " The Treachery of Images ", the caption reads, "Ceci n'est pas une pipe," or, "This is not a pipe." The painting is a representation of a pipe, it is not an actual pipe — it cannot be filled and smoked. In the same way, a card is a representation of a User Story, it is not the User Story itself — the understanding cannot come from reading the card alone.
A Card Is Not Forever
Both the conversation and the card represent the best that we know of at this point. Just because the card exists as an artifact, this does not make it permanent. It's just as transitory as the conversation — we may change our understanding later.
This is one of the reasons why low-effort, low-fidelity capture on sticky notes or index cards is preferable to adding them to a documentation tool — it feels easier to discard and revisit something that took only seconds of effort to produce.
The Template Has Value
The Connextra template does provide helpful guidance. There are three things that the original template encourages you to consider: "Who is this for?", "What will they be able to do?", "Why is that important to them?"
It presents the card's content in a consistent way, making for easier reading especially when looking at several at once. The same information, expressed in the same way, in the same place, makes it easier to compare two cards when considering priorities.
If your team experiences these benefits then the template may be working for you. But if conversations don't include what the user would like to achieve (or worse, there is no conversation), then the template may be working against you at the same time — by making it superficially appear that you're using the practice of User Stories. In reality, you may actually be working with slices of what would otherwise be a functional specification or just a task list.
Beyond the Template
The card is only one part of the User Story, it just happens to be the most tangible part for most people. The card is a token to remind us of the conversation we want to have or just had. It doesn't matter what format you use to capture a User Story's essence on the card.
The Connextra Template can be useful in guiding a conversation and makes for easy reading. However, if this conceals that what you are discussing isn't a User Story it may do your team more harm than good. Just because something looks like the template doesn't make it a story, and equally, a story might not look like the template.
"Just because something looks like the template doesn't make it a story, and equally, a story might not look like the template."
It is the understanding that comes from all 3Cs that matters most, not the format of your card. So, if you find the template getting in the way of the conversation, taking the discussion more towards how you write the card than the user's role, what they'll be able to do and their motivation — consider ditching the template. Try a simple checklist instead — who is this for, what will they be able to do and what's their motivation? Then, focus more on telling and exploring your user's story.
Published at DZone with permission of Andy Palmer , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.