At the start of a project or start of a major release, we always face the problem of "How do we break down this big release into stories?" " How do I move from this vision to lower level details in user stories?". My workshop & presentation at the #India Agile Week 2013 Pune was focussed on providing answers to this. This presentation provides a way to move from high level vision to user stories using Story Map.
2. What is a User Story?
Card
Conversation
User Story
Confirmation
3. User Stories (Recap)
Card
User Story
Card
•
•
•
•
Physical token
Used in planning
Reminder for a conversation
Often annotated
4. User Stories (Recap)
A concise, written description of a piece of functionality that will be
valuable to a user (or owner) of the software
As a <persona / role>, I want to <goal>, so that <value>
11. Personas, Roles and Goals
Who am I?
What do I want to
do?
How will you support
my goals?
Karen | 30 | secretary
|fashion conscious | lives
in Surbiton| forgetful
“I‟m going on holiday to
California tomorrow. I
want to buy travel
insurance”
Quickly help me buy
travel insurance
Chris | 24 | Student | part
time DJ | lives with
girlfriend | drives
performance car | web
savy
“Car insurance is so
expensive, and getting
someone to quote me
is hard. I want to know
quickly if I‟m going to
get a good quote”
Enter minimal details |
provide quick quote |
save quote |
comprehensive quote if
interested
Sara | 22 | recruitment
consultant | seeks advice
| internet „lingerer‟
“I crashed my car on
the way to work.
We‟ve swapped
addresses, now to
claim on the
insurance…”
Let me download claim
forms | Let me monitor
my claim on-line
How important
am I?
12. Persona
Managing Director: Jenny Polson Jenny inherited the Debt Chasers business from
her father in 1980. Business has been steady over
the last few years, but now things seem to be
going a bit awry. She is concerned that at the
current rate her pension fund will be seriously
impacted if the business does not turn around
soon. She is also concerned about the 40 people
that she employs – what will happen to them if the
business goes under.
She has spoken to the bank manager – and if she
can prove that there is a financial case for
investment they would be happy to extend her a
line of credit. Her calculations prove to her that to
make the business profitable she needs to cut
costs by 20%.
13. What is a persona and why is it importan
Personas are used to:
understand your target audience through understanding their mindset
and their environment;
help build features that will be used by the user;
help identify common problems being faced by the user;
understand user driven/external systems;
keep the focus of requirements;
help to give the context of the system;
understand the objectives of the system better;
identify user motivations, expectations and goals responsible for
driving online behaviours, and
help internal development teams to focus on their users.
14. Exercise (10 mins)
At table identify personas
Own a persona each
Write as many user stories as possible for your persona
15. What Did We Learn?
How does it feel?
Compared to earlier method how is this better?
What are some drawbacks of writing stories this way?
19. Lets get down a little into details
Activities
What are the Activities this Persona do to achieve this
Goal?
Are these activities –
Sequential?
Equally important?
22. Lets get into all the details…
Tasks
What are the Tasks this Persona do to complete this
Activity?
Are these tasks –
Sequential?
Equally important?
Duplicate?
28. Story Mapping Best Practices
Keep stakeholders engaged
Use Scenarios to drive conversations for Activities and Tasks
Keep consistent level of detail
Follow an order
Top to bottom for Priority
Left to Right for Sequence
Take lots of notes – you will get lot of additional information
Merge personas if activities are similar
Merge duplicate activities, tasks
Tasks can lead to one or more Stories
User Color codes for Roles, Goals, Activities and Tasks
30. Thank you!
ThoughtWorks is a global custom software solutions consultancy trusted by
many of the world‟s leading businesses with their most complex and critical
systems. We deliver consulting grounded in delivery expertise, build custom
applications and help organizations across all market sectors to drive IT
efficiency – working to an exceptionally high standard.
Pankaj Kanchankar
pankajk@thoughtworks.com
@pkanchankar
Hinweis der Redaktion
Piece of functionality that will be valuable to a user (or owner) of the softwareThe “As a, I Want, So That” story represents only the top of a user story.User Stories consist of the three C’s – - Card - Conversation - Confirmation
Physical token representing the user storyLightweight, transitory – easy to write, view, throw outUsed in planning and prioritizationReminder / promise of a conversationOften annotated with estimates, acceptance tests, assumptions etc.Discovered during planningDiscovered during the projectContinuously emerge, change and disappear
Common formatUser Role is the type of user performing the functionGoal is what the user is trying to accomplishMotivation is why the user wants to accomplish itFocus on usersPlaces the emphasis on the user value delivered – discuss more later
Conversations between Product Owner and stakeholders and delivery team flesh out detailsRequirement itselfPrimarily verbal conversation between development team and product owner / stakeholdersSupplemented with documents where it makes sense
Acceptance criteria are turned into actual tests which are executed to demonstrate a stories implementation is complete Acceptance criteria document story details Determine when story is completeOften prepared by the BA in collaboration with QA specialists
You are not a user! Create personas to bring the users to lifeFictional name, not Customer 1, but Ryan GreenPersonas are about behavior patterns – they are not job descriptionsThey act as a frame of reference throughout the Inception and development. “How would Ron feel about this?”Use pictures to help the team see the personas as real peoplePersonae are placed on the walls in the project area to continually remind the team to build functionality from the users perspective.