Professional Documents
Culture Documents
User Stories
User Stories
A user story is a tool used to capture a description of a software feature from an end-user
perspective. The user story describes the type of user, what they want and why. A user story
helps to create a simplified description of a requirement.
As a user, I want to upload photos so that I can share photos with others.
As an administrator, I want to approve photos before they are posted so that I can make
sure they are appropriate.
There is a Native American proverb that says “It takes a thousand voices to tell a single
story” and that’s exactly how we write a user story. We take the voices of many (if not
thousands of) users, uncover their core need and turn it into a story.
Now, a user story is a brief description of the user and her core need.
Here’s an example.
“As a frequent movie goer, I want to have all the information about the upcoming premiers in
our local theaters in my smartphone, so that I don’t have to check their websites one by one.”
Notice that the story is told from a user’s perspective and in her own words. That’s an
important point, because user stories reflect user’s problem the way she sees it. Very often a
user story is included in a user persona profile as a quote. But personas are more general so
there might be multiple stories for a single user profile.
So to summarize, user stories should have three main characteristics:
– They are short, but descriptive. User stories do not capture every detail about the user, her
background, her ideas and motivations. Instead, they give an immediate understanding of what
we are trying to accomplish with our product.
– User stories define the user type. For instance in the sample user story mentioned above, we
can clearly identify the user as a “frequent movie goer”. Note that we do not dive deeper into
her personality, but just focus on the character traits relating to our product usage.
– User stories outline the main need or problem that our product should solve. In our example,
it is defined as “have all the information… in my smartphone”.
User stories are one of the primary development artifacts for Scrum and Extreme
Programming (XP) project teams. A user story is a very high-level definition of a requirement,
containing just enough information so that the developers can produce a reasonable estimate
of the effort to implement it. This article covers the following topics:
A good way to think about a user story is that it is a reminder to have a conversation with your
customer (in XP, project stakeholders are called customers), which is another way to say it's a
reminder to do some just-in-time analysis. In short, user stories are very slim and high-level
requirements artifacts.
As you can see in Figure 1 user stories are small, much smaller than other usage requirement
artifacts such as use cases or usage scenarios. It's important to recognize that each of the
statements inFigure 1 represents a single user story.
Students can
purchase monthly
parking passes
online.
Parking passes can
be paid via credit
cards.
Parking passes can
be paid via PayPal.
Professors can input
student marks.
Students can obtain
their current
seminar schedule.
Students can order
official transcripts.
Students can only
enroll in seminars
for which they have
prerequisites.
Transcripts will be
available online via
a standard browser.
For example, the user story of Figure 2 could be rewritten as "As a Student I
want to purchase a parking pass so that I can drive to school", as you see
in Figure 3. My experience is that this approach helps you to think about
who a certain feature is built for and why, and as a result is the approach
that I typically prefer to take. The best advice that I can give is to try both
and see which approach works best for you.
There are two areas where user stories affect the planning process on agile projects: