SlideShare ist ein Scribd-Unternehmen logo
1 von 99
Downloaden Sie, um offline zu lesen
Stefano Leli, Fabio Armani

User Story Writing

f.armani@open-ware.org - stefano.leli@gmail.com
What were they thinking?




                      Team


Product owner
What were they thinking?
•  Chose a product owner for each team
•  Product owners may only communicate with the
   team through imperatives (“it must have/do...”)
   or similes (“it’s like...”)
•  Cannot use the name of the thing in a sentence
   (“it must pour tea” for a teapot is not allowed)
•  Teams cannot ask questions
•  Teams have 2 minutes to draw the object seen
   by the PO
Star Trike
Moto RV
User Story Writing
   Fabio Armani, Stefano Leli   stefano.leli@gmail.com - f.armani@open-ware.org




What is a "User Story”
User Story: is
•  A User Story is a very high-level definition of a
   requirement, containing just enough information
   so that the developers can produce a
   reasonable estimate of the effort to implement
   it.
•  A User Story is a proposed solution from a user’s
   perspective.
•  User Stories have Acceptance Criteria (or
   Conditions of Satisfaction) and Validations.
User Story
•  The user story also serves as a metaphor for our
   entire, incremental-value-delivery approach, i.e.:
   –  define a valuable user value story
   –  implement and test it in a short iteration
   –  demonstrate/and or deliver it to the user
   –  capture feedback
   –  validate it from a business perspective
   –  learn
   –  repeat forever!
User Story
•  The user story can describe:
  –  Features
  –  Non-Functional Requirements
  –  Bug Fixes
•  It is the primary development artifact in XP/
   Agile development methodology
•  High level requirements document
•  Focuses on Who, What and Why of a feature
   and not How
What a "User Story" is not
User Story: is not
•  It is not a use case or a software requirement,
   i.e. a formal and long specification document
•  One of the biggest misunderstandings with user
   stories is how they differ from traditional
   requirements specifications
User Role: modeling
•  User Roles
   –  Various types of users
•  Role Modeling
   –    Brain storming
   –    Organizing
   –    Consolidating
   –    Refining
•  Personas
   –  Imaginary representation of an User Role
   –  Could use pictures too
•  Extreme Characters
User
 Tester                    UX

                      
Dev                         BA


          PO          SM
User Stories: gathering
•  User Interviews
   –  Select right interviewees
   –  Ask open-ended, context-free questions
•  Questionaries
   –  Best if there is a large user population
   –  When you need answers to specific questions
•  Observation
   –  Best for In-House developments
•  Story writing Workshops
   –  Effective during the initial phase of the project / release
Coin Sorting



How long will it take to sort this bag of coins?
3C
Card, conversation & confirmation
user stories need to be short and
concise enough so that they can fit
         on a single card
the conversation is much much
more important than the story itself
by definition, user stories must be
             testable
A User Story should cut
throughout all the layers of the
architecture
Initial User Stories (informal)
Example User Stories
Students can purchase monthly parking passes online.
Parking passes can be paid via credit cards.
Parking passes can be paid via PayPal ™.
Professors can input student marks.
Students can obtain their current seminar schedule.
Students can order official transcripts.
Students can only enroll in seminars for which they have prerequisites.
Transcripts will be available online via a standard browser.
#52



      Students can purchase monthly
          parking passes online

                             Priority: 8
                             Estimate: 4
Initial User Stories (formal)
#
        User Story Title
As a <user role> I want to
<goal> so that I can achieve
some <benefit>.
#52
 Purchase Monthly Parking Pass
As a student I want to purchase
an online monthly parking pass
so that I can drive to school.
#52
 Purchase Monthly Parking Pass
As a student I want to purchase
an online monthly parking pass
so that I can drive to school.
                       Priority: Must
                       Estimate: 5
#97
       Find Reviews Near Address
As a typical user I want to see unbiased
reviews of a restaurant near an address
so that I can decide where to go for
dinner.                      Priority: Must
                             Estimate: 8
#97
       Find Reviews Near Address
As a typical user I want to see unbiased
reviews of a restaurant near an address
so that I can decide where to go for
dinner.                      Priority: Should
                             Estimate: 5
what makes a good story




Bill Wakefield is credited with this acronym
INVEST in User Stories
•  Independent
  –  Avoid dependencies with other stories
  –  Write stories to establish foundation
  –  Combine stories if possible to deliver in a single iteration

•  Negotiable
  –  Stories are not a contract
  –  Too much detail up front gives the impression that more discussion on
     the story is not necessary
  –  Not every story must be negotiable, constraints may exist that prevent
     it

•  Valuable
  –  Each story should show value to the Users, Customers, and
     Stakeholders
INVEST in User Stories
•  Estimable
  –  Enough detail should be listed to allow the team to estimate
  –  The team will encounter problems estimating if the story is too big, if
     insufficient information is provided, or if there is a lack of domain
     knowledge

•  Sized Appropriately
  –  Each story should be small enough to be completed in a single iteration
  –  Stories that may be worked on in the near future should be smaller and
     more detailed
  –  Larger stories are acceptable if planned further out (Epics)

•  Testable
  –  Acceptance criteria should be stated in customer terms
  –  Tests should be automated whenever possible
  –  All team members should demand clear acceptance criteria
Independent
Independent
(Hands-On)
Acceptance Criteria
•  Acceptance criteria define the boundaries
   of a user story, and are used to confirm
   when a story is completed and working as
   intended.
