Using Epics for Your Project


We recently launched epics, to make it easier to plan and track progress of large features at a high level. Whether you are in the early stages of defining your product or have a Pivotal Tracker project you are working in already, epics can help you manage your work more effectively. In this article, we’ll show how to create epics, for a hypothetical shopping site project.

Roles and activities

The web site allows people to do all the typical things you would expect while shopping online. Customers can browse for products, search for specific items, put them in a cart, sign up for an account to track their orders and make future shopping more convenient, check out, etc.

To help us design the site, we want to identify all of the key “activities” for all user roles. To start with we can think about admins who will stock and manage the site, and shoppers who actually use it. Each has a specific set of wants and needs that we might consider as stories that will be entered in Tracker. As well as feature stories, there are activities to do with setting up hardware and infrastructure for the site which can be added as chores.

As we think about these activities, they fall into natural areas of functionality such as ‘deployment’, ‘admin’, ‘shopping’, ‘’search’, shopper accounts’, ‘checkout’, ‘orders’, etc.

At least some of these will have enough stories associated with them, that to get a higher level view of each and more easily manage their priority, you can create an epic.

Creating epics

You can either click EPICS toward the left of the Tracker project page to open the Epics panel, then click the plus icon at the top, or type ‘e’ (when the cursor is not in an editable field).

Alt text

Alternatively, if you have already entered and labeled stories in Tracker, you can convert a label to an epic. The label will remain, but change color from green to purple to identify it as an epic linked label.

Alt text

Alt text

Describe and discuss large features

In your epic, you can describe the high level goals of the feature and attach mockups that demonstrate desired designs. Comments can be used to have a conversation with the team about the feature and record overall decisions.

Alt text

Planning your stories

The feature or activity described in the epic can then be broken down into small, concrete, actionable stories. For example, with the Shopping epic in mind, you might have a story called “Shopper should see list of products, with primary photo as thumbnail”. After entering your stories, you can drag and drop them onto a collapsed epic, so that they get the epic’s linked label and become part of it. Click the arrow icon to the right of the collapsed epic to see all the stories in the epic or simply type shift+e. You can also drop stories into the epic stories panel and start ordering them by priority, the most important being at the top.

Then you’ll want to determine the level of effort for each story, and can go through and estimate them.

Representing milestones

Having broken down each epic into stories, it helps to put a release marker into the backlog to represent the “minimum viable product” milestone (or “first demo to investors”).

Then drag all the stories for that milestone into the backlog, above the release marker. Release markers should always go at the end of the set of stories that the milestone or release will include, not the beginning, then they follow those stories through the workflow.

Alt text

Keeping track of progress

As you start working on stories, their state is represented in the epic’s progress bar. It gives an immediate overview of how far along the epic is. The colors in the bar match the color of stories, and it’s width represents the size of the epic, relative to other epics. As your stories are completed and accepted, the bars update to reflect what’s happening.

Alt text

Mousing over a progress bar reveals a more detailed breakdown of progress, including an estimated completion date. This date is the last day of the iteration that the epic’s last prioritized story appears in, in the backlog.

Alt text

Re-prioritizing stories

Priorities always shift during a project and you can reprioritize stories directly in the backlog, or in the epic story panel. The changes you make are always also made throughout the project and reflected in the different views of it.

Stories moved in the epic story panel are reprioritized relative to other stories there. The following show a selected story before and after it is moved:

Completing epics

As you complete your stories, epics are considered done (and appear in green) when all prioritized stories in them are accepted. Stories in the icebox are not considered to be “in play” – they’re on ice, and in most cases epics will have stories in the icebox indefinitely. It’s often the case that everything you wanted doesn’t actually get done, yet the feature is perfectly usable. However, as soon as you drag a completed epic’s story from the icebox to the backlog, it will stop being green.

Alt text

Done epics remain in the Epics panel until the iteration in which stories in them were accepted is over. Then you’ll see “Show x Done Epics” at the top of the epics panel instead.

More information and feedback

We hope this helps you get the most out of epics for your project. For additional information, please see the FAQ, and watch this brief overview video. As always, we value feedback, so we’d love to hear from you in the comments here or on Facebook, Twitter, or by email to tracker@pivotallabs.com.

