Stefan Wille

Why You Should Split Your Epics Into Smaller User Stories

April 6, 2010

Probably every agile book recommends to split large user stories (epics) into smaller ones. But why? The reason is usually 'because they are more manageable', but I didn't really understand what that was supposed to mean. Until recently, when we worked on two epics. And I had an insight that I am eager to share.

How not to do it

We kept the first epic as a single big story. During development, it was hard to see where we really stood with the story and how much work was left. Quite frustrating. And it took longer than estimated. In between we wanted to cut features, but we developers didn't understand the motivation behind each, so it was hard to come up with suggestions. In the end it was a few 100% over estimate.

Splitting Epics

After this experience, we got smarter and we split the second epic into many small stories. This made a big difference. Estimating the small stories was much easier. We could prioritize the smaller stories against each other. Progress was easily measurable. We could select a subset of stories that would allow us to start using the epic even before it was complete. Which meant that we generated business value and got feedback early on.

Schedule Independently

So far this was great, yet not surprising. But I found an important extra benefit: When it was clear that building all stories in one go would take too much time, we could move the expensive, lower value stories further down in our backlog. It was fairly easy to delay the lower value elements and build other, non related stories first.

Effectively, we categorized the epic's stories into three categories:

  1. The parts that we really couldn't live without for another month
  2. The elements that we really needed at some later point, plus the really quick ones
  3. Everything else

We built category 1 immediately. Then we built some other pressing stuff, which was completely unrelated to the epic. Then we got to category 2. Which means we could interleave some important, nonrelated stories within our epic, and yet have cohesive feature sets in each step. A big benefit.

Save Effort

After we build category 2, we axed category 3. We just didn't build it. This is yet another benefit: Splitting stories makes it easier to find the elements that are not really required.

Next time your PO brings an epic, make sure to slice it into stories that can be completed in a few days or less.