This article uses several concepts in JIRA to manage a portfolio of initiatives at a company. Prior JIRA admin experience is very helpful, but not required; I link to documentation of each concept discussed in the article.

This article is part of a blog series!

Part Title
1 Sprint to Program
2 Program to Portfolio

 

Hey program managers! This is the second article in a series focused on portfolio project management with JIRA Agile. We are continuing our series on project portfolio management. If you have not read the first article about managing epics between multiple teams, please read it first. In this article, we will be taking a step up to the portfolio level to look at strategic investments across a company’s ecosystem.

1. Create a new project

Many organizations use JIRA to track tactical items like user stories, bugs, and even larger items like epics. This blog post will focus on using JIRA to track broad strategic items, like company initiatives. All previous learning about how to use JIRA still applies; we’re just nesting and scaling the same concepts.

As the backdrop for these articles, I’ll be using Atlassian’s fictional sample company, Teams in Space – a new company that’s revolutionizing space travel for teams.

First, let’s create a JIRA project for our company’s investments. In this example, we’ll call it “Teams in Space Investment Register” also known as TISIR. We’re creating a new project here because the items at this level are larger strategic initiatives. Each item in this project will link out to one of the boards we created in the first blog post.

jira_agile_portfolio_project_management_create_project

2. Set up a new issue type

We are also going to create an issue type called investment, and associate it with our project. Creating a new issue type allows us to target specific fields, set unique workflow, and easily search by issue type. Let’s define the fields on this issue type to set us up for success (ensure that all these fields are required when submitting a new investment). We will also create a set of custom fields to work with the new investment issue type.

  • Summary – This is a short description of what the investment is. The summary should be concise; 10 to 15 words. (Standard JIRA field)
  • Description – Should contain detailed information outlining the investment proposal. It should explain why the company should invest in this initiative, and any potential risks or concerns. The description should also contain a link to the board. (Standard JIRA field)
  • Assignee – The tactical person responsible for delivering the investment. This person is usually an engineering manager, or someone in product development. (Standard JIRA field)
  • Reporter – The direct sponsor for shepherding the project through delivery. Usually a product owner or someone in the product management organization. (Standard JIRA field)
  • Sponsor – An executive stakeholder involved in the project. This will be a new custom field. Use the type User Picker (single user).
  • Health – A simple list outlining the health of a project at any given time. Suggested values to use are on track, at risk, and delayed. Use a drop-down so that the investment assignee is forced to choose health on a regular basis. This will be a new custom field. Use the type Select List (single choice).
  • Theme – Many teams use a theme to track a set of related company initiatives. We’ll use theme later on in our agile board to categorize related investments. On a tactical agile board like many teams use, epics collect a related set of user stories. In the same manner, themes collect a related set of investments.
  • Date Due – Some teams like to track the quarter of delivery for a particular investment. You can either use the Date due field in JIRA, or create a custom field outlining the particular quarter (Q1 2014, Q2 2014, etc.). If the latter, use the type Select List (single choice).

jira_agile_portfolio_project_management_swimlanes_issue_detail_view

3. Set up a kanban board

Kanban boards are great for showing the flow of work through a process. We’re using kanban instead of scrum, because work at the investment level doesn’t use fixed sprints. I’d also recommend keeping the workflow for investments fairly simple. Start with to do, ideation, in progress, and done. You can use global transitions between states so that it’s easy to move work around on the board. JIRA tracks all of the history of each state transition, so it’s easy to follow what happened on any particular work item.

jira_agile_portfolio_project_management_workflow

We can create a kanban board in JIRA Agile for our new project and workflow. Map each workflow state to a column on your kanban board. You can also set work in progress limits for the ideation as well as in progress state to ensure the business isn’t focusing on too many things at once.

jira_agile_portfolio_project_management_wip_limits

4. Create new investments

At this point, create some investments to populate your new kanban board. It’s important to see your data in the board, as it will be easier to build and customize as we go along. I’d recommend creating 10 to 20 investments that we can use for the duration of this blog article. Have at least one investment in each state so that we can verify changes to all investments.

5. Make the board awesome

Now that we have a basic board set up, let’s start looking at how we can really target our audience. Senior-level managers and executives want to know several key metrics:

  • What’s in trouble?
  • What is the opportunity cost of things we’re not doing?
  • What themes are we tackling as a company?
  • What’s the roadmap over the next period of time?

Give the people what they want! We can configure JIRA Agile to show all of this data.

What’s in trouble?

The health field provides critical information about the level of concern for our project. It’s the high level KPI. Let’s map card colors to the health field so it’s easy to spot projects that are in trouble on our board.

jira_agile_portfolio_project_management_card_colors

With card colors, it’s easy to spot where management needs to focus. The red cards easily stick out.

jira_agile_portfolio_project_management_agile_card

What’s the opportunity cost?

