preload
Dec 04

I have earlier written a post about writing user stories for agile (Scrum) projects. During several projects I have now refined the way I do this and in this post I will explain my preferred way to write user stories.

I have changed my mindset when writing user stories by using the INVEST acronym. The INVEST acronym is 6  rules of thumb that you use when writing/defining the user stories.

Independent
Negotiable
Valuable
Estimable
Small
Testable

You can read more about the INVEST-model in Mike Cohn’s book User storied applied – For agile software development.

I have also refined the template I use for writing user stories. I am still inspired by Mike Cohn and I used his template for user stories as a base for my own template.

I am using MS Word when I am writing my user stories and I sort the stories by actors.

User stories

I find this template very effective when writing the stories and easy to read and see if all stories are covered. It is easy to find the stories by using the table of content in MS Word.

User stories index

If this were a large system you would have several subsystems with several actors for each subsystem. Then you will see the advantage of having the table of content so you can go directly to the correct subsystem and actor instead of browsing through the whole document.

Follow me on twitter @PerOla

Share & enjoy
You can subscribe to my comments feed to keep track of new comments.

3 Comments to “Writing user stories for agile (Scrum) projects – revisited”

  1. Rad says:

    I have two questions:
    1. How would you incorporate sub stories like the once in May’s post:
    1.1 Most popular blue-ray discs sold, 1.1.1 Sort by price, 1.1.2 Sort by popularity. I know these user stories are not quite connected with once shown here, but you can probably extend it to make a case). What confuses me if I add a sub story after I have written user stories per actor then adding a new sub story as 1.1.1 will mess up my existing user stores heading.

    2. I am learning BDD with Specflow (Cucumber) and I want to use your template as the source for my feature, scenario1, …scenarioN acceptance testing. Can you elaborate on this how I would transition from your template to BDD feature specifications.
    In BDD they break down the requirements to Business Goal>Actor-Goal>Epics>User Stories>Acceptance Criteria and then write Code as can be seen in “bridging the gap between requirements and code” pdf from a bdd talk handout:
    http://www.devcamp.at/CMSPages/getFile.aspx?nodeguid=13f4952c-fe15-449e-a510-34fb7fe89035&disposition=attachment
    If you see pages: 25, 43-54 (you will know what I mean)

    Thanks
    Rad

  2. Hi Rad, I will try to answer your questions.

    1. I think that the easiest will be to not use the chapter numbering and just use the user story ID. I see that the chapter numbering can be confusing and I guess that the best would be to only use the story name as heading.

    2. I’m not very familiar to BDD so I do not think I can help you there. This post was just about user stories. It is possible to expand the template so that each user story will have one or several acceptance criteria. It is also possible to write Epics that consists of several user stories. But I guess the BDD guys have some best practices on how to do this?

  3. cunt says:

    great site man

4 Pingbacks to “Writing user stories for agile (Scrum) projects – revisited”

  1. […] Update: I have revisted this subject and written a follow up post: Writing user stories for agile (Scrum) projects – revisited […]

  2. […] You can read more about user stories in a previous post: Writing user stories for agile (Scrum) projects and the follow up post Writing user stories for agile (Scrum) projects – revisited […]

  3. […] Writing user stories for agile (Scrum) projects – revisited via breathingtech.com […]

  4. […]  http://breathingtech.com/2009/writing-user-stories-for-agile-scrum-projects-revisited/ […]

Leave a Reply

Subscribe to my comments feed

Subscribe to my feeds Follow me on Twitter
DZone MVB