Let me tell you a story
Seb RoseClaysnow Limited
@sebrose
Tuesday, 22 April 14
Tuesday, 22 April 14
Tuesday, 22 April 14
VISA subscriptionsIn order to increase subscriptions
visitors should be able to
subscribe online with a VISA card
Tuesday, 22 April 14
“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
Nothing I can testDifficult to prioritise
Tuesday, 22 April 14
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 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
-- 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 concrete.
-- 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 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
“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
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
criteriaExamples
Tuesday, 22 April 14
The one where...
User stories & acceptance
criteriaExamples
Tuesday, 22 April 14
The one where...
User stories & acceptance
criteriaExamples
Open questions
Tuesday, 22 April 14
The one where...
User stories & acceptance
criteriaExamples
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 credit card number• ...
Credit Card ProcessingAcceptance criteria:
Tuesday, 22 April 14
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
Acceptance Criteria(Rules)
Examples
User Story
Tuesday, 22 April 14
Acceptance Criteria(Rules)
ExamplesExamples help us to explore and test the acceptance criteria together
User Story
Tuesday, 22 April 14
Tuesday, 22 April 14
In order to introduce a competitive elementparticipants should be able toget points for a successful answer
SCORING THE GAME
Tuesday, 22 April 14
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 the same?
Can the score be negative?
What happens if the answer is wrong?
Tuesday, 22 April 14
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
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 score Then my score is 0
Tuesday, 22 April 14
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 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
Points awarded for an answer depend on its difficulty
Acceptance criteria:
Tuesday, 22 April 14
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
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
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
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
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
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
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
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
-JVM
Seb Rose,
Tuesday, 22 April 14
-JVM
Seb Rose,
Availa
ble 20
14
(hopef
ully)
Tuesday, 22 April 14