One of the biggest challenges with writing requirements as user stories is that with time your backlog can become an overgrown mess of assorted stories that seem to have no rhyme or reason. When writing a PRD, it’s easy to keep the whole product in mind. After all, you are writing it all at once. But with user stories, you can easily get lost in the trees, losing sight of the forest. Fortunately, there’s an easy way to avoid this.
For each product that I’m working on, I start by identifying my goals. Am I trying to grow user registration? Increase engagement? Grow my email list? All of the above? These become my themes. They are they “why” behind everything I build. Each time I write a user story, I ask why am I doing this? The answer, in theory, should be one of these themes.
Now in this post, I wrote that every user story should have a user benefit written directly into the story, as it explains to the whole team why you are building something. I still stand by that. The difference between the benefit in the story and the theme is scope. The benefit is more tactical and the theme is more strategic.
For example, suppose I am writing user stories for an event site, something like eVite or Facebook Events. I might have the following goals:
- Increase the # of Events
- Increase rate of RSVPS
And suppose I have the following user stories:
- As an event host, I am able to import my address book so that it is easier for me to invite my contacts to my events.
- As an event host, I am able to look up a venue address, so that I am sure to get the location correct.
Both of these stories have different benefits. But the benefits support the same goal. They both reduce friction in creating an event, which arguably will lead to more events on the site.
With time, I may even organize my backlog by theme, as typically my priorities are goal-driven not user-story driven. If my priority is to increase the number of events on the site, then I probably want to focus on prioritizing just those user stories, not the entire backlog.
Themes are a simple way to make sure you don’t lose site of why you are building something. They help to create focus. If you can’t assign a theme to a user story, you probably want to ask yourself if you should really be building that functionality. They also bring some structure to long backlogs.
Do you have other tips for managing large backlogs? Please share in the comments.