Releases as Themes
Some teams uses release as themes, which his sometimes helpful with Release Planning and Release tracking via burndown charts. So, in our example above, we might decided to theme the current stories as follows (stories are listed in priority order)
Story/Epic | Associated Themes |
Pay by MasterCard/Visa | Release Feb2011, Credit Card Payments, Online Payments |
Pay by American Express | Release Mar2011, Credit Card Payments, Online Payments |
Pay by Discover | Credit Card Payments, Online Payments |
Pay via PayPal | Online Payments |
So, looking above, we know that MasterCard and Visa are targeted for the February 2011 release, Amex is scheduled for the March 2011 release, and the last two stories have not been targeted for any particular release. Since the Epics are listed in priority order, it is perfectly acceptable that we haven’t yet scheduled the lower priority Epics for a release. Much like a product backlog, the Epics and Themes near the top of the list are more fine grained(have been broken down further) than the epics and themes near the bottom of the backlog.
At this point, given the theming above, we may decide that we really don’t need the “Online Payments” theme any more. At the highest level planning, it was useful because we were considering online payments alongside with other Epics like searching for products and allowing users to post reviews on products. Once we broke the Epics down further into themes with smaller Epics, conveying “online payments” vs. “credit card payments” or “pay via PayPal” didn’t provide a whole lot of useful extra information. By now, the Epics have been discussed in planning, and everyone knows that credit cards and PayPal are the online payments we’ve been discussing As such, at this point I would drop the “online payments” theme because we just don’t really need it any more.
So, now we might have our themes as follows:
Story/Epic | Associated Themes |
Pay by MasterCard/Visa | Release Feb2011, Credit Card Payments |
Pay by American Express | Release Mar2011, Credit Card Payments |
Pay by Discover | Credit Card Payments |
Pay via PayPal |
Wait! How come “Pay via PayPal” doesn’t have a theme? Because it doesn’t really need one. Let’s go back to the definition of Theme – a set of related user stories. We’ve already said that due to the collaborations that have already occurred, everyone already knows what we mean when we say “Pay via PayPal”, so it doesn’t really need a theme. Not every story has to have a theme, and themes are generally only useful to external stakeholders and the Product Owner, and generally only highly useful at high level planning like product road mapping and Release Planning.
At this point, we’ve pretty much used Epic and Theme where it’s most useful — at the road mapping and Release Planning levels. There is one more usage though that might be interesting to some teams.
Let’s say your Scrum team is planning to do “Pay by MasterCard/Visa” soon. Because they’re doing it soon, they would like to slice the stories into smaller chunks to allow their testers to get a first crack at testing something end to end sooner. The team has decided to slice the story into “Happy/Sad/Bad” paths. The bad paths will represent a story where the user goes all the way through the purchasing process but finds out that the credit card processing system(a 3rd party service) is down. The sad paths will represent cases where the card is rejected for various reasons (over the limit, invalid card, invalid card verification #, etc). The happy path will represent the cases where the card is accepted and the user is able to proceed with their order. The team decides to assign these stories to their related theme “Pay by MasterCard/Visa”. So, now the stories and the backlog looks like this:
Story/Epic | Associated Themes |
MC/Visa bad paths | Pay by MasterCard/Visa, Release Feb2011, Credit Card Payments |
MC/Visa happy paths | Pay by MasterCard/Visa, Release Feb2011, Credit Card Payments |
MC/Visa sad paths | Pay by MasterCard/Visa, Release Feb2011, Credit Card Payments |
Pay by American Express | Release Mar2011, Credit Card Payments |
Pay by Discover | Credit Card Payments |
Pay via PayPal |
This is a valid use of themes but I find it to be overkill. Here is what I would do instead:
Story/Epic | Associated Themes |
Pay by MasterCard/Visa – bad paths | Release Feb2011, Credit Card Payments |
Pay by MasterCard/Visa – happy paths | Release Feb2011, Credit Card Payments |
Pay by MasterCard/Visa – sad paths | Release Feb2011, Credit Card Payments |
Pay by American Express | Release Mar2011, Credit Card Payments |
Pay by Discover | Credit Card Payments |
Pay via PayPal |
So, what I’ve done is just rename the stories, which I think is more useful than creating themes every time one has a whim to do so. You could even rename them “Pay by MasterCard/Visa part 1”, “Pay by MasterCard/Visa part 2”, etc. This is why I believe Themes and Epics are really most useful at the PO and stakeholder level when release planning or road mapping. Keep them as high level grouping mechanisms, because that’s what they were really meant for. While the Scrum Team is involved at the Release Planning level as well, they will generally not care that much about the Epic and Theme concepts. They still care most about the stories that they’ll have to implement the dirty details for.
Prioritizing at the Epic and Theme level
Another way to make Epics and Themes useful is to use them to do high level prioritization with stakeholders. Generally, stakeholders don’t want to get into the nitty gritty of small stories. They really only care most at the higher level view. As such, having them help prioritize a fine grained Product Backlog might not be useful, especially if there are huge amount of stories. In these cases, it is useful to discuss Themes and Epics when prioritizing, which will then give the PO useful information with which to prioritize the smaller Sprint sized stories.
This is not to say that discussing small or fine grained stories with stakeholders is altogether bad, just that it might be bad in certain situations. Obviously you’ll have to gauge the situation you’re in and use the appropriate level of detail for your audience.
Link to full article:
http://www.scrumcrazy.com/User+Stories+-+Epics+and+Themes
What are your experiences with Themes and Epics? Do you find them useful or unhelpful in any particular situations that I haven’t mentioned? Add your thoughts in the Comments.
May the Sprint be with you!
Filed under: Product Backlog, Product Owner Tips, Release Planning, User Stories |
Leave a Reply