Agile Scrum Terms 101: User Stories, Epics, Themes
A lot of people seem to have a bit of confusion between three of Agile Scrum’s basic terms, namely “user story,” “epic,” and “theme,” mostly because they’re all closely related but each have their own specific implication. I figured it would be helpful to break them down one at a time, to make sure that everyone is clear on the various definitions.
Lets say I’m working with my wife to plan her birthday party. And because she’s my wife, we’re using JIRA to track our tasks and applying basic Agile Scrum methodology. First off, I’m going to write a user story. In its simplest terms, a user story is just what a user wants to accomplish. That is all. For example, “Go salsa dancing,” “Make a dinner reservation at her favorite restaurant,” or “Get a babysitter so we can stay out late.” Some teams find it helpful to write a user story in the following form: “As a [user type] I [need/want to/can, etc.] so [reason],” and I recommend using that format.
Next we come to epic, which is just a big user story. There isn’t one specific point at which a user story becomes an epic. You can basically think of an epic as a user story that will most likely need to be broken down into smaller parts before it is actionable. Let’s say I write the user story, “Invite guests.” I would call this an epic because in order to mark this task closed, I’ll have to find a good online event invitation site, make some nice, artsy invitations, get everyone’s emails and input them, and send the invitations.
Essentially, a user story can be completed in a short time frame, likely multiple ones in a week, whereas epics would take a little longer to the point that you would probably want to break them down into shorter, easier-to-implement stories. Breaking epics into user stories also allows for more specific definition of requirements and acceptance criteria.
Finally, we come to our last term, theme, which is a set of user stories. Unlike an epic, which is a large user story that might be divided into smaller parts for greater ease, a theme groups together separate stories that fall under the same category. Due to their common elements, it can make it easier to organize them together. In this case, I might have user stories that have one of two themes: “events” and “gifts,” and I’d most likely user components in JIRA to track themes.
So there we have it:
- user story is what needs to be done
- epic is a large story which is composed of smaller stories for implementation
- theme is a collection of stories that fit together.
I hope this has proven useful in clarifying the differences and helping you proceed further with Agile Scrum.