Acceptance Criteria
•  AC represent high-level criteria from the
   perspective of the user or stakeholder.
•  It’s important to consider Positive and
   Negative criteria.
•  The PO should collaborate with testers to
   create good Acceptance Criteria
   (Conditions of Satisfactions).
#73
             Upload Files
AS A wiki user I WANT to upload a file to
the wiki SO THAT I can share it with my
colleagues
Conditions of Satisfactions
Verify with .txt and .doc files
Verify with .jpg, .gif and .png files
Verify with .mp4 files <= 1 GB
Verify no DRM-restricted files
#85
 View Attachments in Messages
AS A user viewing messages that contain more than
simple text
I WANT to be able to open them and see the
contents
SO THAT I can view the additional information and
understand the message fully
Acceptance Criteria

 As a conference attendee, I want to be able to register
    online, so I can register quickly and cut down on
                        paperwork.
Acceptance Criteria:
1.  A user cannot submit a form without completing all the mandatory
    fields
2.  Information from the form is stored in the registrations database
3.  Protection against spam is working
4.  Payment can be made via credit card
5.  An acknowledgment email is sent to the user after submitting the
    form.
Acceptance Criteria

   As a conference organizer, I want to send a ticket via
  email at the end of the online registration so that I can
              speed up the check-in process. 

Acceptance Criteria:
1.  The attendee must be inform that he will receive an email with an
    electronic ticket
2.  The email has been sent correctly
3.  The electronic ticket must have a QR code
4.  The QR code must be readable by a smartphone camera
Give-When-Then
•  Given-When-Then is a useful format for
   expressing testable acceptance criteria
•  Created by Dan North


              Given <context>
              When <action>
           Then <expected result>
Feature



 A user can view attachments, links,
images and stories contained within
             messages
#39
 View Attachments in Messages
AS A user viewing messages that contain more than
simple text
I WANT to be able to open them and see the
contents
SO THAT I can view the additional information and
understand the message fully
Acceptance Criteria

As a user I want to open the attachments contained in an
 email so that I can view the additional information and
              fully understand the message.
Acceptance Criteria:
1.  The user opens a message that contains a file attachment or story
2.  The user opens a message that contains a link
3.  The user opens a message that contains an image
Acceptance Criteria

              View Attachments in Messages
Acceptance Criteria:
Scenario: The user opens a message that contains a file attachment or
story

GIVEN the message contains a file attachment or story
WHEN I click the message link to open the message
THEN the message opens and shows the attached file or story
Acceptance Criteria

              View Attachments in Messages
Acceptance Criteria:
Scenario: The user opens a message that contains a link

GIVEN the message contains a link
WHEN I click the message link to open the message
THEN the message opens and shows the link as an active hyperlink
Acceptance Criteria

              View Attachments in Messages
Acceptance Criteria:
Scenario: The user opens a message that contains a file attachment or
story

GIVEN the message contains a file attachment or story
WHEN I click the message link to open the message
THEN the message opens and shows the attached file or story
Acceptance Criteria

             View Attachments in Messages
Acceptance Criteria:
Scenario: The user opens a message that contains an image

GIVEN the message contains an image attachment
WHEN I click the message link to open the message
AND hover my mouse of the image file posted in the message
THEN the image can be viewed as a thumbnail
Pros & Cons
ü    Short and Easy to modify as in when requirements
      changes
ü    Allow projects to be broken into small increments
ü    Easier to estimate the development effort
ü    Completed User stories can go for development
ü    It drives the creation of Acceptance tests
û    Initial learning curve
û    They require close customer contact
û    Rely more on competent developers
User Stories Applied
•  Mike Cohn
User Story Writing
                Fabio Armani, Stefano Leli   stefano.leli@gmail.com - f.armani@open-ware.org




stefano.leli@gmail.com                                 f.armani@open-ware.org
@sleli                                                 @fabioarmani
Epics
•  Epics are large user stories, typically ones
   which are too big to implement in a single
   iteration and therefore they need to be
   disaggregated into smaller user stories at
   some point. 
Preference Training Epic
As a typical user I want to train the system on what
types of product and service reviews I prefer so it will
know what characteristics to use when filtering
reviews on my behalf
Themes
•  A theme is a collection of related user stories. 
•  For example, for a university registration system
   there might be themes around students, course
   management, transcript generation, grade
   administration, financial processing.
•  Themes are often used to organize stories into
   releases or to organize them so that various sub-
   teams can work on them.
Keywords Training Theme
As a typical user I want to train the system on what
keywords to use when filtering reviews so I can filter
by words that are important to me
From Features to Tasks

                  Epic


        Feature


Story
Managing Epics
•  Epics are too large to estimate and can be split into
   multiple stories
•  Epics represents
   –  Complex functionality
   –  Placeholders for low priority stories
•  Types of Epics
   –  Compound Stories
   –  Complex Stories
•  Different ways to split Epics
   –  Various small actions in the Epic
   –  Along the boundaries of Data
   –  Depending on complexity
Managing Tiny Stories
•  Tiny stories are too short
•  Its better to
   –  Combine multiple tiny stories
   –  Group them into Themes
Creating User Stories
•  Sequentially numbered
•  Customer Focused
   –  Written from a User's perspective
   –  Better if written by the user
   –  Avoid technical jargons
•  Shouldn't be too short nor too long
•  Should be complete and testable
•  Should be able to implement by two people in a single
   iteration
•  Avoid infrastructure, technology or service elements
Talking to Users
•  Ask open ended questions
   –  closed = “Yes or No”
   –  open = “What would you be willing to trade for performance?”
