What is an Epic?
In agile development, an epic represents a series of user stories that share a broader strategic objective. When several epics themselves share a common goal, they are grouped together under a still-broader business objective, called a theme.
Another important distinction is that a user story can be completed within the timeframe of an agile sprint. An epic will typically require development work covering several sprints.
How Does an Epic Fit Into Agile Development?
As you can see from the definition above, an epic sits between a theme and a story in the agile development strategic hierarchy. A theme represents a team’s high-level strategy for its product.
But to translate this strategy into an action plan, the team must take several additional steps. First, the team will break the theme into several epics, which are themselves smaller strategic plans. Then, you must break down each epic further into user stories. A story represents a small unit of development work that will allow a user to complete a task or goal in the product.
Here is an example of how this planning might play out with an agile team working for a movie-theater chain.
The Movie Theater Example
Let’s say the senior management of a major theater chain tasks its product team with filling empty seats in its theaters. This has become a common problem for movies that have been showing for several weeks. The theater’s studio contracts require movies to be shown for a minimum run length, sometimes many months. As a result, even after a successful film’s opening, the theater finds it is stuck showing the movie to nearly empty screening rooms until the contract ends.
Here is how the product team might plan its agile development of a solution.
Fill empty seats in theaters
Use a mobile app to drive last-minute ticket sales
- Create and assign promotional codes for last-minute purchases
- Add text-message capability to the mobile app, to send last-minute promos and coupons
- Develop creative for promo emails and SMS texts
This hypothetical epic—to use the company’s app to offer discounts on last-minute movie tickets—reads like a complex story. The team won’t be able to execute on this strategy without breaking it down further into smaller, more actionable stories. This is another way to understand an epic. Here is how the Agile Alliance defines an epic:
“A large user story that cannot be delivered as defined within a single iteration or is large enough that it can be split into smaller user stories.”
What are the Benefits of Using the Theme-Epic-Story Development Framework?
There are several advantages of breaking a team’s development work down into epics and stories.
- It allows for more strategically sound decisions.
The foundational unit of measurement in agile development work is the story point. This is the metric to use to estimate the level of effort required to complete an item on the team’s backlog.
When a team assigns story points to its each story, it can then add all of the points that roll up to a given epic, and get a sense of how long and how many resources that epic will take. Knowing this will help the team make better-informed decisions about where to focus its limited development time and resources.
- It improves performance monitoring and timeline estimates.
Assume a cross-functional product team learns over time that it can complete 20 story points worth of development work in a given sprint. As that team reviews epics and stories from upcoming work, it will be in a better position to know in advance if a planned sprint represents too much or too little work. This will help the team estimate its capabilities more accurately, and ensure the team neither overcommits its resources nor leaves developers underused.
- It keeps the team focused on key goals.
On a product roadmap, themes are big sweeping goals. (“Fill empty seats.”) Stories are tactical units of development work. (“Add text capability to the mobile app.”) Epics help to tie all of these items on the roadmap together, which helps keep the team working toward its shared objectives.