with Azure DevOps Sync [ART]
Index
Attention
Before you can start with that you need to connect the piplanning app with your Azure DevOps instance: ALM Configuration
This is a great article about How SAFe® concepts map to Azure Board Artifacts
1. General Information
When creating a new PI Planning session in general information page, you can set the following fields.
Name | Description |
---|---|
Start date of your PI Planning | The date when PI Planning will take place. Can be edited also after session is created. The date is then displayed in the PI planning app when selecting a session from session list. |
Number of Iterations | max. 12 |
Duration of one Iteration in Days | This includes days on weekend. Based on the amount of days the dates under step 9 Iterations will be automatically filled in. |
Select your ALM Tool Connection
2. Add Teams (Boards)
Team Boards / Program Board Swimmlanes
While configuring a new session, you have to decide which teams will attend this session. You can do that by selecting either an ART or a Solution-Train.
Teams can only be added to a session during the session creation. You can not remove / add a team-(board) afterwards.
Selecting ART or ST
In the example of the screenshot we selected the ART "Animals" which consists of the teams listed under the ART-Name. All these teams will get their own team-board.
On this page you can:
- Delete or add teams out of other ARTs if needed
- Re-order the teams. The ordering is represented on the program-board
Attending Teams (without Board / Swimmlane)
You can add teams to a session without giving them an own board and swimmlane. This is useful for scenarios where you want to provide a Solution Level Board spanning multiple Programs. A team which is attending a session (but does not have its own Team Board in that session) can then join (see and edit) that session as well.
To add a team as a an attendee to a session:
- Go to step two in the session creation / edit session
- Click on the "Teams without boards" tab
- Add one or more teams
3. Team Boards
Configure Sticky Types for Team Boards
Move/Mirror Stickies
Move
If you check the box, teams will be able to Move Stickies from one Team Board to another Team Board.
Mirror
For the Sticky Types Configured on the Program Backlog Board and the Team Board (Origin Boards) you can configure if Teams should be allowed to visualize (Mirror) the Sticky Type on another Board.
Per default, Dependencies and Program Backlog Board Sticky Types can be mirrored to the Program Board.
Sticky Functions
There are two special sticky functions in place
Dependency
A Sticky Type with function Dependency does have special attributes. Consider the standard workflow using dependencies.
- It has mirror to Program Board configured per default.
- It can be assigned to another team (to a team which supports to solve the dependency).
- In the app the receiving and producing team will be shown on the sticky.
Hint
Don't sync the dependency sticky to your ALM Tool. The dependency sticky is a "meta"-sticky used to get a simpler way to collaborate on dependency and visualize them on the Program Board (less crowded as you don't need to visualize all the dependent team level stickies.
Risk
- Sticky Types with the function Risk will have a ROAM-field available visible on all Boards
- Risk Stickies can moved to the Program Risk Board per default
To enable the sync of workitems / stickies between ADO and the piplanning app you need to map:
- piplanning Teams to ADO-Area paths
- piplanning Iterations to ADO-Iteration paths
Mapping of sticky types to work-item types
- Create a new piplanning session
- Make sure that you include the teams you have previously mapped to area paths
- In step 3, map Work-items type of your choice to the sticky-types:
- If we can find numeric fields for that work-item type, we will display the story-points mapping dropdown as well:
4. Risk Board
Configure Sticky Types for the Risk Board
As Risk Sticky Types moved from the Team Boards on to the Risk Board will get the Sticky Type and color of the first Sticky Type, this might be a useful configuration
5. Backlog Board
Configure Sticky Types for the Program Backlog Board
Backlog Board Sync
When you create / edit a piplanning session which is synced with ADO, you can define which work-items out of ADO should appear on the program backlog board.
If you create a new sticky note on the backlog board, the piplanning app will then create a corresponding ADO work-item with the values defined.
You can narrow down the work-items by creating a "filter-query":
- ADO work item type: the work-item type you want to map to this issue-type
- ADO WSJF field: (optional) You can choose any numeric field here. This number will be displayed on the sticky-note.
- Matching ADO fields:
- Field: The ADO field type
- Value: The value which this field needs to have / will be set in ADO
- HINT: The Tags field is not supported yet. You can choose every field which is not 'read-only' and available on the work-item layout (excluding html and history field-types)
Unset area path
If you do not specify an area path at all, it will pull in all the work-items matching that work-item type over all projects.
Info about Paths (Iteration and Area)
If you select either "Area Path" or "Iteration Path", the backend will check if these values are valid (can be found in ADO).
6. Program Board
Configure Sticky Types for the Program Board
7. Collaboration Canvases
Collaboration Canvases can be provided to your teams to cover different use-cases before, during and after a PI Planning and are designed to support the whole Program Increment execution and lean-agile workshops on every level in your organization. Already in the piplanning app, check out how to Use Collaboration Canvases.
Add a new Collaboration Canvas Type
Add Canvas Type
press "Add Canvas" provide a Canvas Type Name
Choose a Canvas Background
press on the Background Preview
Choose your Background
Provide a Canvas Type Name
Your teams will see all Canvas Types you provide in the piplanning app. Provide the Collaboration Canvas Type with a meaningful name.
Define Sticky Types
For each Collaboration Canvas Type you can define what Sticky Types teams will be able to use.
Every Canvas Background comes with a pre-defined Sticky Type set adapted for the specific background.
You can add, change or delete Sticky Types.
8. Links
Links between workitems can be visualized in the piplanning app. During the session creation or while editing a existing session in the cockpit you can map the links of the app to the links in ADO.
To get an idea on how the links look like in the app, check out this page: Linking
How to interpret From and To (direction of links)
A practical example: If you want to set the Parent link between Feature and User Story, you would configure it like that:
From sticky type | Link type | To sticky type |
---|---|---|
Feature | (is) Parent (of) | User Story |
To define Predecessor between two User Stories (will be visualized in the app like FromSticky→ToSticky):
From sticky type | Link type | to sticky Type |
---|---|---|
User Story | Predecessor | User Story |
Restrictions in combination with ADO
- You can only have one link-type between two sticky-types. Example: Between Feature and User Story, you can only have Parent (and not Affected By as well).
9. Iterations
Map Iterations to Area Paths (Teams)
Create or edit a piplanning session
Make sure that you have included the teams you have previously mapped to area-paths
In the last step of the piplanning-session configuration you can now map teams to iteration-paths
If you have multiple area-paths for one team, you have to set the iteration-path for each area-path as well
Synchronize iterations for Backlog level work items
For your work items managed on Backlog level you can synchronize the Iteration field. Depending on the iteration in which a Backlog level sticky type is planned, the iteration is synchronized back to ADO based on the iteration paths which are defined for your teams.
To enable synchronization, check the corresponding box under the Backlog Board configuration.
Iteration path filtering
In case you do not specify an iteration-path for the sticky-type: It will get every feature in to the app which matches the field-filter criteria and therefore any workitem (no matter of the area-path value) will appear.
In case you do specify the iteration-path: Every feature which matches the iteration-path of the sticky-type OR matches any of the defined iteration-paths of any team (of the same ART) defined in the cockpit (Iteration screen) will appear. Keep in mind that the team iteration-path needs to be a subpath of the iteration-path defined on the sticky-type or it will not be included.
In case of a sticky-type with iteration-path = “Futurama/PI1“
Only team iteration-paths which are bellow “Futurama/PI1“ will be taken into account.
Will be included:
Will NOT be included:
Example
"Another nice Feature" pulled in and visualized on the Program Board for planning.
Feature planned delivery in Iteration 1
Use the Session in the piplanning app
Start the piplanning app in your browser and start planning.