•  Give user options (“This one or that one?”)
Story Writing
Story writing with your customer:
•  Low fidelity prototypes to get the main flows
•  Get breadth first
•  Use user roles / personas to help identify missing stories
•  Compare against competing products
Decomposing Stories
•  Compound Stories
   –  a number of smaller stories / scenarios
   –  split into meaningful chunks
•  Complex Stories
   –  if it’s largely unknown, consider a spike
   –  try find ‘natural’ seams in the story
•  Combining stories
   –  stories should be about 2 days work
   –  if too small combine e.g. bugs into one story
Splitting Stories
Splitting Stories
•  Patterns for splitting stories:
   –    Workflow steps
   –    Business rule variations
   –    Major / Minor effort
   –    Simple / Complex
   –    Variations in available data
   –    Data entry methods
   –    Defer performance
   –    Operations (e.g. create / update / delete)
   –    Spike
(Hands-On)
Technical Stories
Technical Stories
•  Adding CI, optimizing DB, upgrade to latest Oracle, etc.
   –  Consider trying to write a user story so that you are forced to
      define the business value
•  No user facing functionality, e.g. Rating engine
   consumes some output
   –  Consider writing as a user story with the engine as the user
   –  e.g: As the rating engine, I want well formed CDR’s so that I can
      minimize error logging
  Don’t hurt yourself trying to force it; sometimes it’s OK not to
  use the format
  Be careful that these aren’t tasks that have been elevated to
  stories ...
Story: smells
•    Too small or too big
•    Estimates don’t converge
•    No scenarios / acceptance criteria
•    Interdependent
•    Gold-plating
Story: more smells
•    Too detailed
•    UI defined
•    Thinking too far ahead
•    Splitting too frequently
•    Trouble prioritising
•    Technical language
Pros & Cons
ü    Short and Easy to modify as in when requirements
      changes
ü    Allow projects to be broken into small increments
ü    Easier to estimate the development effort
ü    Completed User stories can go for development
ü    It drives the creation of Acceptance tests
û    Initial learning curve
û    They require close customer contact
û    Rely more on competent developers
User Stories Applied
•  Mike Cohn
User Story Writing
                Fabio Armani, Stefano Leli   stefano.leli@gmail.com - f.armani@open-ware.org




stefano.leli@gmail.com                                 f.armani@open-ware.org
@sleli                                                 @fabioarmani

Weitere ähnliche Inhalte

Was ist angesagt?

Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Easy Agile
 
IIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaSteven HK Ma | 馬國豪
 
User story splitting techniques
User story splitting techniquesUser story splitting techniques
User story splitting techniquesAshutosh Rai
 
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step ProcessSplitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step ProcessStephen Tucker
 
Introducing Agile User Stories
Introducing Agile User StoriesIntroducing Agile User Stories
Introducing Agile User StoriesRam Srivastava
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)Mai Quay
 
User story slicing
User story slicing User story slicing
User story slicing Ankit Tandon
 
User stories — how to cook a cat?
User stories — how to cook a cat?User stories — how to cook a cat?
User stories — how to cook a cat?Vladimir Tarasov
 
[HCM Scrum Breakfast] Agile estimation - Story points
[HCM Scrum Breakfast] Agile estimation - Story points[HCM Scrum Breakfast] Agile estimation - Story points
[HCM Scrum Breakfast] Agile estimation - Story pointsScrum Breakfast Vietnam
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story WorkshopPeter Antman
 
Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)one80
 

Was ist angesagt? (20)

Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories
 
IIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteria
 
Story of user story
Story of user storyStory of user story
Story of user story
 
User story splitting techniques
User story splitting techniquesUser story splitting techniques
User story splitting techniques
 
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step ProcessSplitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
 
User Stories Fundamentals
User Stories FundamentalsUser Stories Fundamentals
User Stories Fundamentals
 
User Stories explained
User Stories explainedUser Stories explained
User Stories explained
 
Epics and User Stories
Epics and User StoriesEpics and User Stories
Epics and User Stories
 
Introducing Agile User Stories
Introducing Agile User StoriesIntroducing Agile User Stories
Introducing Agile User Stories
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)
 
User Stories
User StoriesUser Stories
User Stories
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
User story slicing
User story slicing User story slicing
User story slicing
 
User stories — how to cook a cat?
User stories — how to cook a cat?User stories — how to cook a cat?
User stories — how to cook a cat?
 
How to write good user stories
How to write good user storiesHow to write good user stories
How to write good user stories
 
User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
Effective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum teamEffective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum team
 
[HCM Scrum Breakfast] Agile estimation - Story points
[HCM Scrum Breakfast] Agile estimation - Story points[HCM Scrum Breakfast] Agile estimation - Story points
[HCM Scrum Breakfast] Agile estimation - Story points
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story Workshop
 
Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)
 

Andere mochten auch

Design patterns - parte 1
Design patterns - parte 1Design patterns - parte 1
Design patterns - parte 1Fabio Armani
 
Scaling Lean Agile - mini iad 2014
Scaling Lean Agile - mini iad 2014Scaling Lean Agile - mini iad 2014
Scaling Lean Agile - mini iad 2014Fabio Armani
 
User Story Mapping - mini iad 2014 (Armani, Rodriguez)
User Story Mapping - mini iad 2014 (Armani, Rodriguez)User Story Mapping - mini iad 2014 (Armani, Rodriguez)
User Story Mapping - mini iad 2014 (Armani, Rodriguez)Fabio Armani
 
