Agile best practice9 min read
Using Epics: Agile Teams Maximize Performance With This Tool22, Dec 2020
Raise your hand if you've ever had an argument, oops 😳 — I mean a heated discussion — on how to set up and organize Jira. Yeah, us too.
Some hotly contested topics include:
- Project: Is it best to organize by team, by function, by feature, or by product?
- Agile epics, features, stories, tasks, sub-tasks, bugs — what should you use and when?
- Sprint board column headings and swimlanes — we're not even going there.
Unfortunately, there isn't one best workflow in Jira or any tool your agile team uses. More important than your workflow is setting up your team members to consistently deliver business value to your end-users. The goal of your agile project management is to enable and support your Scrum team in this endeavor.
We're going to take a look at one aspect of your process — through the epics agile teams use. Stick with us, and we'll explain what an epic is, why agile epics are important, and how to avoid some epic mistakes.
What is an epic?
Simply put, an epic is a bucket that holds smaller work items that must be completed to satisfy the task. Some people think of epics as a big user story. That's fine if it helps you visualize it, but epics are quite different from stories.
- Agile teams use epics differently for planning or not at all.
While your team might be able to give it a t-shirt size, the amount of work in an epic is usually too large to be estimated in story points. Some epics are so large that they need to be broken down into smaller epics before you even ask for team estimates.
- An epic isn't written like a user story.
You know the template — “As a user, I want to X so that I can Y.” That’s perfect for a user story, but not so much for an epic. An epic example might be "Add cross-sells" with a description that lists places where the Product Owner would like to present the end-user with opportunities to purchase related products. That’s not a story, but a request for functionality.
- The epic might be acting as a placeholder for work that is yet to be defined.
Your Product Owner may use epics as placeholders on a product roadmap for long-term planning. They'll wait to define the work until the implementation time frame is closer.
- An epic is rarely completed in a single sprint.
Because of their size, epics typically don't fit within one iteration. Your software development team slices functionality so they can deliver working software each sprint. This may mean they complete a story or two from an epic for two sprints, skip a sprint, and then go back to stories in that epic the next sprint.
- Epics may or may not have acceptance criteria.
Some Scrum teams don't require epics to have acceptance criteria because it's included in the stories. If all the child stories meet what the Scrum defines as the Definition of Done, the epic is also Done.
Epics are parents and grandparents to stories and tasks. Development teams don't work on epics but rather code to the smaller user stories under the epic.
The importance of epics in your agile practice
Don't underestimate the organizational value epics bring to your product backlog. Corralling 10 or 20 related backlog items can be disruptive in sprint planning. Epics present a more cohesive look at the work and allow your Scrum team to see the big picture.
Epics offer executives and product managers a high-level overview of work in progress and what’s coming in the future.
Product Owners use epics to create a product plan from a business perspective. Current business goals may dictate that development work is focused on a particular feature represented by epics. By contrast, epics also help Product Owners plan sprints with an appropriate work ratio from multiple epics. Product Owners can take a step back from the detailed user stories and make sure each iteration contains stories from several epics to satisfy multiple stakeholders.
The way epics are visually represented in product backlogs and roadmaps is critical for long-term planning. Can you imagine planning a six-month roadmap at the user story level? It would be chaos!
Agile frameworks encourage — no — demand the ability to adjust course as needed to meet changing stakeholder needs, market demands, and business goals. Epics allow you to easily and quickly adapt your roadmaps in response to change.
How epics add value to agile development
Discovery is a big aspect of agile methodologies and product management. At the beginning of this process, your teams will be event storming, creating personas, and building journey maps. The actionable output of those activities is easily logged and organized in Jira with epics.
As those epics are further refined, they're added to a roadmap and then put on a Refinement ceremony agenda. During Refinement, the Scrum team members engage in user story mapping exercises and begin to build the detail needed for the development team to execute.
While epics provide a less detailed view of features and requests from your Product Owner, they are critical to the creation of user stories. Without the cohesive view of your sprint backlog presented through epics, agile sprints are at risk of delivering a lot of unrelated work that delivers little value.
When not to use an epic
So, while we love the agile epic, it's not perfect for everything. Here are some things to avoid when using epics.
The evergreen epic
You know the one. The epic was created when people stopped using wired telephone lines and has been lingering in your backlog in a semi-complete state ever since. Deep within, you'll find user stories and tasks, maybe with little or no relation to each other. This poor epic has become the dumping ground for orphaned stories that didn't find a home anywhere else.
Evergreen epics can be the result of a change in either business goals or product features. That’s great — you've adapted! Now you need to update your epic to reflect that. Stories can be removed, code can be deployed or shelved, and incomplete stories can be deleted or removed from the epic and reprioritized.
Brainstorming is also a cause for evergreen epics. Above, we mentioned that output from UX activities is a great way to manage actionable items. We did not say to use epics as a home for every idea that came up during brainstorming that may or may not ever make it to your roadmap.
Epics are not intended to live forever. They represent a body of work that will deliver value to your end-users and need to be completed so you can measure the results of your efforts. Evergreen epics clutter your roadmap, blurring your focus, and limiting its planning value.
The theme epic
It's easy to assign stories to epics because they're related to a specific area in the product, touch a certain code base, or satisfy an individual or group of stakeholders. That's not the purpose of an epic. Themes are a better choice for grouping work by attributes other than a specific feature implementation.
You can accomplish your organizational goals by using themes to link these stories while maintaining the integrity of scope within your epic.
Use epics to focus on specific deliverables or features. Related or not, if a story within an epic doesn't contribute to the primary focus of the epic, remove it. That doesn't mean it's not important or the right work to do during the iteration. It just means it's not part of that epic.
Being diligent about epic scope keeps your estimates cleaner and more useful for future planning. Unnecessary stories in epics inflate their estimates and actual efforts. If you ever need to look back at older work items, you probably won't remember that adding two unrelated stories was what bumped an epic from a medium to a large. If you’re using that old work item as a guide for future planning, you’ve just overestimated the effort because you didn’t limit the scope to the objective of the epic.
Keep in mind — not every story needs an epic parent. Some stories stand well on their own and might be better visualized and planned through themes.
The release epic
A release is not an epic. A release is a specific set of code and files that are bundled together and delivered to production at the same time. A release may include an epic or many epics, or it may not. But in itself, a release is not an epic.
There are excellent tools on the market developed specifically to help you with release management. By all means, assign your epics to a release, but use release tools to organize your releases and use epics to organize your features.
Epics are more than a large user story
Your agile coach or Scrum Master has probably drilled you on the Principles of Agile Software, so you know the following quote from the 12 Principles of Agile Software:
"Simplicity — the art of maximizing the amount
of work not done — is essential."
But what does it have to do with epics?
Epics simplify your backlog. They allow you to focus on the right things at the right time and keep out the noise. They keep your eye on the ball when it comes to prioritizing value and ignoring the ankle-biter work in your backlog.
We believe using epics makes for better organization in your backlog and better planning for your agile teams. Epics help you deliver value sooner by keeping you focused on the big picture and out of the weeds.
If you want a more contextual view of your epics and user stories in Jira, try Easy Agile TeamRhythm. The highly-visual story map format transforms the flat Jira backlog into a meaningful picture of work, making it easier to manage your backlog and plan sprints or versions.