User Stories Applied: For Agile Software Developmentwriting

mike-cohnuser-storiesplanningrequirementsagile-practices
2004-03-01 · 1 min read · Edit on Pyrite

The definitive reference on user-stories as a requirements and planning technique in Agile development, written by mike-cohn and published in 2004. This book systematized and popularized the user story format beyond the XP community where it originated with ward-cunningham's CRC cards and the early practice of writing stories on index cards.

User stories as a practice

mike-cohn's book defined the canonical form of the user story: "As a [role], I want [feature], so that [benefit]." The book explains acceptance-criteria as the conditions that must be satisfied for a story to be considered complete — connecting stories to the definition-of-done concept and to testability.

The book covers:

  • Writing good stories (the INVEST criteria: Independent, Negotiable, Valuable, Estimable, Small, Testable)
  • Story splitting (decomposing large stories into smaller, implementable pieces)
  • Estimation using story points and relative sizing (preparatory ground for agile-estimating-and-planning)
  • Release planning and iteration planning
  • Acceptance testing based on stories
  • Relationship to XP

    user-stories originated in extreme-programming as a replacement for traditional requirements documentation. ward-cunningham and kent-beck developed the practice of writing stories on index cards as a collaboration tool between customers and developers. mike-cohn's book extracted this practice from the full XP context and made it accessible to teams using any Agile method, including scrum.

    This extraction was both valuable and problematic. Valuable because it spread a powerful technique. Problematic because, separated from XP's emphasis on acceptance-criteria and testability, user stories became in many organizations little more than wish lists written in the "As a user..." format without the verification teeth.

    Significance

    The book was the primary reason user stories became the de facto requirements format across the Agile ecosystem. It influenced scrum's adoption of the product backlog as a list of user stories (though the scrum-guide itself does not mandate the user story format). It also introduced many practitioners to relative estimation and story-points, connecting to mike-cohn's subsequent agile-estimating-and-planning.