Wednesday, January 23, 2008

User Story - Define Roles

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

In the previous post I summarized basic attributes of good user stories (INVEST attributes). In this post I will summarize while user roles are important.

In the most of cases in each software systems there are different roles that are interacting with it. Before you start writing your user stories you should think about roles that will interact with your system.

This way you will avoid situation when all your user stories start with "As an user...."
This way you will have better understanding what capabilities you system should have.
Having roles it may very easy happen that you will discover user stories that you would probably forget in the first moment.

How do you come to roles:
  • Make brainstorm about initial set of roles
  • organize initial set of roles
  • consolidate roles
  • refine roles
Of course, brainstorming should not take more than hour. After this hour you should have better ideas of user roles supported by your system.
Having roles you are able to write better user stories because very often role gives additional clarity to the user story.

There are some additional techniques for defining roles: personas and extreme characters.
Personas and extreme characters can give another view into you system but you should use them only if your project really requires that.

No comments: