In this article, we will review the data synchronization logic between Azure DevOps and PPM Express.
In case the 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 the PPM Express project to the Azure DevOps project, the following options are available:
- to link the PPM Express project to the whole Azure DevOps project;
- to link the PPM Express project to a specific Team of the Azure DevOps project;
- to link the PPM Express project to a specific Work Item (default or custom) of the Azure DevOps project;
- to link the PPM Express project to a specific Area of the Azure DevOps project;
- to link the PPM Express project to a specific Iteration of the Azure DevOps project;
- to link the 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 during project linking and Azure DevOps settings.
Data for the PPM Express Teams section is extracted from Azure DevOps Teams ( Project settings => Teams).
Resource synchronization depends on a 'Sync Assigned Resources Only' option available on the Configure Connections page.

When this option is enabled, PPM Express synchronizes only resources that are directly assigned to Azure DevOps work items. Team membership is not considered during resource synchronization.
When this option is disabled, resource synchronization follows the standard rules described below in this article.
For newly connected Azure DevOps projects and imported projects, this option is enabled by default. Existing Azure DevOps connections retain their current behavior, and the option is disabled by default.
Data for the PPM Express Iterations section is extracted from Azure DevOps Iterations ( Project settings => Project Configuration => Parent and child Iterations).
To synchronize the Work Item to the 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 the 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 the 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.
The 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 the 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 the 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 the PPM Express project.
If there are multiple Teams, then the 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 the PPM Express project.
For example:
1. There is only 1 Team in the 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.
The 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 the 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 the 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 the 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 the PPM Express project. Also, the area paths specified in the Areas settings are taken into account as they determine what Work Items the team is responsible for.
For example:
1. There are multiple Teams in the 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 the 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.
The PPM Express project is linked to a specific Team of the 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 specified Iteration in the Backlog Iteration section of the linked Team.
The following data will be synchronized to the 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 the 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 are taken into account as they determine 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.
The PPM Express project is linked to a specific Work item (default or custom) of the Azure DevOps Project.

In this scenario, the following data will be synchronized to the 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 the 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.
The PPM Express project is linked to a specific Team and an Epic of the 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 the 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.
The PPM Express project is linked to a specific Iteration of the Azure DevOps project.

In this scenario, the following data will be synchronized to the 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 includes 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.
The PPM Express project is linked to a specific Area of the Azure DevOps Project.

In this scenario, the following data will be synchronized to the 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.
The PPM Express project is linked to a specific Iteration of the 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 includes 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.
The PPM Express project is linked to a specific Team of the 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 the Team section in PPM Express will be synchronized from the linked Team only.