Monday, January 21, 2008

User Story

My short summary of the book User Stories Applied by Mike Cohn

User story describes functionality that will be valuable to user or customer of a software.

User story consists of three parts:
  • Description
  • Conversation
  • Tests
As a general rule, user story description should be written without using technical or domain specific language. It must be understandable for both, developers and customer.

Conversation is short remainder about details of user story.

Tests are used to determinate if user story story is implemented and if user story is implemented correctly.

For me very nice example of user story in the book (although it is constraint) is:
A repeat customer must be able to find one book and complete an order in less than 90 seconds.

This user story has all important features of user story:
  • It is easy understandable for developer and customer
  • It does not use any technical or domain specific language
  • It is independent
  • It is easy testable
You can compare this user story to some more technical requirements like: search in database should be performed in no more than 2 secs. User must be able to navigate easy through pages. From these technical requirements you are not able to decide what is real intention of requirements.

For me this is already enough to be ready to give a user stories a chance :)

2 comments:

Mohammed Nour said...

Can you provide a sample user story document or template? How the story document looks like? Thanks!

jan said...

Format of user story should be:
As a [user_type] I want to [do] so I will achieve [this]

Example:
As a registered user I want to have advance search option so I can easier find interesting jobs.

Currently I don't have any document I would be able to provide as template but there are two options:

Use paper card. On one side write user story with description and on the second side write acceptance tests.

Second option: Use any word document, excel, bug tracking.
Title of item should be user story and the content should contain description and tests.

For sample of user story card you may want to have a look at this blog

Hope this helps