Tempo logotype

How to simplify PI tracking in Jira

Creating a clear, easily accessible way to track Program Increments is a key part of the SAFe transformation. You have a lot of options here — five, by our reckoning.
From Team '23

Tempo Team

Originally published August 4, 2020

Your organization faces a number of choices for how best to navigate its Scaled Agile Framework (SAFe) transformation. We’ve already written about how to decide which hierarchy to use and how to efficiently manage PI planning. Another important question you'll have to answer: how to represent and track PIs.

The common approaches are:

  • fixVersion

  • creating a "PI" Jira issue

  • custom fields

  • components

  • labels

We’ll briefly go over the rationale behind each idea, and help you consider which solution best suits your company's situation.

FixVersion

A very common approach to tracking PIs is to attach them to the fixVersion field in Jira. This is the most semantically in line with each PI, resulting in a working release and aligning with your release cadence. We recommend this option wherever possible. However, you will need to decide between working on a single central fixVersion, or creating a fixVersion for every team (all with the same name).

The flexibility allowed in naming your fixVersion may create confusion if you’re not careful. For example, while these fields are not case-sensitive (“PI Elephant” will also be found by a query searching for “PI elephant”), there are often cases where spelling issues or poor communication can lead to errors (for example “PI Elephant” is not the same as “PI - Elephant”). There is no built-in validator for fixVersion, so you’ll need to ensure consistency in some way if you select this. Note that other options also involve potential pitfalls with regard to naming, so always think through the downstream naming impacts of your decisions before you move forward.

One case where we do not recommend fixVersion fields: when they are currently being used as part of your release management and if those releases are on a different cadence than your PIs. Using fixVersion for PI tracking might be impossible in that case — or, at minimum, they can introduce complexity, hurt reporting, and disrupt other downstream processes.

Creating a "PI" Jira Issue

If fixVersions won't work for your release cadence, and if you are starting from a clean-slate Jira, your next-best option may be to create a Jira issue called "PI" and use issue links to track it. Many consultants use this as their SAFe solution, as it's almost identical to using fixVersions if you also connect the PI to the parent epic/initiative.

However, it requires a fair bit of organizational discipline. You would need validators or other rules in place to prevent mis-naming problems that would lead to mass confusion. If your Jira instance and users are disciplined, it's a solid option — but poorly implemented, it can lead to a lot of pain.

Custom fields

Custom fields are probably the easiest to implement if using fixVersions is not available to you. You can make a select, numeric, or general text field:

  • The select field is the easiest for users, but will require you to periodically add the newest ones, and after several PIs you will likely be adding complexity by having an ever-growing list of options to choose from. You could change this down the line from one to another, but it will require some careful scripting.

  • A numeric field may be easier to edit, since you can keep incrementing them each PI. It also nicely adds an indication of how long you have been on your Scaled Agile journey. However, this does limit your naming ability, so you’ll need to make sure this is something that is acceptable to your organization. Generally you will want to avoid having things with multiple names. For example, it would likely cause confusion if Jira has all PIs by number, but documentation refers to them by animal names.

  • Finally, having a generic text field is the most flexible, but also a possible source of naming errors — similar to the kinds of mistakes that can arise from using fixVersion fields, except in this case you could wind up with different names for every issue!

The downside here is that custom fields can often lead to bloat. Adding several values within a single custom field — for example, if everyone is entering a unique response in the generic text field — can quickly lead to confusion. We recommend custom fields only if using fixVersion is not an option.

Components

Another common approach is to add a component to track which PI an issue belongs to. Components are a subsection of projects — bigger than issues, but smaller than the project itself. They come with Affect Version and fixVersion links, as well as their own resolution rules.

Some elements make this useful: You can assign a component to a person, such as the release train engineer (RTE). That way, the RTE has an easy way to aggregate all the issues under their control. They can create their own board or structure to keep an eye on issues and deadlines, making their life considerably easier.

Components are also a decent option if fixVersions would be too complicated for your organization's setup. Here's why: Release versions are defined per project, and if you want to link all the stories to a PI, you need to create fixVersions in each team's project as well as the program level above it. But that might lead you to override a team's process for release management. For example, if the ART has a software team in it, but also a marketing or administrative team, the software team could be managing their own releases with fixVersions and they now lose a key feature just so the larger team can use the same field.

Components, then, offer a compromise.

The biggest drawback to using components is that every issue must be linked to its component, and it’s easy for users to forget to add a link. Jira can alert you to linking mistakes with fixVersion, but components don’t have similar safeguards.

Labels

Many organizations consider using labels to track PIs, but this isn’t something we recommend. Labels are too flexible and meant to denote bits of information where an issue is out of the ordinary (was it escalated, contracted out, etc.) whereas PI information is something that is a single value for each issue. Organizations also tend to have lots of loose rules for how labels are used, and adding PI to an already polluted namespace is a recipe for confusion and disaster.

Lastly, labels are hard to aggregate and filter by — this is most relevant for Structure users, but it applies more generally as well. Using labels to keep track of this information means you constantly need to take extra steps to get a clean data set to work with.

Final analysis: How to choose

As with everything, much depends on your organization's unique situation and what works best for your team. But here are a few key thoughts to leave you with:

  • FixVersion fields are the best choice, unless your release management process doesn't easily allow for them.

  • Creating a "PI" Jira ticket can work well, as long as labeling rules are incredibly stringent and uniformly applied.

  • Custom fields are the easiest non-fixVersion options to implement, but you have to make sure your team is incredibly disciplined in how they add values to prevent constant confusion.

  • Components offer a compromise if fixVersion fields aren't neatly aligned with your releases, and they have other benefits — such as the ability to assign them to an individual. But again, human error is a factor here. Every issue must be linked to its component, and it's easy to forget to do this. Only consider this option if you have a thought-out way to incorporate this functionality into your reporting and management.

  • Labels seem like a good idea, for about two minutes. Don't use labels.

Another key thing to remember is that these options rely on clear naming conventions that users follow carefully. It's easy to accidentally pick a naming convention that might lead to confusion, so be aware of downstream impacts.

Sign up for a demo

Register

Explore More Content

No more reporting limitations

Custom Charts for Confluence

Create and share all kinds of highly visual and customizable charts directly on your Confluence pages.

Learn more

AI-enabled capacity visualization

Capacity Insights - Open Beta

Deliver visibility into how your team's time and efforts align with business objectives and project ROI - without the manual effort

Learn more

Monitor financial health at every level

Financial Manager for Timesheets

Monitor projects and portfolios to get simple, clear, and real-time views of your costs, budgets, and profits that can be shared throughout your entire organization.

Learn more

Roadmapping software for teams of all sizes

Strategic Roadmaps (Roadmunk)

The roadmapping tool designed for high-performing teams delivering boardroom-ready strategic roadmaps.

Learn more
Colleagues interacting around a desk

No-Code Power BI Jira Integration

Power BI Connector for Jira

Effortlessly bridge Jira with your preferred BI tool, unlocking unparalleled insights and enhancing decision-making

Learn more

Jira Time Tracking

Timesheets by Tempo

#1 Jira Time Tracking & AI Apps: Log Tempo Timesheets for Planning, Project Management & Billing. Plugin Office365, Google & Slack

Go to marketplace

Unified time and team management

Integration: Timesheets and Structure

Combining Tempo Timesheets and Structure PPM provides a unified view of time tracking and project progress, enabling more accurate reporting and effective portfolio management. Simplify workflows, enhance collaboration, and ensure projects stay on time and within budget.

Learn more

Industry-leading project plan and roadmap visualizations with a Gantt chart extension

Gantt Charts for Structure PPM

Visualize project plans and roadmaps with a Gantt chart extension for Jira

Learn more

Jira Project Cost Tracking

Financial Manager

Project financial management for Jira & Timesheets. Monitor project costs, expenses, revenue, billing & budgets. Track Capex/Opex

Go to marketplace

Real-time collaboration and capacity planning in Jira

Capacity Planner

A powerful team resource management tool designed to optimize capacity planning and project management in Jira

Learn more

Unified time and team management

Integration: Timesheets and Capacity Planner

Seamlessly manage project timelines and resources while accurately tracking time spent on tasks. This integration enhances visibility, improves planning accuracy, and supports data-driven decision-making for better overall project outcomes.

Learn more

For planning leaders looking to add a big-picture roadmap view to their structured Jira data, this integration is essential. Improve visibility to leadership, reduce reporting admin, and keep your team aligned.

Learn more

Powered by Structure’s custom hierarchies, visualize your roadmap, project plans, timeline & dependencies within Jira Gantt charts

Go to marketplace

Never lose track of a brilliant idea again

Idea Manager for Strategic Roadmaps

Never lose a brilliant idea again. Idea Manager for Strategic Roadmaps has built-in best practices to help.

Learn more

Jira ITSM Solutions with Tempo

ITSM

Build and scale a custom ITSM solution at your own pace with Tempo's modular suite of integrated tools. Enhance Jira's capabilities and take control of your entire IT portfolio.

Learn more

Take control of your projects

Integration: Portfolio Manager and Jira

Portfolio Manager integrates seamlessly with Jira to give you predictive scheduling, real-time scenario modeling, and advanced resource management – ensuring you stay on track, no matter what challenges arise.

Learn more

Project and program management for Jira

Structure PPM

Visualize all your Jira data & manage portfolios of projects in real-time.

Learn more

Custom charts and dashboards for Jira

Custom Charts for Jira

See how work is progressing and where blockers are with the most flexible reporting app in Jira.

Learn more

Get the data you need to succeed

Time Tracker

Extend your Jira with prebuilt and highly configurable reports for straightforward time tracking.

Learn more

Align your organization with proactive portfolio management

Portfolio Manager (LiquidPlanner)

Predictive scheduling and the ability to forecast project timelines and spot risks so you can meet deadlines with confidence.

Learn more

Centralize real-time plans in one view

Integration: Structure and Gantt Charts

Gain a more complete project management solution, simplifying project reporting, improving collaboration, and ensuring projects stay on time and within budget.

Learn more

Time Tracking Software for Jira

Timesheets

Tempo’s intuitive automation and Jira-native design make it the most trusted time tracking tool for enterprise organization.

Learn more

Jira Portfolio Management PPM

Structure by Tempo

Jira Project Portfolio Management (PPM): Visualize data and manage projects within spreadsheet-like tables — in less than a minute

Go to marketplace

Strategic Portfolio Management

Strategic Portfolio Management

Modern modular PPM solutions that scale with your business. Align your teams with the integrated platform that bridges the gap between strategy and execution.

Learn more

Agile at Scale Software

Agile at Scale

Adapt to changing business needs, rapidly adjust plans, and reallocate investment.

Learn more

No-code Tableau Jira integration

Tableau Connector for Jira

Effortlessly bridge Jira with Tableau, unlocking unparalleled insights and enhancing decision-making

Learn more

Jira Team & Resource Management

Capacity Planner

#1 Jira Resource Management App: Optimize team allocation, skillset utilization, capacity planning & project management

Go to marketplace