Just like in tactical boards, the to do and ideation columns are in order of priority, from most important to least important. The most important items for the business should be at the top of the list. Work in progress limits encourage the executive team to be specific about moving new work into the in progress state. If too much work is in progress at once, the company loses focus. If not enough work is in progress, the company is not using its resources most efficiently.

What themes are we working on?

Swim lanes in JIRA Agile are an excellent way to group related areas of work on a kanban board. We will use our custom theme field to segregate out related investments on the board. With swim lanes we can easily see the progress of each individual theme on the board.

jira_agile_portfolio_project_management_swimlanes

Unleash you inner ninja!

Quick filters are probably one of my favorite features in JIRA Agile. With some JQL knowledge, quick filters go a very long way in getting the most out of your agile board. The same concepts apply in the portfolio view as they would in tactical boards.

What’s in it for me?

Everyone involved in the portfolio wants to see what’s required of them. Looking at assignee, reporter, and sponsor, it’s unlikely that one person will be multiple roles. Thus, we really only need one query to track “involves me.”

1
2
assignee=currentuser() or reporter=currentuser()
or sponsor=currentuser()

What’s in trouble?

Depending on how many projects you have in your board, it may be helpful to see items that are in trouble. The custom field health will drive this query. Thus, a quick filter to to highlight these projects specifically can really help them stand out.

1
health in ("At Risk", "Delayed")

What’s not up to date?

We also like to see the projects that haven’t received an update in the past seven days. At Atlassian, an assignee of an active investment is required to update his or her project every Friday morning. This quick filter will highlight any project that hasn’t been updated in at least a week. NOTE: We’re only checking to see that some update has been made; we’re not looking for any specific update in particular.

1
updated > -8d

What’s is our roadmap?

We can also use quick filters to visualize our road maps by pivoting off of the date due field. Why might we want to do this? The in progress column highlights work, right? Using quick filters allows you to break up the in progress column by quarter as well as what investments might be in ideation. If you are using the built-in JIRA field, date due, we can see all the projects due in Q4 of 2013.

1
due > "2013-10-01" and due < "2013-12-31"

If we are using a custom field to track the quarter of delivery, then we can use that field as well.

1
quarterdue = "2013-Q4"

I’m linking to the static value that we set up in the dropdown in part two. You can use whatever notation you’d like here.

jira_agile_portfolio_project_management_quickfilters

6. Make JIRA work for you

JIRA Dashboards

Dashboards are an excellent way to share information with your team. You’ll want to share highlights from the agile board on your dashboard, but don’t feel like you need to recreate everything. I focus on items for the logged-in user, work that’s in progress for this quarter, and anything that is at risk or delayed. Users who want to see the full picture can easily jump to the JIRA Agile Board.

jira_agile_portfolio_project_management_full_board

JIRA subscriptions

As a program manager you’re required to keep everyone on track and up to date. Who helps you track if the information on all of your investments are up to date? As previously mentioned, at Atlassian all investment assignees are required to update their investment with the latest status every Friday by noon, local time. With JIRA subscriptions, JIRA can email you when someone forgets to keep their project current. This query will return all projects that haven’t been updated in the last day:

1
updated > -8d

You can schedule this query to run on a recurring basis and email you when an investment has not been updated in the last eight days. That way, program managers can be aware when data falls out of date. Let’s take a look at one of the emails JIRA sends as a subscription:

jira_agile_portfolio_project_management_email

Status reports, Confluence style!

Creating status reports can be a drain for any program manager. You have to copy data out of a bunch of systems, and craft it into an easy-to-read format for your viewers. Thankfully, Confluence links with JIRA to make status reports easy! Confluence is great for pulling highlight data out JIRA, so business stakeholders can stay on the same page with the team.

Several marketplace plugins create a custom field in JIRA which is the last comment. If the assignees of each investment are regularly placing status updates inside of JIRA, it’s easy to syndicate those updates in Confluence. We can use the JIRA issues macro to bring data from JIRA into Confluence, and then use the last commented field to highlight the latest update. Let’s take a look at how the Teams in Space executive team uses Confluence and JIRA for their status reports.

jira_agile_portfolio_project_management_confluence

7. Want more?

There are several add-ons in the Atlassian Marketplace that can help enrich your view of your portfolio of investments:

In closing, JIRA scales to track enterprise portfolios to ensure that everyone stays on target. Portfolios have special challenges that require many team members to work together to build a common solution. JIRA and JIRA Agile can help your organization highlight key areas of focus and provide transparency down to the team level. Using and adapting these techniques at your company will help everyone be more connected to the company goals.

We at Atlassian are curious: How do you use JIRA to track your large company initiatives? We’d love to hear! Let us know in the comments.

About Dan Radigan

Software has been a passion since the days of the floppy disk (you know, the actual 5.25 inch floppy ones). Agile has had a huge impact on me both professionally and personally as I've learned the best experiences are agile, both in code and in life. You'll often find me at the intersection of technology, photography, and motorcycling. Find me on twitter @danradigan.

View all posts by Dan Radigan »