USER STORIES APPLIED:
FOR AGILE SOFTWARE
DEVELOPMENT

CHAPTER 4 GATHERING STORIES

David Ko
Trawling: the process of gathering
requirements
   Different-sized nets can
    be used to capture
    different-sized
    requirements
   The idea that
    requirements, like
    fish, mature and possibly
    die.
   You won't catch all of the
    fish in an area by trawling
   A skilled requirements
    trawler will know where to
    look for requirements
The key difference between
Waterfall and Agile
   Gathering Requirement process
     Waterfall
       emphasis  on getting all the requirements right and
       written early in the project
     Agile
       acknowledge   that it is impossible to get all of the user
       stories in one pass
One of the advantages of
working with stories is that it is
  very easy to write them at
   different levels of detail.
Even though we acknowledge the
 impossibility of writing all of the
      stories for a project.
We should still make an initial
upfront attempt to write those that
             we can,
even if many are written at a very
            high level
We can then evolve that story into
smaller, more useful stories later.
Techniques of gathering
requirements
   User interviews
   Questionnaires
   Observation
   Story-writing workshops
User interviews
   One of the keys to success with interviews is
    the selection of interviewees
   The best technique for getting to the essence
    of a user's needs is through the questions you
    ask.
Open-Ended and Context-Free
Questions
   give no room for anything other than a simple
    yes or no
   do not include an implied answer or
    preference
Questionnaires
   It is useful for a large user population.
   Questionnaires do not lend themselves to
    follow up questions
Disadv
   If you give the user a list of choices, then you
    may miss hearing about the features you've
    never thought of.
   Alternatively, if the user is allowed to respond
    with free-form text it will be difficult to tabulate
    answers.
Observation
   You can learn a lot from observing someone
    using my software
   Unfortunately, opportunities for user
    observation are rare
     unless
           you are developing for in-house
     customers.
Story-writing workshops
   We need different kinds of participants to
    attend this meeting
   Participants write as many stories as they can
   No priorities are associated with the stories at
    this point
     the   customer will have a chance to do that later
A good story-writing workshop
   Combines the best elements of brainstorming
    with low-fidelity prototyping
     paper,   note cards, or a white board
   The prototype is built up iteratively
   Not to identify actual screens and fields
   Rather, the conceptual workflows are identified
A low-fidelity prototype for
BigMoneyJobs
Process
   Identify one user role or persona first
   Draw the empty box and tell the participants
    that it’s the main screen
   Ask them what they can do here (action)
   For each action, draw a line to a new
    box, label that box, and write a story.
   Repeat the process using each role or
    persona so the order does not matter
Throw It Away
   Be sure to throw away or erase the low-fidelity
    prototype within a few days of creating it.
   A prototype is not a long-term artifact of your
    development process
   You don't want to cause any confusion by
    keeping it around.
During a story writing
 workshop the focus
should be on quantity
 rather than quality.
Even if you'll eventually keep
your stories electronically, during
 the story-writing workshop use
              cards.
You do not want to get bogged
down in lengthy debate over each
              story.

   If a story is redundant with or
  becomes replaced by a better
story later, then you can just rip up
               the story.

User stories applied ch4

  • 1.
    USER STORIES APPLIED: FORAGILE SOFTWARE DEVELOPMENT CHAPTER 4 GATHERING STORIES David Ko
  • 2.
    Trawling: the processof gathering requirements  Different-sized nets can be used to capture different-sized requirements  The idea that requirements, like fish, mature and possibly die.  You won't catch all of the fish in an area by trawling  A skilled requirements trawler will know where to look for requirements
  • 3.
    The key differencebetween Waterfall and Agile  Gathering Requirement process  Waterfall  emphasis on getting all the requirements right and written early in the project  Agile  acknowledge that it is impossible to get all of the user stories in one pass
  • 4.
    One of theadvantages of working with stories is that it is very easy to write them at different levels of detail.
  • 5.
    Even though weacknowledge the impossibility of writing all of the stories for a project.
  • 6.
    We should stillmake an initial upfront attempt to write those that we can, even if many are written at a very high level
  • 7.
    We can thenevolve that story into smaller, more useful stories later.
  • 8.
    Techniques of gathering requirements  User interviews  Questionnaires  Observation  Story-writing workshops
  • 9.
    User interviews  One of the keys to success with interviews is the selection of interviewees  The best technique for getting to the essence of a user's needs is through the questions you ask.
  • 10.
    Open-Ended and Context-Free Questions  give no room for anything other than a simple yes or no  do not include an implied answer or preference
  • 11.
    Questionnaires  It is useful for a large user population.  Questionnaires do not lend themselves to follow up questions
  • 12.
    Disadv  If you give the user a list of choices, then you may miss hearing about the features you've never thought of.  Alternatively, if the user is allowed to respond with free-form text it will be difficult to tabulate answers.
  • 13.
    Observation  You can learn a lot from observing someone using my software  Unfortunately, opportunities for user observation are rare  unless you are developing for in-house customers.
  • 14.
    Story-writing workshops  We need different kinds of participants to attend this meeting  Participants write as many stories as they can  No priorities are associated with the stories at this point  the customer will have a chance to do that later
  • 15.
    A good story-writingworkshop  Combines the best elements of brainstorming with low-fidelity prototyping  paper, note cards, or a white board  The prototype is built up iteratively  Not to identify actual screens and fields  Rather, the conceptual workflows are identified
  • 16.
    A low-fidelity prototypefor BigMoneyJobs
  • 17.
    Process  Identify one user role or persona first  Draw the empty box and tell the participants that it’s the main screen  Ask them what they can do here (action)  For each action, draw a line to a new box, label that box, and write a story.  Repeat the process using each role or persona so the order does not matter
  • 18.
    Throw It Away  Be sure to throw away or erase the low-fidelity prototype within a few days of creating it.  A prototype is not a long-term artifact of your development process  You don't want to cause any confusion by keeping it around.
  • 19.
    During a storywriting workshop the focus should be on quantity rather than quality.
  • 20.
    Even if you'lleventually keep your stories electronically, during the story-writing workshop use cards.
  • 21.
    You do notwant to get bogged down in lengthy debate over each story. If a story is redundant with or becomes replaced by a better story later, then you can just rip up the story.