Multi-Level Agile Boards or How We Support Epics

We get quite a few questions from our customers which can be summed up as “Does YouTrack support multi-level agile boards, and do you have epics?” The short answer is “Yes.” For the long answer, please read on.

What is it all about?
Though there are no clear-cut rules in Agile for using the terms epics, user stories, features, and tasks, we understand epics as complex user stories divided into smaller and simple user stories, which are then split into particular tasks for developers. Another distinguishing feature of epics is their duration: they are usually complex, time-consuming, and in development for several sprints. Sometimes an epic may include user stories from different projects.

The question we need to answer is how we can effectively monitor both overall progress of implementing an epic, and plan and monitor particular tasks, on a daily basis. The former is more of a manager’s task while the latter should be tuned to each development team’s workflow.

What we suggest

In terms of YouTrack epics, features, tasks are an issue types.

In YouTrack Agile Board, you can see three levels of hierarchy: swimlanes, tasks, and their subtasks. However, at the third level, subtasks are displayed as a list of linked issues in the description of the parent task, in detailed view mode. That is, subtasks are not shown as separate cards on the board.

Swimlanes and tasks are associated by the parent->subtask link type. So in our case of multi-hierarchy,  epics and user stories (features) should be linked in the same way: all user stories included into an epic should be linked as subtasks to the corresponding parent epic issue. On the second level of hierarchy, all the tasks included into a user story (feature) should be also linked as subtasks to the parent user story issue.

To visually support multi-level hierarchy: epics->user stories->tasks we suggest using two boards—one for managers to monitor epics and user stories, and one for developers to view user stories and tasks. Here’s how you can do that:

  1. Add a new issue type ‘Epic’ for all projects the board will be associated with.
  2. Enable Time tracking for these projects. This way YouTrack will automatically calculate estimates and spent time in features and epics. The trick is to use the same Estimation and Spent time fields for all the projects on the board.
  3. Create a board for epics and set Swimlanes defined by issue of ‘Epic’ type. Epics will then occupy the highest level on the manager’s board.

    Epics Board Settings

    Epics Board Settings

  4. Select the appropriate Estimation field. It should be the same field we use for the Time Tracking.
  5. Your epics board will look something like this:
    Agile board with epics

    Agile board with epics

    As you see, it’s pretty easy to monitor the overall development progress with such a board. Epics are shown as swimlanes with the cards of user stories or features in development. If you enable the detailed view (click the down-arrow icon next to the view mode switches, and select ‘With description’ mode), you will see feature descriptions on cards as well as lists of these feature tasks.
    For the sprint in general, all the estimates and spent time are calculates automatically, due to enabled Time Tracking. You can see the circle charts for the sprint progress and for each column on the board.
    In addition to easy monitoring, planning is also made easy. Create new features on the board,
    or add them from the backlog (even with all their tasks and subtasks, you can just drag them to the board).

  6. Create another board for the development team. Use the same project(s), with the same Estimation field, but make swimlanes defined by issue of ‘Feature’ type. That’s it!
    Settings for development board

    Settings for development board

    The development team board will look something like this:

    Board for developers team

    Board for developers team

    You don’t see epics here, but it’s not essential for the developer team in their routine. What is essential is that all standard options for planning and monitoring team’s work as designed, while providing data for the overall monitoring.
    As long as we have Time Tracking enabled and we use the same estimations and spent time fields in all projects involved, the estimates and spent time are summed up for the features and are automatically added to the indices on the manager’s board, with epics.

YouTrack aims to provide you with all the means to practice Agile methodologies. We hope this post gave you some useful tips on how to make your daily routine more effective and easy keeping your eyes on the target and monitoring the progress.

Your comments are very welcome below.

Keep tracking with pleasure!
~ YouTrack Team

This entry was posted in features, how-to, tips and tagged , . Bookmark the permalink.

