Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
User Stories
Deep Dive
User Stories
Focused on what
(not how)
What you expect
(avoid being vague)
Manage scope
(lightweight)
Don’t include many
details(Details will come later)
It can be estimated
(otherwise is too big)
It should fit in a card
(or sticky note)
It’s not a contract
(it will change)
Placeholder for
conversation
Where do User
Stories live?
User Story Map
R1
R2
User
Activities
User Tasks
User Stories
User Stories
Kanban
Backlog Analysis Coding QA Deploy
Writing user stories
Format I
As a [ROLE]

I want to [ACTION]

So I can [GOAL]
Who
What
Why
Format II
In order to [GOAL] 

As a [ROLE]

I want to [ACTION]

Who
What
Why
INVEST guideline
Independent
Negotiable
Valuable
Estimable
Small
Testable
Non Functional
Requirements
Make it part of a
story
(if possible)
Write a test
Even a manual test
Make sure there’s
some kind of card
on the board
No matter the format
What about the
details?
When is the right
time to add details?
When can more
stories be
discovered?
Any time!
Anywhere!
Examples
Movie Library App
Donald likes to watch movies and tell his
friends about it. He uses a site that helps him
to find movies...
Right or Wrong?
As a Developer

I want use a NoSQL db to store movies

So I can list them faster
Right or Wrong?
As a Developer 

I want to use Twitter Bootstrap for the
UI

So I can use all the cool buttons and
layout
Right or Wrong?
As a User

I want my app to be easy to use

So I can get the top ten UIX award
Right or Wrong?
As a User 

I want to get statistics about movies

So I can decide which users could be
willing to buy a m...
Right or Wrong?
As a User 

I want to login to the site 

So I can use the site
Right or Wrong?
As a User 

I want to login to the site but if I forget
my password I want a password recovery
email or ma...
English Master
EnglishMaster is an application to let users
read lessons to learn and improve english.
The lessons are pro...
Medical Studies
The application needs to process XML files contains
medical studies that come with patient information
and...
Sizing stories
Identify Complexity
Task Breakdown
Throwing a dice
ShakingTwo
Months
User Story Points
Using Fibonacci (1, 2, 3, 5, 8, 13 …)
Planning poker
Benefits &
Drawbacks
Relative complexity
Tend to average
How often do we
estimate?
Can we avoid
estimation?
It will take what it
takes?
Let’s make each
story…
Around the same
size
The path to…
NO ESTIMATES!
Acceptance Criteria
When are we done?
Writing Scenarios
Input
Output
Step 1
Step 2
…
Step N
Multiple Scenarios
Gherkin DSL
Business readable DSL
Flush out requirements
Automated testing
Used by Cucumber, SpecFlow,
jBehave
Features
Feature: Listing movies

As a User

I want to list movies 

So I can see the contents of the library
Scenarios
Scenario: List all movies

Given I'm logged in 

And I have (some data loaded)

When I (do some action)

Then I ...
Writing reviews
Scenario: Write a review for a movie
Given I'm logged in as a Critic
When I write a review for a movie
The...
Example II
Scenario: See most recent movies first
Given I'm logged in as a User
When I order the list by release date
Then...
Guidelines to
write
scenarios
??????
Scenario: Perfect world
Given the application is setup
When I want to use some projects
Then I should be able to lo...
?????
Scenario: Redirect user
Given a User "dave" with pwd "secret"
And I am not logged in
When I navigate to the home pag...
Just right
Scenario: List all projects
Given I'm logged in
And I have some projects stored
When I list the projects
Then I...
Estimating
using scenarios
More Functionality
When is the right time to write scenarios?
During Inception?
During Analysis?
During Development?
Durin...
Order Matters Not!
Can every feature be independent?
Size Matters not!
Can every story be of the same size?
Complexity ∝ amount
How many scenarios per feature?
Complexity ∝ amount
The more scenarios we find the more
complex the story is
Complexity ∝ amount
If scenarios are unclear, then is time to
rethink the feature
Complexity ∝ amount
Scenarios
0
1
2
4
5
6
7
Complexity
Simple Medium Complex WTF?
Complexity ∝ Clarity
Too many steps
Complexity ∝ Clarity
Takes more than 10 minutes to write
Complexity ∝ Clarity
You read it the next day and
have no clue what it means
Recipe
Make every story around the same size
Recipe
One or two scenarios most
Recipe
Make sure you can implement it in XX
amount of time
(1 or 2 days)
Recipe
Find the simplest scenario
that provides value
THANK YOU!
The Smartest tool
for agile project
management
http://smartview.io
amir@barylko.com
@abarylko
http://bit.ly/abarylkoslides
http://orthocoders.com
http://westerndevs.com
User stories deep dive
Upcoming SlideShare
Loading in …5
×

User stories deep dive

460 views

Published on

Presentation about going beyond writing the first user stories and identifying when a user story can be too big, too vague, etc.

Published in: Technology
  • Hello there! Get Your Professional Job-Winning Resume Here! http://bit.ly/topresum
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

