Your SlideShare is downloading. ×
  • Like
Let me tell you a story
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Let me tell you a story

  • 362 views
Published

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 …

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.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Thanks for posting your slides Seb. I hardly made it to any talks this year. :-(
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
362
On SlideShare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
6
Comments
1
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Let me tell you a story Seb Rose Claysnow Limited @sebrose Tuesday, 22 April 14
  • 2. Tuesday, 22 April 14
  • 3. Tuesday, 22 April 14
  • 4. VISA subscriptions In order to increase subscriptions visitors should be able to subscribe online with a VISA card Tuesday, 22 April 14
  • 5. “User stories are slippery, Tuesday, 22 April 14
  • 6. “User stories are slippery, so we call them Product Backlog Items” Tuesday, 22 April 14
  • 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. As a <role> I want to <do something> So that <I get some value> Tuesday, 22 April 14
  • 9. In order to <get some value> <role> should be able to <do something> Tuesday, 22 April 14
  • 10. Tuesday, 22 April 14
  • 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. -- Leigh & Griesemer Tuesday, 22 April 14
  • 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. “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. “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. Tuesday, 22 April 14
  • 17. http://www.agileproductdesign.com/blog/dont_know_what_i_want.html Depth first (incremental) Tuesday, 22 April 14
  • 18. http://www.agileproductdesign.com/blog/dont_know_what_i_want.html Breadth first (iterative) Tuesday, 22 April 14
  • 19. Iterative and Incremental http://itsadeliverything.com/revisiting-the-iterative-incremental-mona-lisa Tuesday, 22 April 14
  • 20. Parallel development Tuesday, 22 April 14
  • 21. The one where... User stories & acceptance criteria Examples Tuesday, 22 April 14
  • 22. The one where... User stories & acceptance criteria Examples Tuesday, 22 April 14
  • 23. The one where... User stories & acceptance criteria Examples Open questions Tuesday, 22 April 14
  • 24. The one where... User stories & acceptance criteria Examples Open questions Domain learning Tuesday, 22 April 14
  • 25. Tuesday, 22 April 14
  • 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. 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. Acceptance Criteria (Rules) Examples User Story Tuesday, 22 April 14
  • 29. Acceptance Criteria (Rules) ExamplesExamples help us toexplore and test theacceptance criteria together User Story Tuesday, 22 April 14
  • 30. Tuesday, 22 April 14
  • 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. Get points for a correct answer Acceptance criteria: Tuesday, 22 April 14
  • 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. 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. Teams start with a score of 0 Acceptance criteria: Tuesday, 22 April 14
  • 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. Tuesday, 22 April 14
  • 38. Correct answer gets 10 points Acceptance criteria: Tuesday, 22 April 14
  • 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. Points awarded for an answer depend on its difficulty Acceptance criteria: Tuesday, 22 April 14
  • 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. 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. 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. 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. 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. 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. 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. 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. -JVM Seb Rose, Tuesday, 22 April 14
  • 50. -JVM Seb Rose, Available 2014 (hopefully) Tuesday, 22 April 14
  • 51. Seb  Rose TwiBer:     @sebrose Blog:       www.claysnow.co.uk E-­‐mail:     seb@claysnow.co.uk Tuesday, 22 April 14