16 Responses to Multi-Level Agile Boards or How We Support Epics

  1. Michael Riess says:

    It’s good to see that this use case is something that you want to support – however, it does not work properly. If you do it like it is described here, at least on our server (5.0.6) the backlog on the features board will also show the epics, and when you drag them onto the board they will be converted into features. Last time I checked, no bugfix for this is in sight …

    • Vadim says:

      Michael,

      Backlog always show the whole tree, including epics, features, tasks. This allows you to have more then 3 levels in you tasks structure and pull any level into board.
      Back to your issue, the only case when issue attributes are being changed is when board has defined query – we try to change dragged issue so it satisfy this query.
      But why do you want to drag Epic to features board?

  2. Dan Michaelson says:

    Can you (or any readers) articulate how swimlanes should be used in general? We use them essentially for epics already. How would you describe the suggested granularity of swimlanes and tasks?

  3. Valerie Andrianova says:

    Hi Dan,
    Yes, you are absolutely right, swimlanes are essentially to be used as any kind of general parent issue, that has subtasks. You can use them for your features, user stories or epics. Any kind of parent issue would work.
    However, there are a number of alternative ways of using Agile board, so we made the choice of what issue attribute and its value would represent the swimlane up to you.

  4. Sukhy Singh says:

    How do I reuse a ‘feature’ card from the managers board, as a swimlane on the developers board?

    • Valerie Andrianova says:

      Hi Sukhy,
      Simply configure developers board to use features as swimlanes. You may also need to add this feature to a specific sprint (fix version). You can add two different sprints to a feature, one for managers board and another one for developers board. Does it make sense?

      • Sukhy Singh says:

        It does.

        So I’ve created a developers board, with swimlanes as features, and cards as tasks. I’ve also got a managers board.

        I wanted to use the feature objects from the developers board as the cards in the managers board, i.e. to create the three levels of hierarchy link. But when I did so, it disappeared from the developers board… help!

        • Valerie Andrianova says:

          Sukhy,
          Have you used Epics as swimlanes on the managers board? Are your features subtasks of your epics? Are your tasks (on the developer board) subtasks of the same features (from the managers board)? Please make sure that you have added two sprints to your features: one from the managers boards and another one from the developer board (if you used different sprints).

          • Sukhy Singh says:

            Ah! I had all the above but was missing the two sprint link. I’ve added that now and its working, thanks!

            Next onto mastering the YouTrack Workflow :)

  5. Rhona says:

    I like this idea, and I was able to configure both boards successfully. What I haven’t been able to figure out is the link between the two boards as far as the State of each task. Since the work will be done by developers, the tasks on the developer board will be moving between states, but unless they also update the state of the swimlane (feature) task, we will not be able to see the progress on the Epics board.

    I’m interested to know how this is working for others?

    Thanks!

  6. Mafo says:

    What do I do wrong if I have the epics as orphans in my developer board? (youtrack 5.1)

    • Valerie Andrianova says:

      Please use the following query on your Board settings: -Epic. It will exclude epics from your Developers board. This is a workaround for now, here is the feature request to solve the issue.

  7. Jon says:

    Release 5.2 of YouTrack says, “We’ve made Epic a default issue type so you could practice better Agile right out of the box.” then refers to this blog entry.

    We are running 5.2 in the Cloud and do not see a Type of Epic available. Is there some setting in 5.2 that exposes the Epic Type?

  8. Valerie Andrianova says:

    Hi Jon,
    We apologize for misleading you, we did add an Epic type in 5.2 for new installations, means if you start using YouTrack from the v.5.2, you’ll get the Epic type by default. However, since you already have you projects setup and YouTrack shares the ‘Types’ bundle for all the projects by default, we cannot just add a new type to your existing projects (since we’re not sure you really want it). Here is what you do: simply add an Epic to the Types bundle, if you want to use it for all the projects, or copy the Types bundle and edit the copy to use it for a specific project.

  9. Jon says:

    Thanks for the clarification, Valerie. Does Epic become a default Type for swimlanes like Feature or have any other special behavior?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">