What is SAFe®?
SAFe® is designed to tame the scope of agile processes beyond the actual development teams. You could describe it as a way to make product development agile throughout the entire company.
A Scaled Agile Framework provides a structure that is not limited to the team level but also integrates programs, larger solutions, and portfolios right up to practices that are integrated into the fabric of the entire organization.
The framework outlines various techniques, roles, meetings, and artifacts – partly borrowed from the lean approach – that serve the overall goal of delivering products via so-called Agile Release Trains (ARTs). These ARTs "drive" through entire value streams and offer means of integration and coordination at each step.
But where should you start? An overview.
Anyone looking at SAFe® processes for the first time might feel overwhelmed by the abundance of terms and components. In practice, all of these elements should interlock and work together to ensure an optimal flow. For a better understanding, it can help to look at the framework in its individual components.
SAFe® can be implemented in four different configurations depending on individual requirements, the size of the organization, scope, and the number of products. These configurations are Essential SAFe® (the heart and core of SAFe®), Portfolio SAFe®, Large Solution SAFe®, and Full SAFe®.
SAFe® comprises four levels, each with different tasks and functions – from the team up to the portfolio.
How can Agile Hive help you built up SAFe with the tools you probably already use?
Jira is the leading agile software development tool. SAFe® is the leading framework for scaling agile. So why not just combine one with the other? Well, while Jira is a great tool, it comes with a few limitations when scaling becomes necessary. Here are a few examples:
Artifact hierarchy and nomenclature
Working with Jira on a team level is excellent, no doubt. That's what it was built for, and that's why we love it. However, large organizations using SAFe® rely on a strong hierarchical context to maintain a certain alignment throughout the enterprise, from strategy to execution. Jira's structure of stories, epics, and Jira projects is simply not enough.
While there are several Jira apps made to solve this issue – Agile Hive does so while maximizing SAFe® compliance at the same time. The trick: On each level, from portfolios, large solutions, ARTs, to teams, all of these structural SAFe®-artifacts come as complete Jira projects, making them highly flexible when it comes to naming and workflows. Furthermore, it does all of this without impacting Jira projects outside the SAFe® context!
Project hierarchies and context view
Agile Hive is based on "project hierarchies". Using project hierarchies, specially configured Jira projects (displayed as colored nodes) can be set in hierarchical relationships (displayed as gray connection lines). These relationships ensure that issues within these projects can be linked hierarchically, beyond the links that the respective relationships between the projects would ordinarily allow.
Agile Hive uses its own parent of / child of link type.
- A task in the team project "DC" can only be linked hierarchically to a feature or enabler of the corresponding Release Train, Jira project "ART2".
- A feature of this "ART2" can then be linked hierarchically with any story in the team project "DC", but also with a capability of "SOLUTION1" in the large solution level.
Basically, each Jira issue can only be linked hierarchically with the corresponding "parent" item. Any "father" can then have any number of "child"-issues linked to it – as long as they originate from the corresponding artifact. Of course, this does not take away any of Jira's other linking capabilities.
In the "project hierarchies" configuration menu, you can define layers and add projects to those layers to create a multi-level project hierarchy.
Once you have decided which SAFe® configuration works best for your product development, you or any person with permissions to create projects need to create one project for each of the relevant artifacts described before. Shared configurations make sure that your projects come with the correct issue types and workflows. Agile Hive is very flexible – so whenever your company needs to scale further, you can simply add layers as needed.
As a Jira admin, you now are able to configure the „Project Hierarchies“ in your admin console. If you have no layers yet, you will be prompted to: “Click here to add your first Layer”. It opens a dialog with a button: “+ Add your first layer”. Now you can name the new layer, assign a color to it and set a SAFe® level (or, as Agile Hive stays open here, add layers not respected by the framework).
Continue with adding layers on top or bottom by keeping your intended hierarchy format in mind.
Assign a project to a layer
Once you have all layers configured, you can start to assign your existing Jira projects to a layer.
Click on the name of the layer or on the slightly greyer box around the name. On the right side, an area will slide open, showing the name of the layer and a Drop-Down menu titled Projects.
Clicking on the drop-down will display a list of all Jira projects. Choose a project. It will be displayed in a list under the drop-down, labeled “New”. This project will be assigned to the layer once you press Save. You can add multiple projects. The newly added projects will appear in the row next to the layer name.
By the way: As Agile Hive evolves, we strive to make SAFe® project creation even easier - but for now: It works and seems quite intuitive.
Build your project hierarchy
Assign a parent project
In order to create a hierarchy, you just need to link projects with each other. This creates the Agile Hive-individual parent/child-links, that have multiple „positive side-effects“ from data aggregation to automated navigation. Each project can have one parent project and multiple child projects (e.g. one release train may - and should - include multiple teams but only support one large solution or portfolio).
Select a project in the hierarchy view. In the sidebar on the right side of the screen, you can choose the parent project in the drop-down. All projects assigned to the layer above the selected projects‘ layer are available. A “New” label is displayed until the assignment is saved with the “Save” button.
Assign child projects
Select the project in the hierarchy view. In the sidebar is a drop-down titled „Child Projects“.
Click on the drop-down and a list of all Jira projects is displayed. By typing a name or a key of a specific project, you filter the results. Choose the correct project. It will be displayed in a list under the drop-down, labeled “New”. This indicates that this project will be assigned as a child project once you press “Save”. With this method, you can add multiple projects before saving.
The list of projects is divided into two sections. “Projects in child layer” will show only projects that are already assigned to the layer below. Projects in “Will be assigned to child layer” are projects in Jira, that are not yet assigned to a layer in your hierarchy.
As soon as you have finished configuring your Project Hierarchies, an individual Agile Hive Navigation based on that structure will be set up automatically. By this, everyone using Jira in that context can quickly and easily jump to his or her everyday work - or rather: Jira project.
If you are working outside this context and have no permission to view SAFe®-projects, you are not affected by this menu - everything remains just the same, your Jira experience will not differ.
Now you found out one essential feature of Agile Hive and how it helps you to implement SAFe in Jira, you can find more information in the following links. We'd love to hear from you so feel free to comment below!