Skip to content

Epics and Themes

May 6, 2008 by Artem Marchenko


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] I want to [goal], so that [reason]". Less people are acquainted with epics and themes usage.

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

About the Author: As the Editor-in-Chief for AgileSoftwareDevelopment.com, Artem is charged with overseeing the direction for content, advertising, and the overall management of the site. Nowadays in his day life, Artem is a product manager in a global telecommunication company where he leads the development of a product developed in extremely distributed environment. Artem has been applying Agile and researching Agile since 2005. Contact Artem

Comments

Epics and Vision Documents

May 8, 2008 by Jan (not verified), 1 year 39 weeks ago
Comment id: 1537

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

May 8, 2008 by Artem, 1 year 39 weeks ago
Comment id: 1538

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.

Themes

May 30, 2008 by Guy Rutter (not verified), 1 year 36 weeks ago
Comment id: 1556

Anyone from a Prince2 background will recognise themes as the Product Breakdown Structure. I think it boils down to whether you are making huge systems or modest incremental changes. In the huge sceanrio the epics and themes are essential to give you the 'divide and conquer' approach, great say for a team building a large desktop app. For smaller scenarios say a web team building the next bi-monthly release, the content is relatively small so they are less important.

I agree. Themes are needed

May 30, 2008 by Artem, 1 year 36 weeks ago
Comment id: 1557

I agree. Themes are needed when you are lost in a sea of many small stories and you need to groups them into bigger packs for prioritization. I always tend to imagine a theme as a stack of story cards with a holding rubber band. It conveys both the idea of grouping and the idea of flexibility - if it happens that theme doesn't make much sense anymore, it is very easy to split it into sub-themes or individual stories.

Hate the terminology

September 19, 2008 by Bluejack (not verified), 1 year 20 weeks ago
Comment id: 1862

"Epics" "Themes" "Stories" ...

It's creating a technical language out of a metaphor, which muddies both the technical philosophy and the underlying language.

Well, whenever you go into a

September 19, 2008 by Artem, 1 year 20 weeks ago
Comment id: 1863

Well, whenever you go into a new subject area whether it is technical or not, you have to learn a bit of a new lingo. IMHO, agile methods are quite lightweight in this regard.

As for epics, stories and themes, lately I am trying to use the term "epic" more rarely and talk about "big fat stories" instead. Themes - well, they are just the pack of related stories that might not mean too much to the development team, but helps the customer prioritize his requests. The important thing is only to realize that themes are dynamic collections of whatever customer wants to see bundled together for convenience, while epics are just big stories.

This is how we use the terms Epic and Theme.

December 14, 2008 by Patrick Merg (not verified), 1 year 8 weeks ago
Comment id: 2121

Hi
This is how we use the terms Epic and Theme. We use the term theme to broadly describe functionality in the application such as “sell product”, “inventory management” and so on…


Epics make up subset of themes; so for the theme “inventory management” there are epics such as “As a user I want to add product to my inventory so I know what I have to sell” Under the epic there are multiple user stories to give more detail. Early in our agile adoption we used Epics, now we call Epics parent user stories and have child user stories underneath them. For us it works.
Pat

The Difference Between Agile Themes, Epics and User Stories

August 19, 2009 by Tara Lee Whitaker (not verified), 24 weeks 6 days ago
Comment id: 2974

Great post. :)

I used to always get confused between the different types of requirements, so I've had a go at summarising the difference between Themes, Epics and User Stories using a simple diagram - enjoy :)

The difference between Agile Themes, Epics and User Stories | Agile101

Tara

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <b> <i> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <br> <blockquote>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters (without spaces) shown in the image.

Best of AgileSoftwareDevelopment.com