Agile Boards for Epics
This tutorial describes you can use YouTrack to measure large-scale development efforts in one or more projects. This setup helps users in leadership roles plan technology roadmaps and schedule major product releases. These guidelines are specific to products that are developed by teams that follow a scrum development framework.
In scrum development, work is broken down into different units. These units help measure the amount of effort that is required to meet the requirements. Each development team defines these units in their own way and uses their own terminology. In this tutorial, we use the following terms and definitions.
Term | Definition |
---|---|
Epic | A large or complex user story — too large to finish in a single sprint. Development is scheduled over several iterations. To better understand and describe the requirements for an epic, it is broken down into smaller, simple user stories. Many scrum teams avoid adding estimations epics and use the total estimation for each of their user stories instead. Less frequently, the team estimates the complexity of an epic by assigning it an arbitrary value, like a t-shirt size. |
User Story | A description of something an end user wants or needs to do as part of their job. User stories are usually small enough to fit into a single sprint. The complexity of a user story is often measured in story points. When a user story is finished, the team should be able to deliver a vertical slice of functionality to the end user. |
Task | Individual units of effort that are required to deliver a user story. During sprint planning, the team analyzes the user stories to be delivered in the next iteration and breaks them down granularly. Tasks can be estimated in actual working hours or ideal days. |
The challenge for users in leadership roles is finding ways to monitor the overall progress of implementing an epic — when most of the focus of a sprint is on the user stories and their tasks.
Two Boards, One Vision
In YouTrack, each epic, user story, and task is simply a different type of issue. The relationship between them is defined by issue links.
Tasks are linked as subtasks to their parent user stories.
User stories are linked as subtasks to their parent epics.
You can create an agile board in YouTrack that shows all three levels of hierarchy.
Swimlanes represent epics.
Cards represent user stories.
Subtasks on cards represent tasks.
This type of board gives leaders an overview of the progress on each epic and user story. However, the board is impractical for the development team.
The development team needs to plan and execute sprints to work on the tasks that are required for each user story. These tasks are only visible as links on this board. The team needs their own board so they can work on each task directly.
You might think that it would be easy to manage all of this information on one agile board. In fact, using two boards helps users in different roles focus on the work that matters most to them.
Users in leadership positions use this board to plan their product roadmap.
Development teams use a separate board to plan and execute sprints.
This tutorial shows you how to configure both types of boards for the same set of projects.
Starting from Scratch
If you're starting a new project and want to configure your agile boards as described here, use the Scrum Project Template. This template configures your project with issue types for epics, user stories, and tasks. It also creates two agile boards automatically — one for managing epics and user stories and another for user stories and tasks.
You can set up your project in just a few clicks and skip the rest of this tutorial.
Managing Existing Projects
If you want to track epics for one or more existing projects, follow these steps to configure your projects and create agile boards for the both the leadership and development teams.
Check your Projects
First, check all of the projects that you want to manage on the agile board and make sure that they are configured properly.
Verify the sets of values that are used in the Type field for each project. If they don't exist, add the values Epic, User Story, and Task.
- To add estimations to your issues, check for fields that store these values. If they don't already exist, add them to your projects.
Field
Type
Description
Story Points
integer
Stores an estimation of the effort that is required to implement a user story.
Ideal Days
integer
Stores the estimated number of days that are required to complete a task.
You can add an additional field to store estimations for epics or use the Story Points field to add the total estimation for each user story to the epic.
Here's an example of a project with the custom fields that are used in this setup:
Build the Board for Tracking Epics
Next, set up the Project Management board. This board represents the relationship between epics and user stores. Only issues with these types are displayed on the board. Swimlanes are defined by epics. Estimation for the user stories is counted in story points.
To create the Project Management board:
Click the Agile Boards link in the header.
Click the Create button, then select Board.
Click the Scrum board button.
- Enter the general settings for the board:
Give the board a name.
Add the projects that you want to manage on the board.
Choose to create a saved search for the backlog or select an existing search query.
- Click the Create board button.
The board is created and opens to the Board Settings page.
On the Columns and Rows tab, update the settings to identify swimlanes by issues from the Type field and use Epic.
- On the Card tab:
Set the Estimation Field to Story Points.
Set the Default Value for Type to User Story.
If you manage multiple projects on the board, you can set the Color Scheme to Project and assign different colors to cards for each project.
(Optional) On the Chart tab, set the Burndown calculated by option to Estimation. Enable this option only when your team updates the number of story points for each user story to track its progress.
- Open the sprints drop-down list and edit the First sprint.
Set the Sprint Name.
Enter a Goal for the sprint.
Set the sprint Schedule. Sprints on the Project Management board usually represent a series of iterations that span several months.
Open the backlog and click the Edit link to check your saved search. For this board, you only want to see epics and user stories. To exclude tasks from the backlog, edit the saved search criteria:
project: <project(s)> has: -{Board <Board Name>} #Unresolved -Task
Your Project Management board will look something like this:
Use this board to monitor the overall progress of your development teams.
Decompose your epics into user stories in the backlog.
Add epics to the board as swimlanes. You can create new swimlanes on the board or pull them from the backlog. When you add a swimlane from the backlog, you have the option to move all of its user stories to the board as well.
Add user stories to the board as cards.
View descriptions and tasks for each user story in XL mode.
Use the burndown chart to track the completion of each user story and measure your overall progress.
If you estimate user stories, this information is also shown on the board.
The total number of story points for the current sprint is displayed in the toolbar.
The total number of story points for each epic is displayed to the right of each swimlane.
The current estimation for each user story is displayed on each card.
Create Boards for the Development Team
The last step is to set up one or more boards for your product development teams. The Project Development board represents the relationship between user stories and tasks. Swimlanes are defined by user stories. This board displays each task as a card. Estimation for the tasks is measured in ideal days.
This part of the setup depends entirely on your organizational structure.
Larger development teams can have product owners who are responsible for the development of different features in the same application. In this case, set up separate boards for each feature development project. Better yet, send each product owner a link to this guide and let them set up and configure their own boards.
Smaller teams can be focused on the development of a single application and only need one agile board.
To create a Project Development board:
Follow the instructions in the previous procedure through step 5 to create a new board for the development team.
- Click the Create board button.
The board is created and opens to the Board Settings page.
On the Columns and Rows tab, check the Swimlane settings. This setting should already identify swimlanes by issues from the Type field and use User Story.
On the Card tab, set the Estimation Field to Ideal Days.
(Optional) On the Chart tab, set the Burndown calculated by option to Estimation. Enable this option only when your team updates the number of ideal days for each task to track its progress.
- Open the sprints drop-down list and edit the First sprint.
Set the Sprint Name.
Enter a Goal for the sprint.
Set the sprint Schedule.
Open the backlog and click the Edit link to check your saved search. For this board, you only want to see user stories and tasks. To exclude epics from the backlog, edit the saved search criteria:
project: <project(s)> has: -{Board <Board Name>} #Unresolved -Epic
The board for the development team will look something like this:
Use this board to plan and manage your development efforts for each sprint.
Groom and refine your user stories in the backlog.
Add user stories to the board as swimlanes. You can create new swimlanes on the board or pull them from the backlog. When you add a swimlane from the backlog, you have the option to move all of its tasks to the board as well.
Add tasks to the board as cards.
View descriptions and subtasks for each task in XL mode.
Use the burndown to track your progress during the sprint.
If you estimate tasks, this information is also shown on the board.
The total number of ideal days for the current sprint is displayed in the toolbar.
The total number of ideal days for each user story is displayed to the right of each swimlane.
The current estimation for each task is displayed on each card.