In this article, we will review data synchronization logic from Azure DevOps to PPM Express.
In case when PPM Express project is connected to an Azure DevOps project, the following PPM Express project sections will be populated with data synchronized from Azure DevOps:
- Summary section
- Iterations section
- Team section
- Schedule section
While linking PPM Express project to Azure DevOps project the following options are available:
- to link PPM Express project to the whole Azure DevOps project;
- to link PPM Express project to a specific Team of Azure DevOps project;
- to link PPM Express project to a specific Work Item (default or custom) of Azure DevOps project;
- to link PPM Express project to a specific Area of Azure DevOps project;
- to link PPM Express project to a specific Iteration of Azure DevOps project;
- to link PPM Express project to several Azure DevOps elements within one project (Team and Epic, for example, etc.).
Data synchronized from Azure DevOps depends on the linked elements selected while project linking and Azure DevOps settings.
Data for the PPM Express Teams section is extracted from Azure DevOps Teams ( Project settings => Teams).
Data for the PPM Express Iterations section is extracted from Azure DevOps Iterations ( Project settings => Project Configuration => Parent and child Iterations).
To synchronize Work Item to PPM Express Schedule section, the following settings are taken into account:
Team Configuration ( Project settings => Team Configuration => Iterations and Areas):
1. Iterations => Backlog Iteration
2. Areas
Several PPM Express projects cannot be connected to the same Azure DevOps team.
If you would like to link PPM Express project to a specific Azure DevOps team (work item, iteration or/and area), the required team (work item, iteration or/and area) should be selected during project linking. If you selected to link PPM Express project to the whole Azure DevOps project and clicked 'Link Project Button', it will not be possible to link this PPM Express project to a specific team (work item, iteration or/and area) later. Specific Azure DevOps team (work item, iteration or/and area) should be selected while setting up the connection and linking the project.
In this article, we will review each scenario in detail.
Scenario 1.
For the first scenario we will review two cases:
Scenario 1.1. There is only one Team in Azure DevOps and the whole project is specified in the Backlog Iteration section and in the Areas section.
Scenario 1.2. There are multiple Teams in Azure DevOps and different Iterations are specified in the Backlog Iteration section and in the Areas section for each Team.
Scenario 1.1.
There is only one Team in Azure DevOps and the whole project is specified in the Backlog Iteration section and in the Areas section.
PPM Express project is linked to the whole Azure DevOps project and no additional filters are selected.
In this scenario the following data will be synchronized to PPM Express project sections depending on the settings in Azure DevOps:
Teams section
All Team members from the only Team of the linked Azure DevOps project will be synchronized to the PPM Express Teams project section plus the users assigned for the items within the project.
Iterations section
All Iterations (parent and child) from the linked Azure DevOps project will be synchronized to the PPM Express Iterations project section.
Schedule section
Work Items synchronization from Azure DevOPs to PPM Express Schedules section depends on the Team Configuration for each Team in Azure DevOps ( Project settings => Team Configuration => Iterations and Areas):
1. Iterations => Backlog Iteration
2. Areas
If there is only one Team in Azure DevOps and the whole project is specified in the Backlog Iteration section and in the Areas section, then all Iterations (parent and child) and all Work Items will be synchronized to PPM Express project.
If there are multiple Teams, then Azure DevOps project should be specified in the Backlog Iteration section and in the Areas section of all Teams, if you would like all Iterations (parent and child) and all Work Items to be synchronized to PPM Express project.
For example:
1. There is only 1 Team in Azure DevOps instance.
In the Backlog Iteration settings for Team 1 of the PMO Project the whole 'PMO Project' is specified.
2. In the Areas settings for Team 1 of the PMO Project the whole 'PMO Project' is specified.
3. In this scenario, all Work Items from all Iterations (parent and child) will be synchronized to the schedule section of the PPM Express project.
Scenario 1.2.
There are multiple Teams in Azure DevOps and different Iterations are specified in the Backlog Iteration section and in the Areas section for each Team.
PPM Express project is linked to the whole Azure DevOps project and no additional filters are selected.
In this scenario the following data will be synchronized to PPM Express project sections depending on the settings in Azure DevOps:
Teams section
All Team members from all Teams of the linked Azure DevOps project will be synchronized to the PPM Express Teams project section plus the users assigned for the items within the project.
Iterations section
All Iterations (parent and child) from the linked Azure DevOps project will be synchronized to the PPM Express Iterations project section.
Schedule section
Work Items synchronization from Azure DevOPs to PPM Express Schedules section depends on the Team Configuration for each Team in Azure DevOps ( Project settings => Team Configuration => Iterations and Areas):
1. Iterations => Backlog Iteration 2. Areas
If one of the Iterations of Azure DevOps project is specified in the Backlog Iteration section, then only Work Items from the Iterations (parent and child) specified in the Backlog Iteration section of each team will be synchronized from Azure DevOps to PPM Express project. Also, the area paths specified in the Areas settings is taken into account as it determines what Work Items the team is responsible for.
For example:
1. There are multiple Teams in Azure DevOps instance.
In the Backlog Iteration settings for Team 1 of the PMO Project 'Iteration 1' is specified.
2. In the Areas settings for Team 1 of the PMO Project 'PMO Project\Team 1' is specified.
3. If we open Work Items, we can see what Work Items will be synchronized to the PPM Express project from Team 1.
The same settings will be taken into account during Work Items synchronization for other Teams of PMO Project.
All Work Items from the PMO Project Iterations will be synchronized to the PPM Express project according to the Team Configuration settings for each Team.
Scenario 2.
PPM Express project is linked to a specific Team of Azure DevOps Project.
In this scenario, all Team members from the linked Azure DevOps Team will be synchronized to the PPM Express Teams project section plus the users assigned for the items within the project. Also, only the Iteration and the Work Items from the Iteration specified in the Backlog Iteration section of the linked Team.
The following data will be synchronized to PPM Express project sections depending on the settings in Azure DevOps:
Teams section
All Team members from the linked Azure DevOps Team will be synchronized to the PPM Express Teams project section plus the users assigned for the items within the project.
Iterations section
Only Iterations (parent and their child Iterations with at least one item) from the linked Azure DevOps Team, specified in the Backlog Iteration section will be synchronized to the PPM Express Iterations project section.
Schedule section
Work Items synchronization from Azure DevOps to PPM Express Schedules section depends on the Team Configuration for the linked Team in Azure DevOps ( Project settings => Team Configuration => Iterations and Areas):
1. Iterations => Backlog Iteration
2. Areas
Only Work Items from the Iterations (parent and child) specified in the Backlog Iteration settings of the linked Team will be synchronized from Azure DevOps to the PPM Express project (if there is at least one item within the iteration). Also, the area paths specified in the Areas settings is taken into account as it determines what Work Items the Team is responsible for.
For example:
1. In the Backlog Iteration settings for Team 1 of the PMO Project 'Iteration 1' is specified.
2. In the Areas settings for Team 1 of the PMO Project 'PMO Project\Team 1' is specified.
3. If we open Work Items, we can see what Work Items will be synchronized to the PPM Express project from Team 1.
Scenario 3.
PPM Express project is linked to a specific Work item (default or custom) of Azure DevOps Project.
In this scenario the following data will be synchronized to PPM Express project sections:
Teams section
All Team members from all Teams of the linked Azure DevOps project will be synchronized to the PPM Express Teams project section because the Team was not specified in this scenario plus the users assigned for the item.
Iterations section
All Iterations (parent and child) from the linked Azure DevOps project will be synchronized to the PPM Express Iterations project section if these iterations include items from the linked item type.
Schedule section
During data synchronization of Work Items from the specific Epic (in our example, however, it can be any other work item type) all project Teams will be taken into account if no specific Team is specified while project linking.
Also, the Team Configuration settings for each Team will be taken into account as well:
1. Iterations => Backlog Iteration
2. Areas
For example:
To understand if the Work Items will be synchronized to the PPM Express schedule section we need to check the settings of the Teams that Work Items of the required Epic belong to.
'Task' and 'bug 4' will be synchronized to the PPM Express schedule section because if we check the settings of Team 2, we will see that Iteration 2 is specified in the Backlog Iteration section and Team 2 is specified in the Area path of this Team.
However, 'bug 5' will not be synchronized to PPM Express.
If we open Team Configuration settings for Team 2, we will see that Iteration 1 that is specified in the Iteration path for 'bug 5' is not specified in the Iteration Backlog section.
Scenario 4.
PPM Express project is linked to a specific Team and Epic of Azure DevOps Project.
Please note: The selected Epic should belong to the selected Team, otherwise, no Epic and its Work Items will be synchronized to PPM Express.
In this scenario the following data will be synchronized to PPM Express project sections:
Teams section
All Team members from the linked Azure DevOps Team will be synchronized to the PPM Express Teams project section plus the users assigned for the items within the project.
Iterations section
Only Iterations (parent and their child Iterations) from the linked Azure DevOps Team that include at least one item, specified in the Backlog Iteration section will be synchronized to the PPM Express Iterations project section.
Schedule section
During data synchronization of Work Items from the specific Epic, as an example, only the selected project Team will be taken into account, the one that the PPM Express project is linked to.
Also, the Team Configuration settings for the linked Team will be taken into account as well:
1. Iterations => Backlog Iteration
2. Areas
For example:
For 'Task' and 'bug 4' Work Items Team 2 is specified in the Area Path. Team 2 is the linked Team, so, these Work Items will be synchronized to the PPM Express schedule section (taking into account the Backlog Iteration setting for this Team, which is set to Iteration 2).
However, 'bug 5' will not be synchronized to PPM Express.
If we open Team Configuration settings for Team 2, we will see that Iteration 1 that is specified in the Iteration path for 'bug 5' is not specified in the Iteration Backlog section.
Scenario 5.
PPM Express project is linked to a specific Iteration of Azure DevOps project.
In this scenario the following data will be synchronized to PPM Express project sections:
Teams section
All Team members from all Teams of the linked Azure DevOps project will be synchronized to the PPM Express Teams project section because the Team was not specified in this scenario plus the users assigned for the items within the project.
Iterations section
Only the linked Iteration (parent and their child Iterations) from the linked Azure DevOps project that include at least one item will be synchronized to the PPM Express Iterations project section.
Schedule section
During data synchronization of Work Items from the specific Iteration, Team Configuration settings will be taken into account, depending on the Team where the linked Iteration is specified in the Backlog Iteration section.
In our case, only 'user story in team 3' will be synchronized to the PPM Express schedule section.
Scenario 6.
PPM Express project is linked to a specific Area of Azure DevOps Project.
In this scenario the following data will be synchronized to PPM Express project sections:
Teams section
All Team members from all Teams of the linked Azure DevOps project will be synchronized to the PPM Express Teams project section because the Team was not specified in this scenario plus the users assigned for the items within the project.
Iterations section
All Iterations (parent and child) from the linked Azure DevOps area will be synchronized to the PPM Express Iterations project section.
Schedule section
Work Items will be synchronized from the Iteration specified in the Backlog Iteration section of the Team where the linked Area is selected.
These are the Work Items that will be synchronized in our case.
Scenario 7.
PPM Express project is linked to a specific Iteration of Azure DevOps Project, but several Teams are working on this Iteration.
If Iteration 1, for example, is linked to the PPM Express project and the same Iteration is provided in the Backlog Iteration section of two Teams that are working together on the same Iteration, then the following data will be synchronized to PPM Express:
Teams section
All Team members from all Teams of the linked Azure DevOps project will be synchronized to the PPM Express Teams project section because the Team was not specified in this scenario plus the users assigned for the items within the project.
Iterations section
Only the linked Iteration (parent and their child Iterations) from the linked Azure DevOps project that include at least one item will be synchronized to the PPM Express Iterations project section.
Schedule section
During data synchronization of Work Items from the specific Iteration, Team Configuration settings will be taken into account, depending on the Team where the linked Iteration is specified in the Backlog Iteration section. In our scenario, there are two Teams where Iteration 1 is provided in the Backlog Iteration section (Team 1 and Team 2).
So, the following Work Item Types will be synchronized:
Scenario 8.
PPM Express project is linked to a specific Team of Azure DevOps Project, but the Team has no Area path and Backlog Iteration sections filled in.
In this case, all iterations will be synchronized to the PPM Express project and all Work Items from all Iterations. Data to Team section in PPM Express will be synchronized from the linked Team only.