All About Agile | Agile Development Made Easy


Agile User Stories, Themes, Epics, Features – What’s The Difference?

by Kelly Waters, 2 August 2010 | Agile User Stories

Agile development User Stories v Themes, Epics and Features.A recent comment on one of my blog posts asked about the difference between agile user stories, themes, epics, and features, and about the relationship, or hierarchy, between these terms?

Admittedly it is a bit confusing, as these phrases are often used quite interchangeably (at least by me). Here’s my take on what the difference is…

A user story may include several features. For instance, ‘As a user, I want to search for a job, so I can find my next career move‘ might include various features, such as simple search, advanced search, faceted navigation, sort, filter, sign up for email alerts, etc.

A user story this big would be considered an epic, since it’s a very big user story. Epics can (and ideally should) be broken down into further user stories to make them easier to handle.

Each of these features can be broken down into tasks. For instance, the advanced search feature (which could also be expressed as a user story of course) might include back-end development of the search index, front-end development of the search box, an API to find the most relevant search results, front-end development of the results page, writing test cases, executing the tests, configuring the search servers, etc.

Themes, on the other hand are just a broad way of describing an area of focus. For example, the theme of the next 2 sprints might be ‘job search’, after which it might be something else, say ‘apply for a job’, followed by ‘CV database’ for instance. Each theme would probably contain several epics or many user stories.

In terms of hierarchy, I think these aspects of the Product Backlog can be defined in as structured or as loose a way as you think is right for your project. I don’t think there need to be any hard and fast rules on this.

For anyone finding this terminology a bit confusing, I hope that helps!

Kelly.

Photo by TheBusyBrain

Home



11 Responses to “Agile User Stories, Themes, Epics, Features – What’s The Difference?”

  1. Anonymous says:

    great article

  2. Matthias Marschall says:

    I tend to avoid speaking of features. We try to only talk about User Stories and Themes. If a User Story is to big to estimate it, it is in fact an "epic" but we rarely use the word. We just break the User Story down into smaller ones as soon as we have enough information.

  3. WillR says:

    That makes great sense! A very nice, brief summary. Thanks!

  4. Anonymous says:

    Very good blog. This information id very useful for Agile teams specifically for software development.

    Divakar
    divakar.in

  5. Maxwell says:

    An Epic should span, cross-sectionally, multiple team story sets, and ultimately define the underpinnings finalized in consumation of a maximum duration iteration, but NEVER should an Epic cause redefinitions of subordinate story duration — otherwise the risk quotient would rise to exceed the level of the underlying intended benefits manifest.

  6. Rich says:

    This is put in simple terms and very helpful and easy to understand. Thank you for posting Kelly!

  7. David says:

    So let me get this straight.

    The hierarchy would could be as follows
    an Epic can be broken down into User Stories, which could be broken down into features and then broken down into tasks.

  8. Ro Gilhespy says:

    I think the use of the word feature is very confusing.

    ‘Feature’, ‘Epic’ or ‘Theme’ are often interchanged and essentially mean a story thats too large or complex to play without breaking it down further.

    Remember, a story is simply the smallest deliverable unit that makes sense. A story should also be achievable within a sprint, and ideally follow I.N.V.E.S.T.

    As a result, I don’t agree with the articles wording that a story contains many ‘features’. A feature (..epic or theme) can contain many stories.

  9. WR says:

    I also disagree that user story contains many features. The “feature” term comes from a Waterfall Methodology. It is a high level, back of the box type of summary of a desired capability. It does not require a definition of actor/user. In the typical waterfall methodology a feature would be broken down further by use cases to gain and more detailed understanding of what is needed to fulfill the feature.

    When Waterfall and Agile Methodologies meet, I think the hierarchy that makes the most sense is Feature –> Epic—> User Story. Or Feature —> User Story.

    Epics are large user stories which can be broken down into smaller user stories.

    Features are high level needs of the software which don’t require knowledge of an actor/user. Since Epics are user stories and require the knowledge of an actor/user, I believe it makes sense to most people to have the hierarchy of Feature –>Epic –>User Story, or Feature –>User Story.

    In our organization this is what is followed.

  10. Chuck says:

    I often use this way to describe and differentiate Epics and User Stories as this: Think of the Epic as a basic advertisement for say…a new cellphone: you have a picture and several high level features. You’re now interested but want more details- thus you click in the details or spec tab (assuming your looking online) and you have all the specific details about that cell phone that you can determine if it meets all your specific needs- just like a business owner would express- hope this helps!

  11. Mark Wilson says:

    Well, I think this is totally confusing. Imagine me trying to explain the tradition SDLC to some trainees and saying “So there are requirements and features and systems and units and sometimes several units make a requirement but sometimes there are several features in a unit, well, there are here”. It just sounds like you are making up as you go along.

Leave a Reply

What is 8 + 7 ?
Please leave these two fields as-is:
Please do this simple sum so I know you are human:)