Tuesday, March 19, 2024

Subscribe to the RSS Feed

Use cases – User Stories: so precious but not the same !

Posted by jc-Qualitystreet on 2009/01/23

Use cases and user stories are two popular ways to capture functional requirements. They’re both goal-oriented (a very good thing), can be discovered during user / customers workshops, can be easily combined with UX activities, and are used in Agile contexts.

Use cases and user Stories look similar; actually, they’re different. Here is the list of 14 major differences I’ve observed:

  1. A user story is a brief description of functionality as viewed by the user (Role → Goal); it doesn’t model the interaction between the actor and the system, what the use case does. A user story is not a sequence of actions.
  2. A user story is short and consist in one or two sentences written in the language of the user (example: As a recruiter, I can submit job vacancies). A role and a goal, then it is discussed. A use case is heavier, richer in information: goal, summary, actor, precondition, trigger event, main success scenario and extensions (alternative paths, errors …). Use case is (too much) detailed.
  3. A user story is smaller and can finally be seen as a part of a specific use case: the main success scenario or an extension
  4. User stories are used for planning. They play a major role in project estimation and planning (via story points and velocity). Use cases are not used for planning, even if you can use « use cases points » technique to estimate project size.
  5. User stories emerge faster than use cases; use cases require more time for analysis and writing
  6. User stories are more readable than use cases; use cases usually belong to a large word document, often poorly written and difficult to read even in a structured template
  7. User stories are easier to maintain than a 150 pages Use cases Document
  8. User stories are based on verbal communication and rely on collaboration, discussion and proximity to clarify details. Use case is a textual model (associated with diagrams): every thing is written !
  9. User stories are in theory written on cards (remember the 3 C rule: Card, Conversation, Confirmation): they’re not intended to be archived unlike use cases.
  10. A user story must be implemented and tested in one iteration; a specific use case can be implemented in several iterations: main success scenarion on iteration 1; extensions in Iteration 2 and 3 …
  11. User stories can be more easily written by a user or customer; most of the time use cases are written by user proxies (BA, Consultants …)
  12. User stories contain acceptance tests (validation criteria) written on the back of the story card; use case not: tests cases are created in a separate documentation
  13. Use cases provide a more holistic view of the system: precondition, UC diagram, sub use case. Linking user stories is less obvious. This is also a reason why UX and IxD activities are so important in agile contexts !
  14. Finally, Use cases and user stories were originally associated with two different methodologies (Unified Process vs eXtreme Programming). But both can be used with agile methods and unified process !

My preference:

I have almost a ten years experience with use cases. Alistair Cockburn’s book « Writting effective use cases » used to be my bible for years… but now, my preference tends to go to user stories model. And this is usually my recommendation to Agile Teams.

Why ?

  • User stories focus on what is really important
  • User stories are more appropriate for collaboration
  • User stories can perfectly be combined with UX activities (Personas, Storyboard, Wireframes):
    User stories + UX artifacts = Just enough