How to write good epics

Before we dig in, you will benefit most from this piece if you first understand the benefits of grouping things and have a good feel for what bad looks like. After that, this post shouldn’t be surprising.

But because repetition is memory’s friend, let’s explicitly cover off some best practices for creating and managing epics.

The term epic has various definitions depending on who you ask, some rather strict. Here I’m using the term loosely to represent any useful grouping of stories (or tasks!).

Be zen

The best way to write good epics is to not write epics at all. Don’t try and force yourself to create epics from the outset. Start with your stories and as you create more, some epics will naturally form.

Of course, sometimes the top-down approach of creating Project > Epics > Stories works great. But don’t stare at a blank page trying to create the perfect epics from the outset. Go with the flow and groups will appear.

Know the epic name or grouping isn’t ideal? Create it anyway. Don’t be blocked by idealism. But acknowledge that it probably needs to change and bring it up during the next planning session.

Epics live!

Now (and this is the most important part) don’t stop and be content with your “completed” epics. Review them regularly as part of your planning sessions. Epics are not set in stone. They can and should evolve. New epics will be revealed, stories can be moved between them, orphan stories will find a home, and old epics can be trashed. Some stories may even morph into their own epic and that’s ok!

Group vertically

Beware the catch-all grouping! Of all the benefits that epics should give you, grouping poorly, horizontally, nets you none of them.

Much like we prefer to break our stories into vertical slices, we should do the same with epics.

Group vertically by functionality or outcome instead of horizontally (I’m looking at you, front-end and back-end). Then bathe in the benefits epics bring you!

Name vertically

Naming and grouping are two sides of the same coin. But it’s important to remember that the name we pick can communicate a lot or a little.

  • Is the epic name focused on functionality / outcome, or is it talking about a technology layer?
  • Will stakeholders understand what the name means?
  • Do all the stories fit or can you launch without something? Should we split and sequence the epics?
  • If splitting an epic in parts, does the name of each convey the scope of each part?

If we take a story like “Refund orders from Admin”, maybe it starts its life in an “Admin” epic. But as we ask these questions we can let the epic name evolve.

Admin > Refunds > Refunds Phase 1 > Manual Refunds

Write epic epics

So give yourself the time. Think about epics. Take care of your epics. Write good epics. Your team, your stakeholders and your future self will thank you.