
User Stories are a not mandatory, but very recommended part of Scrum and eXtreme Programming methods. Most of people acquainted with agile software development feel comfortable with the requirements written in the form of "As a [user role]
Terms
Epics are just huge stories for capturing relatively low priority requirements that are often too complex to estimate right away and that are going to be detailed later. An epic for a car could be "As an environment conscious driver I want to be able to use both gas and hydrogene". A theme on the other hand is a set of stories grouped around some functional area, user group or anything else that makes sense for the product owner. Themes are often confused with epics, because quite often the epic is split down into exactly one theme. A theme for a car could be a set of stories grouped around the building the hydrogen engine.
High level
Individual stories are good for prioritizing work between iterations and for negotiating during the iterations. However, for any non trivial project stories are likely to be somewhat too small and detailed for prioritizing on the high level - for preparing or rethinking the release plan. That is the point when epics and themes come into play. Both are for considering the project on the very high level. Your project might have 30 or 200 user stories of which 2-10 could be huge epics (possibly not all for the closest release) and the rest could be grouped into just 3-10 themes.
Epics and themes allow for the bird's eye view of the project. The only real difference between epics and themes is in that epics are huge single stories often without a possibility for relevant estimates, while themes are the sets of stories (think rubber band of story cards as pictured above). Naturally, if the stories are grouped in such a way that part of a theme happens to be clearly less important, than the rest of it, after initial rough prioritization it might be needed to split a theme into several smaller sub-themes. Somesub-themes to go higher in the product backlog, some - lower.
Your experience
How do you use themes and epics? What do you find particularly useful or confusing about them?
Picture courtesy of hamed masoumi @ Flickr

Comments
Epics and Vision Documents
I had used epics for describing large parts of the system that have lower priority.
But I have also found epics to be useful when you want to write vision document about project. Because what the vision document in reality is if not the set of epics. When you think about your project and try to write down vision document, easiest way for readers to understand vision of project is to describe project with epics.
I am aware of themes as a possibility to group similar user stories but so far I didn't use them widely.
Jan
I agree, Jan. Epics are
I agree, Jan. Epics are effective ways for abstracting the details out. Especially, when you don't know the details yet :)
I find themes most useful on the major prioritization session such as the release planning workshop. It helps to group similar small stories together and if PO wants to make only half a theme high priority - well, it is always easy to split the theme back into stories or sub-themes.
Post new comment