"how to write better user stories" por @jrhuerta
DESCRIPTION
Presentación realizada en el #webcat Barcelona de Abril 2013 Autor: José E. Rodríguez (@jrhuerta) ------------------------------------------------ RECURSOS: - Agile Barcelona http://agile-barcelona.org/ - "User Stories Applied: For Agile Software Development", Mike Cohn, 2004, Addison-Wesley Professional http://www.amazon.com/User-Stories-Applied-Software-Development/dp/0321205685 - "Lean UX", Jeff Gothelf & Josh Seiden, 2012, O'Reilly Media http://www.leanuxbook.com/TRANSCRIPT
![Page 1: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/1.jpg)
Writing better user stories
José E. Rodríguez Huerta (@jrhuerta)
![Page 2: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/2.jpg)
Disclaimer
Not a single original thought in this presentation.
Although there is some first hand
experience
![Page 3: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/3.jpg)
What this talk is about
• Why use user stories at all?
• Some guidelines on how to
improve
• Identifying common “user
story smells…”
![Page 4: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/4.jpg)
Why use User stories at all?
![Page 5: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/5.jpg)
Requirements gathering is an
integral part of software
development
![Page 6: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/6.jpg)
![Page 7: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/7.jpg)
![Page 8: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/8.jpg)
Common pitfalls • Lack of context
• Fail to deliver value
• Overly specified
• User/Client doesnt know
what they want.
• No priorization
• Hard to build incrementaly
• Difficult to estimate
• Too long… Didn’t read.
• Too technical… Didn’t read.
• Long time to market cycle
• Not always clear who the
users are and what they
expect from the software.
• Long feedback loops
from users/stakeholders
• Acceptance criteria is:
everything is implemented.
• Hard to maintain
![Page 9: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/9.jpg)
User stories to the rescue!
![Page 10: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/10.jpg)
Yes, they are still a
requirements document,
but…
![Page 11: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/11.jpg)
They are cool
![Page 12: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/12.jpg)
How do User Stories address those problems?
• Provide Context =>
Aligment
• End user/customer
language, makes it easy
to read/understand
bridges the gap between
technical and business
• Focus on Delivering Value
• User/Customer centered
• Small, Cheap
• Easily priorizable and re-
priorizable
• Versatile
• Switch the focus to
communication instead of
a detailed specification.
• Shortens Time to Market.
![Page 13: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/13.jpg)
What is a user story?
three critical parts:
– Card
– Conversation
– Confirmation
(“conversation placeholders”)
![Page 14: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/14.jpg)
What is a “Good” USER STORY?
![Page 15: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/15.jpg)
It helps YOU
to solve your problem
![Page 16: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/16.jpg)
Defining a “good” u.s.
• follows the INVEST acronym
(by Bill Wake)
• Defines conditions FOR
“satisfaction” (in DoD)
• Defines conditions FOR
“readyness” (in DoR)
![Page 17: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/17.jpg)
Defining a “good” U.S.
• Uses the customer’s language
• has the Who, the What and Why
• Everyone participates in
defining/refining
![Page 18: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/18.jpg)
I.N.V.E.S.T.
• Independent
• Negotiable
• Value
• Estimable
• Size/Small
• Testable
![Page 19: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/19.jpg)
I for Independent
Independent also means it can
be built incrementaly
and iteratively
![Page 20: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/20.jpg)
Incremental
Art by Jeff Pa,on
![Page 21: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/21.jpg)
Iterative
Art by Jeff Pa,on
![Page 22: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/22.jpg)
Incremental-Interative
Art by Steven Thomas
![Page 23: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/23.jpg)
I for Independent
Ok… maybe, some dependency
![Page 24: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/24.jpg)
N for Negotiable
• Avoid implementation details
– It says the What, not the How.
• Its not carved in stone
– Until its part of an iteration it
can still be rewritten
![Page 25: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/25.jpg)
V for Value
Provide value to your customer with every story
![Page 26: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/26.jpg)
V for Value
![Page 27: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/27.jpg)
V for Value
![Page 28: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/28.jpg)
V for Value
![Page 29: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/29.jpg)
E for Estimable
Otherwise you can’t know when it will be done
(or if it will ever be…)
![Page 30: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/30.jpg)
S for Size/Small
• If its too big, split it.
– Learn how.
• If it too small, maybe its not a
user story
– I smell micromanagement!
![Page 31: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/31.jpg)
T for Testable
If it’s not worth testing it… Is it worth writting it?
![Page 32: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/32.jpg)
Not everything is a
User Story
![Page 33: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/33.jpg)
![Page 34: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/34.jpg)
What? • The process context:
– Definition of Done
– Definition of Ready
• Non functional requirements:
– Requirements that extend
through the whole project
![Page 35: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/35.jpg)
Use aids to “Power Up”
• Wireframes
• Navigation maps • Color tags • Personas • User Story maps • Anything else you may find
useful
![Page 36: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/36.jpg)
Use aids to “Power Up”
• Wireframes
• Navigation maps
• Color tags
• Personas
• User Story maps
• Anything else you may find useful
![Page 37: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/37.jpg)
Revise and Refine and even Re-do
• User stories are alive, they:
– Are Born
– Grow
– Reproduce
– Die
• Make time to groom your
backlog with the team and client
![Page 38: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/38.jpg)
user story smells
![Page 39: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/39.jpg)
User Story smells…
• Too much detail or too little detail
• No conditions of satisfaction
• A story per page/component or sliced in ways that don’t deliver value
• Technical tasks masqueraded as user stories
• Skipping the conversation
![Page 40: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/40.jpg)
15m is not a lot of time so…
![Page 41: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/41.jpg)
Where DO I get more info?
• Agile Barcelona community (@agilebcn)
• Books:
– User stories applied: For Agile Software
Development by Mike Cohn
– Lean UX: Applying Lean Principles to Improve
User Experience by Jeff Gothelf & Josh Seiden
• The Mountain Goat Software:
http://www.mountaingoatsoftware.com/
![Page 42: "How to write better User Stories" por @jrhuerta](https://reader033.vdocuments.us/reader033/viewer/2022051014/54b3b2cf4a79597f5f8b465b/html5/thumbnails/42.jpg)
Thanks Any questions?
(@jrhuerta)