JIRA – Atlassian’s industry leading platform for issue tracking and and project management – is an ideal place to manage your Scaled Agile Framework (SAFe) implentation. We have tested many different flavors of how to configure Jira and have arrived at what follows as the simplest, but most complete configuration. We strongly favor not introducing non-standard methods to Jira, as the overhead of managing these types of changes is cumbersome across version changes, new functionality introductions, and integrations with other applications. The guiding principle for Scaled Labs software is to augment and not replace what’s already working well within the host software. Jira is unrivaled in issue tracking, visualization, and integration with software development practices, and adopting to how those Jira naturally functions follows a ‘best practices’ methodology, rather than changing Jira to how your teams are ‘used to’ working.
Here at Scaled Labs, we’re excited to partner with you as you begin your SAFe journey!
Project Definitions for SAFe
To begin, create two new issue types in Jira, “Capability” and “Enabler”, both as “Standard” Issue types. Navigate to Jira Settings > Issues > Issue Types, and select ‘New Issue Type’:
Also create a ‘Sub-Task Issue Type’ issue type for ‘Program Feature’. Next, go to Issue Types again and click “Translate” for Epic:
Then in your language (shown here in English):
This will safely allow your Epic functionality to show up as a Feature without breaking any existing filters.
Project Definitions for SAFe
Next create an Issue Type Scheme for your new issue types, titled “SSL Kanban Issue Type Scheme” (SSL=Safe Solution Level):
Now create a new project, SSL – SAFe Solution Level using the “Kanban” template, and associate the Issue Type Schema in the Issue Type Schemes settings with your project.
Now in your project you will see a Kanban board associated with these issue types. Program Features will be available as sub-tasks to both Capability and Enabler types. While SAFe is not prescriptive for the actual columns for the solution kanban board, we suggest at a minimum Backlog, Selected For Development, In Progress, and Done. A Jira workflow may be necessary to be created and associated with the project depending on what your team decides works best. An example implementation:
Optionally, Solution level team members may want visibility into Program activity within the same board. This can be achieved by setting the board JQL to include the program level project(s), then setting up “Quick Filters” in the Solution board to switch back and forth. For example:
Depending on the workflow selected, you may also need to map issue statuses to columns in the board settings as well for them to be visible. This is in Board Settings > Column Layout –
Follow the same steps in Solution Kanban, but substitute the new Issue Types and Issue Type scheme with “Portfolio Epic” and SPL (for SAFe Portfolio Level) Issue Type Scheme.
Relates To Usage
In order to link Enablers and Capabilities with Portfolio Epics, use the ‘Relates To’ Issue Link. Depending on your version of Jira, this may need to be added as an Issue Link type in the Settings > Issues > Issue Features > Issue Linking:
Provided this link type exists, you will see this in issue views as an option under Link Issue:
Provided there is no project specific security prohibiting linkages between projects, you can now relate issues to features (Epics in Jira), features to capabilities or enablers, and capabilities or enablers to portfolio epics. If these issue types are created exactly as specified above, they will be visible in JIRA in their respective levels, and will allow drill down capability to move freely through the levels in one interface.
Views on additional changes
Depending on the oversight required at your organization, varying levels of controls may need to be introduced which lead to additional configuration changes.
You may set up roles to identify the Product Owner and other members of the Product team, which in turn may allow for workflows in Jira to be controlled as to who can move a story to ‘Done’. For example given the following workflow definition:
Click “Done” (in this screen capture, #41), then “Conditions”:
Then “Add condition”. There are several options, select “User Is In Project Role”:
Then “Add”, and select the project role you’ve created (such as Product Owner).