11 Comments

  1. Yanique Martin says:

    I think Epic is an awesome new feature! I was wondering… is it possible to export/import Epics between projects?

    May 8, 2012 at 7:49 am

  2. Joanne Webb says:

    Thanks Yanique – great to hear epics are working well for you!

    CSV import/export for epics isn’t supported directly (though we’re looking at adding that in future). However, if you move or export/import all your epic stories to another project, they will still be labeled – they’ll just have a normal label vs. an epic linked label. Simply convert the label to an epic (see the “Creating epics” section above) and you should be all set.

    Hope this helps…Joanne

    May 8, 2012 at 10:27 am

  3. adept says:

    “Alternatively, if you have already entered and labeled stories in Tracker, you can convert a label to an epic. The label will remain, but change color from green to purple to identify it as an epic linked label.” BRILLIANT.

    May 8, 2012 at 10:31 am

  4. Monika says:

    Hey there,

    I have to say that EPIC is such a wonderful thing, thank you for implementing it!!!

    I got only one suggestion, when you hover over it shows you total amount of stories and points estimated. It would be helpful while estimation is going on to see how many stories are still unestimated vs estimated.

    Have a great day!!
    Monika

    May 10, 2012 at 5:11 am

  5. Joanne Webb says:

    Thanks Monika and you’re welcome – great to know epics are wonderful for you!

    Thanks also for suggesting this. Can’t promise when we could work on it but I’ve entered a story & appreciate your feedback.

    All the best… Joanne

    May 10, 2012 at 2:28 pm

  6. Roger Rohrbach says:

    I’m starting to think about how to use Epics, and the example you’ve chosen here raises some questions for me.

    For your hypothetical e-commerce site, “shopping” will be a permanent area of system development. By converting an ordinary label representing this functional area into an Epic, you would seem to be creating a Never-ending Story (or Ongoing Saga). Actually, since an Epic may be completed in one iteration and new stories labeled with the linked label created in the next, it’s a story with a series of false endings.

    Are Epics meant to describe ongoing concerns, i.e., to be indefinite in scope? Mike Cohn, who’s a close to an expert in these matters as anyone I know, says “‘epic’ is just a label we apply to a large story,” and implies that they can be broken down into a finite set of stories (http://www.mountaingoatsoftware.com/blog/stories-epics-and-themes).

    I’m guessing that Tracker behaves sensibly, even after the Epic moves to the Done state and is no longer shown in the Epics panel? Can Epics be (re)-used indefinitely? And if so, are there any pitfalls?

    May 21, 2012 at 6:01 pm

  7. Joanne Webb says:

    Hi Roger, you raise an excellent point.

    An epic is typically going to be just that – one big story that you break down into a set of the smallest possible stories. It would have a finite lifespan and once all stories (that aren’t left in the icebox) are accepted, the epic is marked done. It remains at the top of the Epics panel until the iteration the last story was accepted in is complete, then, as you expected, it is hidden. You can choose to show it again, should you need to reference it, but it hides again on page refresh.

    The reason for marking an epic done when there are still stories on ice, is that there might always be lingering items that never get addressed or get moved, etc. However an epic really isn’t active if you’re not still planning and moving items into the backlog.

    One way I could have tackled the Shopping example would have been to call it something like Shopping Launch. That would have put finite bounds on it. Once the release or releases were finished for that epic, the team could expect not to use that epic any more. Instead either a new epic could be created or, more likely, just a normal label for bugs and maintenance.

    However, you might decide to keep an epic around for multiple phases or indefinitely. For example, you could have an epic with stories in current and backlog that represents the minimum viable product or feature. However it could also contain everything else you ultimately want to add, either further out in the backlog or on ice. The content would evolve and be prioritized based on customer feedback, and a key epic could remain active for a long or indefinite time. If activity in it was reduced to a trickle, that would be the point to consider renaming it’s label or otherwise letting it be done.

    A consideration with a long lived epic or saga is that it may become a project within a project. That can be useful to keep your entire team in one project but runs the risk of becoming so overloaded it is unwieldy or contains obsolete information. If that happens you might decide to break your epic into smaller epics or move the current/still relevant items from it into a new epic, letting the original be done.

    Your context and current definition of done for each epic are always going to inform your decisions on their use, and we hope we’ve made epics flexible enough to meet the majority of needs.

    As always we appreciate feedback and further questions.
    Thanks again!

    May 22, 2012 at 2:22 pm

  8. Marat Boshernitsan says:

    As I’ve been working more with epics over the last few days, I realized that it would be tremendously useful to be able to see the release markers within the epic story panel and to be able to move stories around those markers. Thanks!

    June 6, 2012 at 3:16 pm

  9. Arnaud Lecat says:

    Hi

    In a multi-project context (several internal projects but also many customer projects), we have splitted our projects in epics, just not to switch between project.

    Do you agree with this vision ?

    August 30, 2013 at 9:55 am

  10. Joanne Webb says:

    Hello Arnaud – apologies for the slow reply.

    Though we had a common use of epics in mind when we designed the epics feature, we always hope there is enough flexibility for our customers to use Tracker in other ways that meet their needs. If using one epic per project is working for you, then this is a perfect use for them. Likewise, some customers use epics for releases or even for teams.

    In the next major revision of Tracker, however, we will be making it easier for you to work with multiple projects, so if you end up with entirely separate teams on different projects and end up wanting to split those out into separate Tracker projects, it will be far more reasonable and convenient to do so.

    We’ll continue to make announcements about Tracker features and updates in this blog, as they become available.

    Thanks for asking and kind regards…Jo

    September 10, 2013 at 4:03 pm

  11. Fred Bidel says:

    Hello everyone,

    My question is about managing Epics points and their child stories’ points once the progressive refinement begins. Specifically,

    + How could one go about keeping track of what Stories roll up to which Epics in Pivotal? In my situation, we have a group of Epics that are grouped under a larger Epic label. For example, if an Epic is initially estimated at XL (16 points), and we start developing stories that roll up to that one Epic, how can one give the created stories their points and not “double-count” those points against the overall initially-estimated Epic? To use the Parent/Child model, one the Parent story has been created, how can one keep track of Child stories’ points in a way that the Parent’s points and its Child stories’ points are not counted twice?

    I hope this loooong question makes sense. :-)

    Thanks,
    Fred.

    March 1, 2014 at 9:36 pm

Add New Comment

Your email address will not be published.