let me tell you a story
DESCRIPTION
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.TRANSCRIPT
![Page 1: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/1.jpg)
Let me tell you a story
Seb RoseClaysnow Limited
@sebrose
Tuesday, 22 April 14
![Page 2: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/2.jpg)
Tuesday, 22 April 14
![Page 3: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/3.jpg)
Tuesday, 22 April 14
![Page 4: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/4.jpg)
VISA subscriptionsIn order to increase subscriptions
visitors should be able to
subscribe online with a VISA card
Tuesday, 22 April 14
![Page 5: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/5.jpg)
“User stories are slippery,
Tuesday, 22 April 14
![Page 6: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/6.jpg)
“User stories are slippery,
so we call them Product Backlog Items”
Tuesday, 22 April 14
![Page 7: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/7.jpg)
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 testDifficult to prioritise
Tuesday, 22 April 14
![Page 8: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/8.jpg)
As a <role>
I want to <do something>
So that <I get some value>
Tuesday, 22 April 14
![Page 9: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/9.jpg)
In order to <get some value>
<role> should be able to
<do something>
Tuesday, 22 April 14
![Page 10: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/10.jpg)
Tuesday, 22 April 14
![Page 11: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/11.jpg)
“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
![Page 12: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/12.jpg)
-- Leigh & Griesemer
Tuesday, 22 April 14
![Page 13: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/13.jpg)
“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
![Page 14: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/14.jpg)
“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
![Page 15: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/15.jpg)
“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
![Page 16: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/16.jpg)
Tuesday, 22 April 14
![Page 17: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/17.jpg)
http://www.agileproductdesign.com/blog/dont_know_what_i_want.html
Depth first (incremental)
Tuesday, 22 April 14
![Page 18: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/18.jpg)
http://www.agileproductdesign.com/blog/dont_know_what_i_want.html
Breadth first (iterative)
Tuesday, 22 April 14
![Page 19: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/19.jpg)
Iterative and Incremental
http://itsadeliverything.com/revisiting-the-iterative-incremental-mona-lisa
Tuesday, 22 April 14
![Page 20: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/20.jpg)
Parallel development
Tuesday, 22 April 14
![Page 21: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/21.jpg)
The one where...
User stories & acceptance
criteriaExamples
Tuesday, 22 April 14
![Page 22: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/22.jpg)
The one where...
User stories & acceptance
criteriaExamples
Tuesday, 22 April 14
![Page 23: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/23.jpg)
The one where...
User stories & acceptance
criteriaExamples
Open questions
Tuesday, 22 April 14
![Page 24: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/24.jpg)
The one where...
User stories & acceptance
criteriaExamples
Open questions
Domain learning
Tuesday, 22 April 14
![Page 25: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/25.jpg)
Tuesday, 22 April 14
![Page 26: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/26.jpg)
•Must support VISA•Does not need to support MasterCard, Switch•...•Customers should be prevented from entering invalid credit card number• ...
Credit Card ProcessingAcceptance criteria:
Tuesday, 22 April 14
![Page 27: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/27.jpg)
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
![Page 28: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/28.jpg)
Acceptance Criteria(Rules)
Examples
User Story
Tuesday, 22 April 14
![Page 29: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/29.jpg)
Acceptance Criteria(Rules)
ExamplesExamples help us to explore and test the acceptance criteria together
User Story
Tuesday, 22 April 14
![Page 30: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/30.jpg)
Tuesday, 22 April 14
![Page 31: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/31.jpg)
In order to introduce a competitive elementparticipants should be able toget points for a successful answer
SCORING THE GAME
Tuesday, 22 April 14
![Page 32: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/32.jpg)
Get points for a correct answer
Acceptance criteria:
Tuesday, 22 April 14
![Page 33: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/33.jpg)
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
![Page 34: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/34.jpg)
Teams start with a score of 0
Acceptance criteria:
Correct answers score pointsIncorrect answers lose pointsScore can’t be negativePoints awarded decrease ...
Tuesday, 22 April 14
![Page 35: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/35.jpg)
Teams start with a score of 0
Acceptance criteria:
Tuesday, 22 April 14
![Page 36: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/36.jpg)
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
![Page 37: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/37.jpg)
Tuesday, 22 April 14
![Page 38: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/38.jpg)
Correct answer gets 10 points
Acceptance criteria:
Tuesday, 22 April 14
![Page 39: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/39.jpg)
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
![Page 40: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/40.jpg)
Points awarded for an answer depend on its difficulty
Acceptance criteria:
Tuesday, 22 April 14
![Page 41: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/41.jpg)
Feature: Team Scoring 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
![Page 42: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/42.jpg)
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
![Page 43: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/43.jpg)
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
![Page 44: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/44.jpg)
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
![Page 45: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/45.jpg)
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
![Page 46: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/46.jpg)
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
![Page 47: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/47.jpg)
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
![Page 48: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/48.jpg)
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
![Page 49: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/49.jpg)
-JVM
Seb Rose,
Tuesday, 22 April 14
![Page 50: Let me tell you a story](https://reader034.vdocuments.site/reader034/viewer/2022042814/555c0264d8b42a5b448b537c/html5/thumbnails/50.jpg)
-JVM
Seb Rose,
Availa
ble 20
14
(hopef
ully)
Tuesday, 22 April 14