Epics

follow
1 Contributor contributor avatar
5 minutes read
Last updated 28 Dec 09:14

TL;DR

An epic is a body of work that can be broken down into specific tasks (called user stories) based on the needs/requests of customers or end-users. Epics are an important practice for agile teams.

What Are Epics

Epics are a helpful way to organize your work and to create a hierarchy. The idea is to break work down into shippable pieces so that large projects can actually get done and you can continue to ship value to your customers on a regular basis. Epics help teams break their work down, while continuing to work towards a bigger goal.

How Are Epics Used on Agile Teams?

The sprint is a key component of agile development. The sprint defines the work you are going to do over a period of time, typically two weeks or one month. It's important that sprints be created with an end goal in mind, and this means having epics at the beginning of the sprint planning meeting which can be broken down into user stories for your team to tackle during the sprint.

Epics

Why You Might Want Epics

Epics are a great way to organize your work and keep track of the progress you're making on larger projects. They can help break down a large project into manageable tasks that can be completed in sprints, while still working towards the end goal. Epics can also help with communication within teams, as everyone will have an understanding of the high-level goals of the project and how their individual tasks fit into that.

Problems Epics Help to Solve

One of the main problems epics help to solve is estimation. When you have a large project that needs to be completed, it can be difficult to estimate how long it will take and what resources will be needed. Epics can help break down this work into more manageable chunks so that estimates become easier.

Another problem epics can help with is communication. When teams are working on large projects, it can be difficult for everyone to stay in sync and understand the big picture. Epics can help keep everyone on the same page by outlining the high-level goals of the project and how individual tasks fit into that.

Finally, epics can help with sprint planning. By having epics as a starting point for sprint planning, teams will have an idea of the high-level goals to work towards and how those can be broken down into more manageable tasks.

Things To Keep In Mind About Epics

Epics are not meant to define all the details of your project, as it's impossible to plan everything out up front. They should be high-level goals that you can work towards, but they will likely change over time as the project progresses.

Another thing to keep in mind is epics are not sprints, and sprints are not epics. The sprint defines what your team does for a period of two weeks or one month (depending on your process), while an epic is a larger body of work that can be broken down into sprint-sized tasks.

How to Implement Epics

There is no one-size-fits-all approach to implementing epics, as every team will have their own way of working. However, here are a few tips on how to get started:

  • Define what an epic is and how it should be used on your team
  • Create epics for high-level goals that can be broken down into sprints
  • Ensure the entire team is on board with how epics work and why they're useful
  • Include a high-level epic for each sprint to ensure you have a goal at the beginning of every sprint meeting. You can then break that epic down into user stories based on your team's needs/requests, and sprint just like you would for your normal sprints.

Common Pitfalls of Epics

There are a few common pitfalls that teams can run into when using epics:

  • Trying to plan everything out upfront and not allowing for change
  • Getting bogged down in the details of an epic and not completing any sprints
  • Not including everyone on the team in the discussion about epics and how they should be used. This can lead to confusion and lack of buy-in from team members.

Epics are a valuable tool for agile teams, but like anything else, they need to be used correctly in order to be effective. By understanding what they are, how they should be implemented, and some of the common pitfalls, you'll be able to start using them successfully on your own team.

Resources for

Prokop Simek

Prokop Simek

CEO at DX Heroes | Developer Experience ⚙️ | Developer Portals & SDKs 💻