Agile User Stories, Themes, Epics, Features - What's The Difference?
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.
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
3 August 2010 10:22
great article
3 August 2010 11:53
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 August 2010 15:17
That makes great sense! A very nice, brief summary. Thanks!
3 August 2010 18:14
Very good blog. This information id very useful for Agile teams specifically for software development.
Divakar
divakar.in