Impact Mapping LEGO Game - Agile Business Day 2016
Impact Mapping LEGO Game - Agile Business Day 2016Impact Mapping LEGO Game - Agile Business Day 2016
Impact Mapping LEGO Game - Agile Business Day 2016Fabio Armani
 
Business Agility 2017 (final)
Business Agility 2017 (final)Business Agility 2017 (final)
Business Agility 2017 (final)Fabio Armani
 
Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011Fabio Armani
 
Lean Change Management (part II) - IAD 2014
Lean Change Management (part II) - IAD 2014Lean Change Management (part II) - IAD 2014
Lean Change Management (part II) - IAD 2014Fabio Armani
 
Enterprise Flex Using Cairngorm
Enterprise Flex Using CairngormEnterprise Flex Using Cairngorm
Enterprise Flex Using CairngormJaibeer Malik
 
Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Fabio Armani
 
Chorale 2 the Tao of Change
Chorale 2   the Tao of ChangeChorale 2   the Tao of Change
Chorale 2 the Tao of ChangeFabio Armani
 
Scaling lean agile agile prage 2014 (armani)
Scaling lean agile   agile prage 2014 (armani)Scaling lean agile   agile prage 2014 (armani)
Scaling lean agile agile prage 2014 (armani)Fabio Armani
 
Scrum buts » but Scrum - which is worse?
Scrum buts » but Scrum - which is worse?Scrum buts » but Scrum - which is worse?
Scrum buts » but Scrum - which is worse?Fabio Armani
 

Andere mochten auch (13)

Design patterns - parte 1
Design patterns - parte 1Design patterns - parte 1
Design patterns - parte 1
 
Scaling Lean Agile - mini iad 2014
Scaling Lean Agile - mini iad 2014Scaling Lean Agile - mini iad 2014
Scaling Lean Agile - mini iad 2014
 
User Story Mapping - mini iad 2014 (Armani, Rodriguez)
User Story Mapping - mini iad 2014 (Armani, Rodriguez)User Story Mapping - mini iad 2014 (Armani, Rodriguez)
User Story Mapping - mini iad 2014 (Armani, Rodriguez)
 
Impact Mapping LEGO Game - Agile Business Day 2016
Impact Mapping LEGO Game - Agile Business Day 2016Impact Mapping LEGO Game - Agile Business Day 2016
Impact Mapping LEGO Game - Agile Business Day 2016
 
Business Agility 2017 (final)
Business Agility 2017 (final)Business Agility 2017 (final)
Business Agility 2017 (final)
 
Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
Scrumban a Methodology Fusion - Bettersoftware & Codemotion 2011
 
Lean Change Management (part II) - IAD 2014
Lean Change Management (part II) - IAD 2014Lean Change Management (part II) - IAD 2014
Lean Change Management (part II) - IAD 2014
 
Enterprise Flex Using Cairngorm
Enterprise Flex Using CairngormEnterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
 
Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)
 
Chorale 2 the Tao of Change
Chorale 2   the Tao of ChangeChorale 2   the Tao of Change
Chorale 2 the Tao of Change
 
Jdbc complete
Jdbc completeJdbc complete
Jdbc complete
 
Scaling lean agile agile prage 2014 (armani)
Scaling lean agile   agile prage 2014 (armani)Scaling lean agile   agile prage 2014 (armani)
Scaling lean agile agile prage 2014 (armani)
 
Scrum buts » but Scrum - which is worse?
Scrum buts » but Scrum - which is worse?Scrum buts » but Scrum - which is worse?
Scrum buts » but Scrum - which is worse?
 

Ähnlich wie User Stories Writing - Codemotion 2013

The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User StoryXPDays
 
User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanAgile Testing Alliance
 
Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & DiscoveryTarun Singh
 
User Stories writing - Bettersoftware 2012
User Stories writing - Bettersoftware 2012User Stories writing - Bettersoftware 2012
User Stories writing - Bettersoftware 2012Fabio Armani
 
Right amount of details to the user story
Right amount of details to the user storyRight amount of details to the user story
Right amount of details to the user storyRamyaShastri1
 
Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Ravi Tadwalkar
 
Agile: JAD Requirements Elicitation
Agile:  JAD Requirements ElicitationAgile:  JAD Requirements Elicitation
Agile: JAD Requirements ElicitationErnadel Sioson
 
User Stories Writing
User Stories WritingUser Stories Writing
User Stories WritingStefano Leli
 
Breaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile MethodologyBreaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile MethodologyMario Lucero
 
A11y user stories CSUN 2018
A11y user stories CSUN 2018A11y user stories CSUN 2018
A11y user stories CSUN 2018Intopia
 
A11y user stories csun 2018
A11y user stories csun 2018A11y user stories csun 2018
A11y user stories csun 2018Intopia
 
Introduction to Agile Requirements, Estimation
Introduction to Agile Requirements, Estimation  Introduction to Agile Requirements, Estimation
Introduction to Agile Requirements, Estimation Abhilash Chandran
 

Ähnlich wie User Stories Writing - Codemotion 2013 (20)

The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User Story
 
User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh Varadharajan
 
Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & Discovery
 
User Stories writing - Bettersoftware 2012
User Stories writing - Bettersoftware 2012User Stories writing - Bettersoftware 2012
User Stories writing - Bettersoftware 2012
 
Right amount of details to the user story
Right amount of details to the user storyRight amount of details to the user story
Right amount of details to the user story
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...
 
