Now we have the organization created, we will now go ahead and customize the process template to support SAFe practices.
A process template defines the objects and processes available to you when you create a project. Out of the box Azure DevOps has process templates for Agile, Scrum CMMI and a Basic template.
We will start by creating an inherited process from the Agile template and customize the inherited process for SAFe. There are a number of customizations possible on the process template. For our basic needs we need some custom work item types for e.g spike and some minor modifications to the workitem types to add custom fields like Risk, WSJF etc.
To Create an Inherited process, from the organization settings, choose Process and Add inherited process to the Agile template. If you want to make this template the default one for the organization. You can set it as default template.
If you want to add a new work item, you can click on the SAFe template and add New work item type. For e.g if you want to use a separate work item to define and track Spikes, you can create a new work item type for Spike
You can customize the spike work item by adding existing fields / new fields like Value area / Effort as given below
Similarly you can add new work item types to capture Customer feedback, Customer requests and many more.
When defining a new work item type, think through the following:
Information you want to capture, track, and report on
How work will be captured
The workflow to support tracking the work
To keep things simple, however, it's always best to minimize the amount of customizations you make. So, if you can get by with existing work item types, you might consider adding custom field(s) as needed to track specific information.
Adding extensions
Extensions are simple add-ons that can be used to customize and extend your experience with Azure DevOps. The Marketplace is home to hundreds of extensions that can be installed to help with the following tasks: Planning and tracking of work items, sprints, scrums, and so on.
Extensions can be installed by choosing Extensions menu item from the organization settings. On the extensions page, click on Browse Marketplace to search and install Azure DevOps extensions.
For e.g, if you can make use of the delivery plan extension to create plans to review road maps of the deliverables of Agile release trains per program teams.
From the marketplace add extensions for
Delivery Plans
Feature Timeline and Epic Roadmap
WSJF
Calculating Weighted Shortest Job First value for Epics & Features
Weighted Shortest Job First (WSJF) is a prioritization model used to sequence jobs (eg., Features, Epics) to produce maximum economic benefit. In SAFe, WSJF is estimated as the Cost of Delay (CoD) divided by job size.
WSJF helps teams prioritize their backlogs with items contributing the highest ROI Four values are used to calculate WSJF:
Business Value
Time Criticality
Risk
Effort
Before configuring the WSJF extension, we need to ensure that the above four values are captured as part of the epics and features. By default the Risk field in Azure DevOps is a text value with options (1 - High Risk, 2 - Medium Risk and 3 - Low Risk). We need to change that to use an integer value from the picklist.
Go back to process customization menu from the organization settings and choose SAFe process. Click on the EPIC work item type and under Planning add new field Risk Value with picklist items (1, 2 and 3).
Do the same for FEATURE work item type. This time you can add the field Risk Value from the existing fields.
Add a new decimal field under Planning for the EPIC and FEATURE work items to calculate the WSJF value. After adding the WSJF field to the work items, we need to setup the extension, so that this field value can be automatically calculated based on the values provided for Business Value, Time Criticallity, Risk and Effort.
Under the Extensions menu item in Organization Settings, choose WSJF and map the drop downs with the respective field names as given below.
Click Save to update the extension.
Next we'll see how to create projects, define portfolios and programs and how to plan and track SAFe programs and portfolios using Azure Boards.