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.
Let me tell you a story
Seb Rose
Claysnow Limited
@sebrose
Tuesday, 22 April 14
Tuesday, 22 April 14
Tuesday, 22 April 14
VISA subscriptions
In order to increase subscriptions
visitors should be able to
subscribe online with a VISA card
Tuesday...
“User stories are slippery,
Tuesday, 22 April 14
“User stories are slippery,
so we call them Product Backlog Items”
Tuesday, 22 April 14
We never
finish them in an
iteration
How do I trace
them to features
Hard to estimate
Not enough detail
to start coding
Not...
As a <role>
I want to <do something>
So that <I get some value>
Tuesday, 22 April 14
In order to <get some value>
<role> should be able to
<do something>
Tuesday, 22 April 14
Tuesday, 22 April 14
“A	
   boundary	
   object	
   is	
   a	
   concept	
   in	
  
sociology	
  to	
  describe	
  informa7on	
  used	
  in	
  ...
-- Leigh & Griesemer
Tuesday, 22 April 14
“They are weakly structured in common
use, and become strongly structured in
individual-site use. They may be abstract or
...
“They are weakly structured in common
use, and become strongly structured in
individual-site use. They may be abstract or
...
“They are weakly structured in common
use, and become strongly structured in
individual-site use. They may be abstract or
...
Tuesday, 22 April 14
http://www.agileproductdesign.com/blog/dont_know_what_i_want.html
Depth first (incremental)
Tuesday, 22 April 14
http://www.agileproductdesign.com/blog/dont_know_what_i_want.html
Breadth first (iterative)
Tuesday, 22 April 14
Iterative and Incremental
http://itsadeliverything.com/revisiting-the-iterative-incremental-mona-lisa
Tuesday, 22 April 14
Parallel development
Tuesday, 22 April 14
The one where...
User stories &
acceptance
criteria
Examples
Tuesday, 22 April 14
The one where...
User stories &
acceptance
criteria
Examples
Tuesday, 22 April 14
The one where...
User stories &
acceptance
criteria
Examples
Open
questions
Tuesday, 22 April 14
The one where...
User stories &
acceptance
criteria
Examples
Open
questions
Domain
learning
Tuesday, 22 April 14
Tuesday, 22 April 14
•Must support VISA
•Does not need to support MasterCard, Switch
•...
•Customers should be prevented from entering
invalid ...
The one where ....
... we validate content of the card number
User Enters Outcome
@£$%@£$%@£$%@£$% Error message
4575 9879...
Acceptance
Criteria
(Rules)
Examples
User Story
Tuesday, 22 April 14
Acceptance
Criteria
(Rules)
ExamplesExamples help us toexplore and test theacceptance criteria
together
User Story
Tuesday...
Tuesday, 22 April 14
In order to introduce a
competitive element
participants should be able to
get points for a successful
answer
SCORING THE ...
Get points for a correct answer
Acceptance criteria:
Tuesday, 22 April 14
Is it only the first
team that gets the
answer right that
scores?
Do teams start
with a score of 0?
Are all answers
worth t...
Teams start with a score of 0
Acceptance criteria:
Correct answers score points
Incorrect answers lose points
Score can’t ...
Teams start with a score of 0
Acceptance criteria:
Tuesday, 22 April 14
Feature: Team Scoring
Teams start with zero score
Scenario: Score starts at 0
Given I register a team
When I retrieve my s...
Tuesday, 22 April 14
Correct answer gets 10 points
Acceptance criteria:
Tuesday, 22 April 14
Feature: Team Scoring
Teams start with zero score
Correct answer gets points
Scenario: Score starts at 0
Given I register ...
Points awarded for an answer
depend on its difficulty
Acceptance criteria:
Tuesday, 22 April 14
Teams start with zero score.
Correct answer gets points depending on
how difficult it is.
Scenario: Score starts at 0
Scen...
Acceptance
criteria
User Story
Examples
Feature: Team Scoring
Teams start with zero score.
Correct answer gets points depe...
Acceptance
criteria
User Story
Examples
Feature: Team Scoring
Teams start with zero score.
Correct answer gets points depe...
Acceptance
criteria
User Story
Feature: Team Scoring
Teams start with zero score.
Correct answer gets points depending on
...
Acceptance
criteria
User Story
Feature: Team Scoring
Teams start with zero score.
Correct answer gets points depending on
...
User Story
Feature: Team Scoring
Teams start with zero score.
Correct answer gets points depending on
how difficult it is....
User Story
Feature: Team Scoring
Teams start with zero score.
Correct answer gets points depending on
how difficult it is....
Feature: Team Scoring
Teams start with zero score.
Correct answer gets points depending on
how difficult it is.
Scenario: ...
-JVM
Seb Rose,
Tuesday, 22 April 14
-JVM
Seb Rose,
Available 2014
(hopefully)
Tuesday, 22 April 14
Seb	
  Rose
TwiBer:	
  	
   @sebrose
Blog:	
  	
   	
   www.claysnow.co.uk