Agile: JAD Requirements Elicitation
Agile:  JAD Requirements ElicitationAgile:  JAD Requirements Elicitation
Agile: JAD Requirements Elicitation
 
Splitting User Stories
Splitting User StoriesSplitting User Stories
Splitting User Stories
 
User stories
User storiesUser stories
User stories
 
User Stories Writing
User Stories WritingUser Stories Writing
User Stories Writing
 
Breaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile MethodologyBreaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile Methodology
 
Story writing
Story writingStory writing
Story writing
 
Agile Scrum - Crafting user stories
Agile Scrum - Crafting user storiesAgile Scrum - Crafting user stories
Agile Scrum - Crafting user stories
 
A11y user stories CSUN 2018
A11y user stories CSUN 2018A11y user stories CSUN 2018
A11y user stories CSUN 2018
 
A11y user stories csun 2018
A11y user stories csun 2018A11y user stories csun 2018
A11y user stories csun 2018
 
Introduction to Agile Requirements, Estimation
Introduction to Agile Requirements, Estimation  Introduction to Agile Requirements, Estimation
Introduction to Agile Requirements, Estimation
 
User Stories
User StoriesUser Stories
User Stories
 
Story Cards
Story CardsStory Cards
Story Cards
 

Mehr von Fabio Armani

Agile Music from the Trenches
Agile Music from the TrenchesAgile Music from the Trenches
Agile Music from the TrenchesFabio Armani
 
Alien eXperience - FuffaDay 2022 (Fabio Armani & Virginia Capoluongo)
Alien eXperience - FuffaDay 2022 (Fabio Armani & Virginia Capoluongo)Alien eXperience - FuffaDay 2022 (Fabio Armani & Virginia Capoluongo)
Alien eXperience - FuffaDay 2022 (Fabio Armani & Virginia Capoluongo)Fabio Armani
 
Product Values - Ethical Considerations - ver 1.4 (no video).pdf
Product Values - Ethical Considerations - ver 1.4 (no video).pdfProduct Values - Ethical Considerations - ver 1.4 (no video).pdf
Product Values - Ethical Considerations - ver 1.4 (no video).pdfFabio Armani
 
Surfing on the Edge of Chaos
Surfing on the Edge of ChaosSurfing on the Edge of Chaos
Surfing on the Edge of ChaosFabio Armani
 
Agile marketing - beyond it 2021
Agile marketing - beyond it 2021Agile marketing - beyond it 2021
Agile marketing - beyond it 2021Fabio Armani
 
Agile Myths and Pitfalls - 2020 (ver 0.8)
Agile Myths and Pitfalls - 2020 (ver 0.8)Agile Myths and Pitfalls - 2020 (ver 0.8)
Agile Myths and Pitfalls - 2020 (ver 0.8)Fabio Armani
 
Appreciative Inquiry - an overview
Appreciative Inquiry - an overviewAppreciative Inquiry - an overview
Appreciative Inquiry - an overviewFabio Armani
 
Appreciative Inquiry - an introduction
Appreciative Inquiry - an introductionAppreciative Inquiry - an introduction
Appreciative Inquiry - an introductionFabio Armani
 
Mapping the Change - final
Mapping the Change - final Mapping the Change - final
Mapping the Change - final Fabio Armani
 
Manifiesto de Mañana Programming
Manifiesto de Mañana Programming Manifiesto de Mañana Programming
Manifiesto de Mañana Programming Fabio Armani
 
From Manana Programming to Zen Delivery (final) - 2019
From Manana Programming to Zen Delivery (final) - 2019From Manana Programming to Zen Delivery (final) - 2019
From Manana Programming to Zen Delivery (final) - 2019Fabio Armani
 
Human Side of Agile (Agile Venture 2019)
Human Side of Agile (Agile Venture 2019)Human Side of Agile (Agile Venture 2019)
Human Side of Agile (Agile Venture 2019)Fabio Armani
 
Psychological Safety - ABD19
Psychological Safety - ABD19Psychological Safety - ABD19
Psychological Safety - ABD19Fabio Armani
 
Enterprise lean agile 2018 challenges ver 0.3
Enterprise lean agile 2018   challenges ver 0.3Enterprise lean agile 2018   challenges ver 0.3
Enterprise lean agile 2018 challenges ver 0.3Fabio Armani
 
Lean Change Management (part I) - IAD 2014
Lean Change Management (part I) - IAD 2014Lean Change Management (part I) - IAD 2014
Lean Change Management (part I) - IAD 2014Fabio Armani
 
Mapping the Value (Agilia Budapest 2016)
Mapping the Value (Agilia Budapest 2016)Mapping the Value (Agilia Budapest 2016)
Mapping the Value (Agilia Budapest 2016)Fabio Armani
 
Design Patterns - Enterprise Patterns (part 2)
Design Patterns - Enterprise Patterns (part 2)Design Patterns - Enterprise Patterns (part 2)
Design Patterns - Enterprise Patterns (part 2)Fabio Armani
 
Agile requirements - alla ricerca del filo rosso (iad 2013)
Agile requirements - alla ricerca del filo rosso (iad 2013)Agile requirements - alla ricerca del filo rosso (iad 2013)
Agile requirements - alla ricerca del filo rosso (iad 2013)Fabio Armani
 
Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013  Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013 Fabio Armani
 

Mehr von Fabio Armani (19)

Agile Music from the Trenches
Agile Music from the TrenchesAgile Music from the Trenches
Agile Music from the Trenches
 
