Monday, June 22, 2009

Understanding User Stories

I recently had a co-worker ask me the best way to go about creating user stories, so I pushed them to a presentation by Mike Cohn. The presentation listed the framework to be applied as well as some theory. The response was "Yeah, we know all that. How do we get the Product Owner to write the stories, or how do we help them write the stories?"

This got me to thinking and after an hour long conversation I think I have some ideas to share:

2. Don't expect to hand off the process to your Product Owner. Explaining the process in detail might excite some clients, and be off-putting to others.

3. Before the Product Owner and the Scrum Master know how the other works, I find it easiest to start with Feature Groups and work them down into user stories one at a time. Feature groups define the higher level items that exist within your project/product. Each Feature Group may then be tracked to show progress against requested functionality. Starting at Feature groups allows the Scrum Master to get the ball rolling and soon the stories will flow faster than you can write!

4. Don't Talk Tech! User Stories should be written to solve the 'What' and even 'How', but are not meant to define the underlying implementation. In most cases tasks will define the implementation.

5. Make sure the Product Owner and Scrum Master have time alone to prioritize the stories. Bluesky sessions with the extended team are very beneficial, but block progress on prioritization.

6. Ensure your Product Owner is empowered. If they are not empowered, the user stories process will fail. Prioritization will be undermined. Use the transparent nature of Scrum projects to determine and call out risks with the Product Owner.

7. Especially early on, write the user story framework down and refer to it often: 'As a ____ I can ______ so that _____.' Don't forget the 'so that' as that becomes imperative in the ongoing prioritization process as well as provides clarity for the team.

8. Don't insist that the Product Owner speak to you in user story form. Take notes as the Product Owner talks and then work with them to write the official stories. The process will improve as iterations pass.

Hopefully this helps someone out there who is struggling with a client who is new to Scrum, or who is having a hard time getting the juices flowing!