E-­‐mail:	
   	
   seb@claysnow.co.uk
Tuesday, ...
Upcoming SlideShare
Loading in …5
×

Let me tell you a story

990 views

Published on

What’s the relationship between features and stories? What is a ‘user’ story anyway? Where do acceptance criteria fit in? These questions (and more) are often answered badly - when they aren't ignored completely.

In this session Seb will dissect a user story and find that they come in several shapes and sizes (that change throughout the project lifecycle). He will walk through the evolution of a feature file and see why so many of the text-book examples actually encourage bad habits.

By the end of this session, attendees will walk away being able to describe the multiple uses of user stories as well as understand that misuse is commonplace. They will learn to recognise the value of user stories, appreciate the strengths and weaknesses of typical user story templates, as well as having gained in depth knowledge of the relationship between feature files and user stories. We hope also that attendees will have learnt to identify the shortcomings of typical text-book feature file examples.

Let me tell you a story

  1. 1. Let me tell you a story Seb Rose Claysnow Limited @sebrose Tuesday, 22 April 14
  2. 2. Tuesday, 22 April 14
  3. 3. Tuesday, 22 April 14
  4. 4. VISA subscriptions In order to increase subscriptions visitors should be able to subscribe online with a VISA card Tuesday, 22 April 14
  5. 5. “User stories are slippery, Tuesday, 22 April 14
  6. 6. “User stories are slippery, so we call them Product Backlog Items” Tuesday, 22 April 14
  7. 7. We never finish them in an iteration How do I trace them to features Hard to estimate Not enough detail to start coding Nothing I can test Difficult to prioritise Tuesday, 22 April 14
  8. 8. As a <role> I want to <do something> So that <I get some value> Tuesday, 22 April 14
  9. 9. In order to <get some value> <role> should be able to <do something> Tuesday, 22 April 14
  10. 10. Tuesday, 22 April 14
  11. 11. “A   boundary   object   is   a   concept   in   sociology  to  describe  informa7on  used  in   different  ways  by  different  communi7es.   They   are   plas7c,   interpreted   differently   across   communi7es   but   with   enough   immutable  content  to  maintain  integrity”   -­‐-­‐Wikipedia User Stories are Boundary Objects Tuesday, 22 April 14
  12. 12. -- Leigh & Griesemer Tuesday, 22 April 14
  13. 13. “They are weakly structured in common use, and become strongly structured in individual-site use. They may be abstract or concrete. -- Leigh & Griesemer Tuesday, 22 April 14
  14. 14. “They are weakly structured in common use, and become strongly structured in individual-site use. They may be abstract or concrete. They have different meanings in different social worlds but their structure is common enough to more than one world to make them recognizable means of translation. -- Leigh & Griesemer Tuesday, 22 April 14
  15. 15. “They are weakly structured in common use, and become strongly structured in individual-site use. They may be abstract or concrete. They have different meanings in different social worlds but their structure is common enough to more than one world to make them recognizable means of translation. The creation and management of boundary objects is key in developing and maintaining coherence across intersecting social worlds.” -- Leigh & Griesemer Tuesday, 22 April 14
  16. 16. Tuesday, 22 April 14
  17. 17. http://www.agileproductdesign.com/blog/dont_know_what_i_want.html Depth first (incremental) Tuesday, 22 April 14
  18. 18. http://www.agileproductdesign.com/blog/dont_know_what_i_want.html Breadth first (iterative) Tuesday, 22 April 14
  19. 19. Iterative and Incremental http://itsadeliverything.com/revisiting-the-iterative-incremental-mona-lisa Tuesday, 22 April 14
  20. 20. Parallel development Tuesday, 22 April 14
  21. 21. The one where... User stories & acceptance criteria Examples Tuesday, 22 April 14
  22. 22. The one where... User stories & acceptance criteria Examples Tuesday, 22 April 14
  23. 23. The one where... User stories & acceptance criteria Examples Open questions Tuesday, 22 April 14
  24. 24. The one where... User stories & acceptance criteria Examples Open questions Domain learning Tuesday, 22 April 14
  25. 25. Tuesday, 22 April 14
  26. 26. •Must support VISA •Does not need to support MasterCard, Switch •... •Customers should be prevented from entering invalid credit card number • ... Credit Card Processing Acceptance criteria: Tuesday, 22 April 14
  27. 27. The one where .... ... we validate content of the card number User Enters Outcome @£$%@£$%@£$%@£$% Error message 4575 9879 6752 1245 Error message 4.57599E+15 OK Tuesday, 22 April 14
  28. 28. Acceptance Criteria (Rules) Examples User Story Tuesday, 22 April 14
  29. 29. Acceptance Criteria (Rules) ExamplesExamples help us toexplore and test theacceptance criteria together User Story Tuesday, 22 April 14
  30. 30. Tuesday, 22 April 14
  31. 31. In order to introduce a competitive element participants should be able to get points for a successful answer SCORING THE GAME Tuesday, 22 April 14
  32. 32. Get points for a correct answer Acceptance criteria: Tuesday, 22 April 14
  33. 33. Is it only the first team that gets the answer right that scores? Do teams start with a score of 0? Are all answers worth the same? Can the score be negative? What happens if the answer is wrong? Tuesday, 22 April 14
  34. 34. Teams start with a score of 0 Acceptance criteria: Correct answers score points Incorrect answers lose points Score can’t be negative Points awarded decrease ... Tuesday, 22 April 14
  35. 35. Teams start with a score of 0 Acceptance criteria: Tuesday, 22 April 14
  36. 36. Feature: Team Scoring Teams start with zero score Scenario: Score starts at 0 Given I register a team When I retrieve my score Then my score is 0 Tuesday, 22 April 14
  37. 37. Tuesday, 22 April 14
  38. 38. Correct answer gets 10 points Acceptance criteria: Tuesday, 22 April 14
  39. 39. Feature: Team Scoring Teams start with zero score Correct answer gets points Scenario: Score starts at 0 Given I register a team Then my score is 0 Scenario: Correct answer gets 10 points Given I register a team When I submit a correct answer Then my score is 10 Tuesday, 22 April 14
  40. 40. Points awarded for an answer depend on its difficulty Acceptance criteria: Tuesday, 22 April 14
  41. 41. Teams start with zero score. Correct answer gets points depending on how difficult it is. Scenario: Score starts at 0 Scenario: Correct easy answer scores 10 Given I register a team When I submit a correct easy answer Then my score is 10 Scenario: Correct hard answer scores 50 Given I register a team When I submit a correct hard answer Then my score is 50 Tuesday, 22 April 14
  42. 42. Acceptance criteria User Story Examples Feature: Team Scoring Teams start with zero score. Correct answer gets points depending on how difficult it is. Scenario: Score starts at 0 Given I register a team Then my score is 0 Scenario: Correct easy answer scores 10 Given I register a team When I submit a correct easy answer Then my score is 10 Scenario: Correct hard answer scores 50 Given I register a team When I submit a correct hard answer Then my score is 50 Tuesday, 22 April 14
  43. 43. Acceptance criteria User Story Examples Feature: Team Scoring Teams start with zero score. Correct answer gets points depending on how difficult it is. Scenario: Score starts at 0 Given I register a team Then my score is 0 Scenario: Correct easy answer scores 10 Given I register a team When I submit a correct easy answer Then my score is 10 Scenario: Correct hard answer scores 50 Given I register a team When I submit a correct hard answer Then my score is 50 Tuesday, 22 April 14
  44. 44. Acceptance criteria User Story Feature: Team Scoring Teams start with zero score. Correct answer gets points depending on how difficult it is. Scenario: Score starts at 0 Given I register a team Then my score is 0 Scenario: Correct easy answer scores 10 Given I register a team When I submit a correct easy answer Then my score is 10 Scenario: Correct hard answer scores 50 Given I register a team When I submit a correct hard answer Then my score is 50 Tuesday, 22 April 14
  45. 45. Acceptance criteria User Story Feature: Team Scoring Teams start with zero score. Correct answer gets points depending on how difficult it is. Scenario: Score starts at 0 Given I register a team Then my score is 0 Scenario: Correct easy answer scores 10 Given I register a team When I submit a correct easy answer Then my score is 10 Scenario: Correct hard answer scores 50 Given I register a team When I submit a correct hard answer Then my score is 50 Tuesday, 22 April 14
  46. 46. User Story Feature: Team Scoring Teams start with zero score. Correct answer gets points depending on how difficult it is. Scenario: Score starts at 0 Given I register a team Then my score is 0 Scenario: Correct easy answer scores 10 Given I register a team When I submit a correct easy answer Then my score is 10 Scenario: Correct hard answer scores 50 Given I register a team When I submit a correct hard answer Then my score is 50 Tuesday, 22 April 14
  47. 47. User Story Feature: Team Scoring Teams start with zero score. Correct answer gets points depending on how difficult it is. Scenario: Score starts at 0 Given I register a team Then my score is 0 Scenario: Correct easy answer scores 10 Given I register a team When I submit a correct easy answer Then my score is 10 Scenario: Correct hard answer scores 50 Given I register a team When I submit a correct hard answer Then my score is 50 Tuesday, 22 April 14
  48. 48. Feature: Team Scoring Teams start with zero score. Correct answer gets points depending on how difficult it is. Scenario: Score starts at 0 Given I register a team Then my score is 0 Scenario: Correct easy answer scores 10 Given I register a team When I submit a correct easy answer Then my score is 10 Scenario: Correct hard answer scores 50 Given I register a team When I submit a correct hard answer Then my score is 50 Tuesday, 22 April 14
  49. 49. -JVM Seb Rose, Tuesday, 22 April 14
  50. 50. -JVM Seb Rose, Available 2014 (hopefully) Tuesday, 22 April 14
  51. 51. Seb  Rose TwiBer:     @sebrose Blog:       www.claysnow.co.uk E-­‐mail:     seb@claysnow.co.uk Tuesday, 22 April 14

×