Alien eXperience - FuffaDay 2022 (Fabio Armani & Virginia Capoluongo)
Alien eXperience - FuffaDay 2022 (Fabio Armani & Virginia Capoluongo)Alien eXperience - FuffaDay 2022 (Fabio Armani & Virginia Capoluongo)
Alien eXperience - FuffaDay 2022 (Fabio Armani & Virginia Capoluongo)
 
Product Values - Ethical Considerations - ver 1.4 (no video).pdf
Product Values - Ethical Considerations - ver 1.4 (no video).pdfProduct Values - Ethical Considerations - ver 1.4 (no video).pdf
Product Values - Ethical Considerations - ver 1.4 (no video).pdf
 
Surfing on the Edge of Chaos
Surfing on the Edge of ChaosSurfing on the Edge of Chaos
Surfing on the Edge of Chaos
 
Agile marketing - beyond it 2021
Agile marketing - beyond it 2021Agile marketing - beyond it 2021
Agile marketing - beyond it 2021
 
Agile Myths and Pitfalls - 2020 (ver 0.8)
Agile Myths and Pitfalls - 2020 (ver 0.8)Agile Myths and Pitfalls - 2020 (ver 0.8)
Agile Myths and Pitfalls - 2020 (ver 0.8)
 
Appreciative Inquiry - an overview
Appreciative Inquiry - an overviewAppreciative Inquiry - an overview
Appreciative Inquiry - an overview
 
Appreciative Inquiry - an introduction
Appreciative Inquiry - an introductionAppreciative Inquiry - an introduction
Appreciative Inquiry - an introduction
 
Mapping the Change - final
Mapping the Change - final Mapping the Change - final
Mapping the Change - final
 
Manifiesto de Mañana Programming
Manifiesto de Mañana Programming Manifiesto de Mañana Programming
Manifiesto de Mañana Programming
 
From Manana Programming to Zen Delivery (final) - 2019
From Manana Programming to Zen Delivery (final) - 2019From Manana Programming to Zen Delivery (final) - 2019
From Manana Programming to Zen Delivery (final) - 2019
 
Human Side of Agile (Agile Venture 2019)
Human Side of Agile (Agile Venture 2019)Human Side of Agile (Agile Venture 2019)
Human Side of Agile (Agile Venture 2019)
 
Psychological Safety - ABD19
Psychological Safety - ABD19Psychological Safety - ABD19
Psychological Safety - ABD19
 
Enterprise lean agile 2018 challenges ver 0.3
Enterprise lean agile 2018   challenges ver 0.3Enterprise lean agile 2018   challenges ver 0.3
Enterprise lean agile 2018 challenges ver 0.3
 
Lean Change Management (part I) - IAD 2014
Lean Change Management (part I) - IAD 2014Lean Change Management (part I) - IAD 2014
Lean Change Management (part I) - IAD 2014
 
Mapping the Value (Agilia Budapest 2016)
Mapping the Value (Agilia Budapest 2016)Mapping the Value (Agilia Budapest 2016)
Mapping the Value (Agilia Budapest 2016)
 
Design Patterns - Enterprise Patterns (part 2)
Design Patterns - Enterprise Patterns (part 2)Design Patterns - Enterprise Patterns (part 2)
Design Patterns - Enterprise Patterns (part 2)
 
Agile requirements - alla ricerca del filo rosso (iad 2013)
Agile requirements - alla ricerca del filo rosso (iad 2013)Agile requirements - alla ricerca del filo rosso (iad 2013)
Agile requirements - alla ricerca del filo rosso (iad 2013)
 
Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013  Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013
 

Kürzlich hochgeladen

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 