User stories deep dive

  1. 1. User Stories Deep Dive
  2. 2. User Stories
  3. 3. Focused on what (not how)
  4. 4. What you expect (avoid being vague)
  5. 5. Manage scope (lightweight)
  6. 6. Don’t include many details(Details will come later)
  7. 7. It can be estimated (otherwise is too big)
  8. 8. It should fit in a card (or sticky note)
  9. 9. It’s not a contract (it will change)
  10. 10. Placeholder for conversation
  11. 11. Where do User Stories live?
  12. 12. User Story Map R1 R2 User Activities User Tasks User Stories User Stories
  13. 13. Kanban Backlog Analysis Coding QA Deploy
  14. 14. Writing user stories
  15. 15. Format I As a [ROLE] I want to [ACTION] So I can [GOAL] Who What Why
  16. 16. Format II In order to [GOAL] As a [ROLE] I want to [ACTION] Who What Why
  17. 17. INVEST guideline
  18. 18. Independent
  19. 19. Negotiable
  20. 20. Valuable
  21. 21. Estimable
  22. 22. Small
  23. 23. Testable
  24. 24. Non Functional Requirements
  25. 25. Make it part of a story (if possible)
  26. 26. Write a test
  27. 27. Even a manual test
  28. 28. Make sure there’s some kind of card on the board
  29. 29. No matter the format
  30. 30. What about the details?
  31. 31. When is the right time to add details?
  32. 32. When can more stories be discovered?
  33. 33. Any time! Anywhere!
  34. 34. Examples
  35. 35. Movie Library App Donald likes to watch movies and tell his friends about it. He uses a site that helps him to find movies (old, new, etc), rate them and share with others. He also enjoys the previews and loves to hear when his “favourites” movies are playing in theatres.
  36. 36. Right or Wrong? As a Developer I want use a NoSQL db to store movies So I can list them faster
  37. 37. Right or Wrong? As a Developer I want to use Twitter Bootstrap for the UI So I can use all the cool buttons and layout
  38. 38. Right or Wrong? As a User I want my app to be easy to use So I can get the top ten UIX award
  39. 39. Right or Wrong? As a User I want to get statistics about movies So I can decide which users could be willing to buy a movie ticket ahead of time
  40. 40. Right or Wrong? As a User I want to login to the site So I can use the site
  41. 41. Right or Wrong? As a User I want to login to the site but if I forget my password I want a password recovery email or maybe use Google instead So I can review movies
  42. 42. English Master EnglishMaster is an application to let users read lessons to learn and improve english. The lessons are provided in an alphabetical index that the user can filter by choosing a letter of the alphabet or searching for a word.
  43. 43. Medical Studies The application needs to process XML files contains medical studies that come with patient information and study results. The studies are uploaded in a Zip file to our FTP server. Each new file needs to be processed and added to the database (unless it has been processed). It is important to be robust and handle errors to avoid duplication.
  44. 44. Sizing stories
  45. 45. Identify Complexity
  46. 46. Task Breakdown
  47. 47. Throwing a dice
  48. 48. ShakingTwo Months
  49. 49. User Story Points Using Fibonacci (1, 2, 3, 5, 8, 13 …)
  50. 50. Planning poker
  51. 51. Benefits & Drawbacks
  52. 52. Relative complexity
  53. 53. Tend to average
  54. 54. How often do we estimate?
  55. 55. Can we avoid estimation?
  56. 56. It will take what it takes?
  57. 57. Let’s make each story…
  58. 58. Around the same size
  59. 59. The path to…
  60. 60. NO ESTIMATES!
  61. 61. Acceptance Criteria
  62. 62. When are we done?
  63. 63. Writing Scenarios Input Output Step 1 Step 2 … Step N
  64. 64. Multiple Scenarios
  65. 65. Gherkin DSL Business readable DSL Flush out requirements Automated testing Used by Cucumber, SpecFlow, jBehave
  66. 66. Features Feature: Listing movies As a User I want to list movies So I can see the contents of the library
  67. 67. Scenarios Scenario: List all movies Given I'm logged in And I have (some data loaded) When I (do some action) Then I (should see expected results)
  68. 68. Writing reviews Scenario: Write a review for a movie Given I'm logged in as a Critic When I write a review for a movie Then I should see the new review in the reviews section for the movie
  69. 69. Example II Scenario: See most recent movies first Given I'm logged in as a User When I order the list by release date Then I should see the movies with the release date most recent first
  70. 70. Guidelines to write scenarios
  71. 71. ?????? Scenario: Perfect world Given the application is setup When I want to use some projects Then I should be able to load data And have a great user experience but no bugs should appear
  72. 72. ????? Scenario: Redirect user Given a User "dave" with pwd "secret" And I am not logged in When I navigate to the home page And I fill in "Username" with "dave" And I fill in "Password" with "secret" And I press “Login" Then I am redirected to the login form
  73. 73. Just right Scenario: List all projects Given I'm logged in And I have some projects stored When I list the projects Then I should see all of them
  74. 74. Estimating using scenarios
  75. 75. More Functionality When is the right time to write scenarios? During Inception? During Analysis? During Development? During QA?
  76. 76. Order Matters Not! Can every feature be independent?
  77. 77. Size Matters not! Can every story be of the same size?
  78. 78. Complexity ∝ amount How many scenarios per feature?
  79. 79. Complexity ∝ amount The more scenarios we find the more complex the story is
  80. 80. Complexity ∝ amount If scenarios are unclear, then is time to rethink the feature
  81. 81. Complexity ∝ amount Scenarios 0 1 2 4 5 6 7 Complexity Simple Medium Complex WTF?
  82. 82. Complexity ∝ Clarity Too many steps
  83. 83. Complexity ∝ Clarity Takes more than 10 minutes to write
  84. 84. Complexity ∝ Clarity You read it the next day and have no clue what it means
  85. 85. Recipe Make every story around the same size
  86. 86. Recipe One or two scenarios most
  87. 87. Recipe Make sure you can implement it in XX amount of time (1 or 2 days)
  88. 88. Recipe Find the simplest scenario that provides value
  89. 89. THANK YOU!
  90. 90. The Smartest tool for agile project management http://smartview.io
  91. 91. amir@barylko.com @abarylko http://bit.ly/abarylkoslides http://orthocoders.com http://westerndevs.com

×