User Stories Writing - Codemotion 2013

  • 1. Stefano Leli, Fabio Armani User Story Writing f.armani@open-ware.org - stefano.leli@gmail.com
  • 2. What were they thinking? Team Product owner
  • 3. What were they thinking? •  Chose a product owner for each team •  Product owners may only communicate with the team through imperatives (“it must have/do...”) or similes (“it’s like...”) •  Cannot use the name of the thing in a sentence (“it must pour tea” for a teapot is not allowed) •  Teams cannot ask questions •  Teams have 2 minutes to draw the object seen by the PO
  • 4.
  • 5.
  • 6.
  • 7.
  • 10.
  • 11. User Story Writing Fabio Armani, Stefano Leli stefano.leli@gmail.com - f.armani@open-ware.org What is a "User Story”
  • 12. User Story: is •  A User Story is a very high-level definition of a requirement, containing just enough information so that the developers can produce a reasonable estimate of the effort to implement it. •  A User Story is a proposed solution from a user’s perspective. •  User Stories have Acceptance Criteria (or Conditions of Satisfaction) and Validations.
  • 13. User Story •  The user story also serves as a metaphor for our entire, incremental-value-delivery approach, i.e.: –  define a valuable user value story –  implement and test it in a short iteration –  demonstrate/and or deliver it to the user –  capture feedback –  validate it from a business perspective –  learn –  repeat forever!
  • 14. User Story •  The user story can describe: –  Features –  Non-Functional Requirements –  Bug Fixes •  It is the primary development artifact in XP/ Agile development methodology •  High level requirements document •  Focuses on Who, What and Why of a feature and not How
  • 15. What a "User Story" is not
  • 16. User Story: is not •  It is not a use case or a software requirement, i.e. a formal and long specification document •  One of the biggest misunderstandings with user stories is how they differ from traditional requirements specifications
  • 17.
  • 18.
  • 19. User Role: modeling •  User Roles –  Various types of users •  Role Modeling –  Brain storming –  Organizing –  Consolidating –  Refining •  Personas –  Imaginary representation of an User Role –  Could use pictures too •  Extreme Characters
  • 20. User Tester UX Dev BA PO SM
  • 21. User Stories: gathering •  User Interviews –  Select right interviewees –  Ask open-ended, context-free questions •  Questionaries –  Best if there is a large user population –  When you need answers to specific questions •  Observation –  Best for In-House developments •  Story writing Workshops –  Effective during the initial phase of the project / release
  • 22. Coin Sorting How long will it take to sort this bag of coins?
  • 23.
  • 24. 3C Card, conversation & confirmation
  • 25.
  • 26.
  • 27. user stories need to be short and concise enough so that they can fit on a single card
  • 28.
  • 29.
  • 30. the conversation is much much more important than the story itself
  • 31.
  • 32.
  • 33. by definition, user stories must be testable
  • 34. A User Story should cut throughout all the layers of the architecture
  • 35. Initial User Stories (informal)
  • 36. Example User Stories Students can purchase monthly parking passes online. Parking passes can be paid via credit cards. Parking passes can be paid via PayPal ™. Professors can input student marks. Students can obtain their current seminar schedule. Students can order official transcripts. Students can only enroll in seminars for which they have prerequisites. Transcripts will be available online via a standard browser.
  • 37. #52 Students can purchase monthly parking passes online Priority: 8 Estimate: 4
  • 39. # User Story Title As a <user role> I want to <goal> so that I can achieve some <benefit>.
  • 40. #52 Purchase Monthly Parking Pass As a student I want to purchase an online monthly parking pass so that I can drive to school.
  • 41. #52 Purchase Monthly Parking Pass As a student I want to purchase an online monthly parking pass so that I can drive to school. Priority: Must Estimate: 5
  • 42. #97 Find Reviews Near Address As a typical user I want to see unbiased reviews of a restaurant near an address so that I can decide where to go for dinner. Priority: Must Estimate: 8
  • 43. #97 Find Reviews Near Address As a typical user I want to see unbiased reviews of a restaurant near an address so that I can decide where to go for dinner. Priority: Should Estimate: 5
  • 44.
  • 45. what makes a good story Bill Wakefield is credited with this acronym
  • 46. INVEST in User Stories •  Independent –  Avoid dependencies with other stories –  Write stories to establish foundation –  Combine stories if possible to deliver in a single iteration •  Negotiable –  Stories are not a contract –  Too much detail up front gives the impression that more discussion on the story is not necessary –  Not every story must be negotiable, constraints may exist that prevent it •  Valuable –  Each story should show value to the Users, Customers, and Stakeholders
  • 47. INVEST in User Stories •  Estimable –  Enough detail should be listed to allow the team to estimate –  The team will encounter problems estimating if the story is too big, if insufficient information is provided, or if there is a lack of domain knowledge •  Sized Appropriately –  Each story should be small enough to be completed in a single iteration –  Stories that may be worked on in the near future should be smaller and more detailed –  Larger stories are acceptable if planned further out (Epics) •  Testable –  Acceptance criteria should be stated in customer terms –  Tests should be automated whenever possible –  All team members should demand clear acceptance criteria
  • 50.
  • 52.
  • 53. Acceptance Criteria •  Acceptance criteria define the boundaries of a user story, and are used to confirm when a story is completed and working as intended.
  • 54. Acceptance Criteria •  AC represent high-level criteria from the perspective of the user or stakeholder. •  It’s important to consider Positive and Negative criteria. •  The PO should collaborate with testers to create good Acceptance Criteria (Conditions of Satisfactions).
  • 55. #73 Upload Files AS A wiki user I WANT to upload a file to the wiki SO THAT I can share it with my colleagues
  • 56. Conditions of Satisfactions Verify with .txt and .doc files Verify with .jpg, .gif and .png files Verify with .mp4 files <= 1 GB Verify no DRM-restricted files
  • 57. #85 View Attachments in Messages AS A user viewing messages that contain more than simple text I WANT to be able to open them and see the contents SO THAT I can view the additional information and understand the message fully
  • 58. Acceptance Criteria As a conference attendee, I want to be able to register online, so I can register quickly and cut down on paperwork. Acceptance Criteria: 1.  A user cannot submit a form without completing all the mandatory fields 2.  Information from the form is stored in the registrations database 3.  Protection against spam is working 4.  Payment can be made via credit card 5.  An acknowledgment email is sent to the user after submitting the form.
  • 59. Acceptance Criteria As a conference organizer, I want to send a ticket via email at the end of the online registration so that I can speed up the check-in process.  Acceptance Criteria: 1.  The attendee must be inform that he will receive an email with an electronic ticket 2.  The email has been sent correctly 3.  The electronic ticket must have a QR code 4.  The QR code must be readable by a smartphone camera
  • 60. Give-When-Then •  Given-When-Then is a useful format for expressing testable acceptance criteria •  Created by Dan North Given <context> When <action> Then <expected result>
  • 61. Feature A user can view attachments, links, images and stories contained within messages
  • 62. #39 View Attachments in Messages AS A user viewing messages that contain more than simple text I WANT to be able to open them and see the contents SO THAT I can view the additional information and understand the message fully
  • 63. Acceptance Criteria As a user I want to open the attachments contained in an email so that I can view the additional information and fully understand the message. Acceptance Criteria: 1.  The user opens a message that contains a file attachment or story 2.  The user opens a message that contains a link 3.  The user opens a message that contains an image
  • 64. Acceptance Criteria View Attachments in Messages Acceptance Criteria: Scenario: The user opens a message that contains a file attachment or story GIVEN the message contains a file attachment or story WHEN I click the message link to open the message THEN the message opens and shows the attached file or story
  • 65. Acceptance Criteria View Attachments in Messages Acceptance Criteria: Scenario: The user opens a message that contains a link GIVEN the message contains a link WHEN I click the message link to open the message THEN the message opens and shows the link as an active hyperlink
  • 66. Acceptance Criteria View Attachments in Messages Acceptance Criteria: Scenario: The user opens a message that contains a file attachment or story GIVEN the message contains a file attachment or story WHEN I click the message link to open the message THEN the message opens and shows the attached file or story
  • 67. Acceptance Criteria View Attachments in Messages Acceptance Criteria: Scenario: The user opens a message that contains an image GIVEN the message contains an image attachment WHEN I click the message link to open the message AND hover my mouse of the image file posted in the message THEN the image can be viewed as a thumbnail
  • 68. Pros & Cons ü  Short and Easy to modify as in when requirements changes ü  Allow projects to be broken into small increments ü  Easier to estimate the development effort ü  Completed User stories can go for development ü  It drives the creation of Acceptance tests û  Initial learning curve û  They require close customer contact û  Rely more on competent developers
  • 70. User Story Writing Fabio Armani, Stefano Leli stefano.leli@gmail.com - f.armani@open-ware.org stefano.leli@gmail.com f.armani@open-ware.org @sleli @fabioarmani
  • 71.
  • 72.
  • 73. Epics •  Epics are large user stories, typically ones which are too big to implement in a single iteration and therefore they need to be disaggregated into smaller user stories at some point. 
  • 74. Preference Training Epic As a typical user I want to train the system on what types of product and service reviews I prefer so it will know what characteristics to use when filtering reviews on my behalf
  • 75.
  • 76.
  • 77.
  • 78.
  • 79. Themes •  A theme is a collection of related user stories.  •  For example, for a university registration system there might be themes around students, course management, transcript generation, grade administration, financial processing. •  Themes are often used to organize stories into releases or to organize them so that various sub- teams can work on them.
  • 80. Keywords Training Theme As a typical user I want to train the system on what keywords to use when filtering reviews so I can filter by words that are important to me
  • 81. From Features to Tasks Epic Feature Story
  • 82. Managing Epics •  Epics are too large to estimate and can be split into multiple stories •  Epics represents –  Complex functionality –  Placeholders for low priority stories •  Types of Epics –  Compound Stories –  Complex Stories •  Different ways to split Epics –  Various small actions in the Epic –  Along the boundaries of Data –  Depending on complexity
  • 83. Managing Tiny Stories •  Tiny stories are too short •  Its better to –  Combine multiple tiny stories –  Group them into Themes
  • 84. Creating User Stories •  Sequentially numbered •  Customer Focused –  Written from a User's perspective –  Better if written by the user –  Avoid technical jargons •  Shouldn't be too short nor too long •  Should be complete and testable •  Should be able to implement by two people in a single iteration •  Avoid infrastructure, technology or service elements
  • 85.
  • 86. Talking to Users •  Ask open ended questions –  closed = “Yes or No” –  open = “What would you be willing to trade for performance?” •  Give user options (“This one or that one?”)
  • 87. Story Writing Story writing with your customer: •  Low fidelity prototypes to get the main flows •  Get breadth first •  Use user roles / personas to help identify missing stories •  Compare against competing products
  • 88. Decomposing Stories •  Compound Stories –  a number of smaller stories / scenarios –  split into meaningful chunks •  Complex Stories –  if it’s largely unknown, consider a spike –  try find ‘natural’ seams in the story •  Combining stories –  stories should be about 2 days work –  if too small combine e.g. bugs into one story
  • 90. Splitting Stories •  Patterns for splitting stories: –  Workflow steps –  Business rule variations –  Major / Minor effort –  Simple / Complex –  Variations in available data –  Data entry methods –  Defer performance –  Operations (e.g. create / update / delete) –  Spike
  • 92.
  • 94. Technical Stories •  Adding CI, optimizing DB, upgrade to latest Oracle, etc. –  Consider trying to write a user story so that you are forced to define the business value •  No user facing functionality, e.g. Rating engine consumes some output –  Consider writing as a user story with the engine as the user –  e.g: As the rating engine, I want well formed CDR’s so that I can minimize error logging Don’t hurt yourself trying to force it; sometimes it’s OK not to use the format Be careful that these aren’t tasks that have been elevated to stories ...
  • 95. Story: smells •  Too small or too big •  Estimates don’t converge •  No scenarios / acceptance criteria •  Interdependent •  Gold-plating
  • 96. Story: more smells •  Too detailed •  UI defined •  Thinking too far ahead •  Splitting too frequently •  Trouble prioritising •  Technical language
  • 97. Pros & Cons ü  Short and Easy to modify as in when requirements changes ü  Allow projects to be broken into small increments ü  Easier to estimate the development effort ü  Completed User stories can go for development ü  It drives the creation of Acceptance tests û  Initial learning curve û  They require close customer contact û  Rely more on competent developers
  • 99. User Story Writing Fabio Armani, Stefano Leli stefano.leli@gmail.com - f.armani@open-ware.org stefano.leli@gmail.com f.armani@open-ware.org @sleli @fabioarmani