Customiser VSTS et le synchroniser avec Project 2016

Objectif

Les projets d’équipe de VSTS offrent la possibilité de gérer les item du product backlog. Depuis l’interface web de VSTS on peut :

  • Définir des Epics, des Features, des Product Backlog Items
  • Découper les Product Backlog Items en Task
  • Assigner les différentes Tasks

Ces différents items sont personnalisables en fonction de vos besoins de suivi de projet.Il est aussi possible de les  gérer du portfolio du projet depuis Project 2016 en synchronisant ce dernier avec le projet d’équipe VSTS personnalisé.

Prérequis

  • Avoir un projet VSTS avec un backlog rempli
    • Si ce n’est pas le cas vous pouvez créer un projet rapidement en suivant cet article
  • Installer Project 2016

Au sein de cet article nous utilisons le projet ArticleSyncProject généré par l’utilitaire VSTS Demo Data generator en utilisant le template MyHealthClinic.

Lier VSTS à Project 2016

Depuis Project 2016, on peut créer un lien bidirectionnel avec un projet VSTS pour synchroniser les données.

Etape1

Il est nécessaire de créer une query pour sélectionner les items à synchroniser avec Project 2016.

Dans notre cadre , nous allons créer une query à partir des items présents dans le sprint2.

CreateQuery1

  • Cliquer sur « Create query »
  • Saisir un nom à la query
  • Sélectionner un répertoire

CreateQuery2

Etape 2

Nous pouvons maintenant utiliser Project 2016.

  • Créer un nouveau projet Vide

Project 1

Etape 3

Se connecter au projet d’équipe ArticleSyncProject

  • Aller dans l’onglet Equipe du ribbon
  • Cliquer sur « Choisir un projet d’équipe

Project 2

Dans la fenêtre de choix :

  • Sélectionner le serveur TFS ou l’URL VSTS souhaité
  • Sélectionner la collection  projet d’équipe souhaitée
  • Sélectionner le projet d’équipe à lier
  • Effectuer la connexion en cliquant sur « Connect »

Project 3

Etape 4

Maintenant que votre projet est connecté à votre projet VSTS, vous pouvez récupérer vos items.

  • Dans l’onglet « Equipe » du Ribbon, cliquer sur « Obtenir les différents de travail »

Project 4

Depuis la fenêtre de sélection :

  • Sélectionner la query créée lors de l’étape 1
  • Cliquer sur « Find » récupérer les items
  • Sélectionner tous les items qui vous intéressent
  • Cliquer sur « OK »

Project 5

Etape 5

Vous pouvez maintenant manipuler vos items depuis Project.

  • Cliquer sur « Actualiser » pour les mettre à jour sous Project  depuis VSTS
  • Cliquer sur « Publier » pour les mettre à jour sous VSTS depuis Project

Project 6

Attention, seuls les champs mappés entre VSTS et Project sont synchronisés. 

  • Cliquer sur « Afficher les mappages de colonnes » afin de contrôler quels champs sont synchronisés.

Customiser et Modifier le mappage des colonnes entre VSTS et Project 2016

Nous venons de voir comment lier un projet VSTS à Project 2016.

Dans notre projet d’exemple, ArticleSyncProject, basé sur le Template scrum, on constate que la date de début et  la date de fin des différents items ne font pas partie du mappage avec VSTS. Ainsi les modifications que l’on fera sur Project pour les date de début et de fin ne seront pas sauvegarder dans VSTS.

Ceci est normal si on utilise le Framework Scrum, mais il existe une solution afin de remonter ces informations dans le projet VSTS

Il faut ajouter la date de début et de fin aux types d’items dans le projet VSTS que l’on souhaite synchroniser. Dans notre cas :

  • Product Backlog Item
  • Task

Etape 1

Dans un premier temps nous allons créer un nouveau Template projet héritant du Template scrum de VSTS.

  • Dans les paramètres, cliquer sur « Account Setting »

Template0

Ceci permet d’accéder aux paramètres du VSTS.

  • Aller dans l’onglet « Process »
  • Sélectionner le Template Scrum de VSTS
  • Dans le menu contextuel du Template Scrum, cliquer sur « Create inherited process »

Template1

Dans la fenêtre de création :

  • Saisir le nom du nouveau Template : ScrumProjectTemplate
  • Cliquer « Create Process »

Template2

Etape 2

Maintenant que votre nouveau Template est créé, nous pouvons ajouter les nouveaux champs.

  • Cliquer sur le Template

Template3

Nous allons commencer par modifier les Tasks du nouveau Template.

  • Cliquer sur Tasks

Template5

  • Cliquer sur « New Field »

Template6

Dans la fenêtre d’ajout d’un champ :

  • Sélectionner « Use an existing field »
  • Sélectionner le Field « Start Date »
  • Cliquer sur « Add Field »

Template7

Faire de même pour ajouter le champ « Finish Date » au type « Task »

Template9

 

Répéter les opérations pour ajouter les champs Start Date et Finish Date au type « Product Backlog Item »

Etape 3

Nous pouvons à présent associer notre nouveau Template à notre projet.

Dans le menu contextuel du nouveau Template, ScrumProjectTemplate :

  • Cliquer sur « -> Change  team projects to use ScrumProjectTemplate »

TemplateToProject1

Dans la nouvelle fenêtre :

  • Sélectionner le projet : ArticleSyncProject
  • Cliquer sur « OK »

TemplateToProject2

Un projet d’équipe est associé au Template ScrumProjectTemplate.

TemplateToProjec3

En accédant au détail d’une task du projet ArticleSyncProject, les nouveaux champs sont maintenant présents.

TemplateToProject4

Etape 4

Nous pouvons maintenant modifier le mappage entre Project2016 et VSTS pour synchroniser les 2 nouveaux champs « Start Date » et « Finish Date ».

Pour ceci nous devons utiliser en ligne de commande l’utilitaire TFSFieldMapping que vous trouverez dans :

%programfiles%\Common Files\microsoft shared\Team Foundation Server\15.0

  • Ouvrir l’inviter de commandes en tant qu’Administrateur

Mapping0

  • Saisir : cd %programfiles%\Common Files\microsoft shared\Team Foundation Server\15.0
  • Saisir la commande :

Mapping1

Le fichier de « Mapping.xml » contient le xml suivant :

Mapping2

  • Pour lier les deux nouveaux champs, ajouter les 2 éléments XML suivant :
    • <Mapping WorkItemTrackingFieldReferenceName= »Microsoft.VSTS.Scheduling.StartDate » ProjectField= »pjTaskStart »/>
    • <Mapping WorkItemTrackingFieldReferenceName= »Microsoft.VSTS.Scheduling.FinishDate » ProjectField= »pjTaskFinish »/>
  • Saisir la commande suivante pour charger le nouveau fichier de mapping sur le projet ArticleSyncProject sous VSTS :

Mapping3

Etape 5

Actualisons le mappage entre VSTS et Project 2016.

Pour ceci retournons sur notre fichier Project2016 lier à notre projet VSTS :

  • Cliquer simplement sur « Actualiser »

Mapping4

  • Cliquer sur « Afficher les mappages de colonnes » afin de contrôler quels champs sont synchronisés.

Mapping5

Etape 5

Vous pouvez maintenant modifier les dates de début et de fin dans Project, elles seront synchroniser avec le projet VSTS.

En suivant la procédure décrite dans cette article, vous pourrez ajouter et mapper de nouveaux champs entre VSTS et Project 2016.

Pour modifier le fichier de mappage vous trouverez la liste des noms de champ existant sur votre VSTS :

  • Dans les paramètres, cliquer sur « Account Setting »
  • Aller dans l’onglet « Process »
  • Cliquer sur « Fields »

Mapping6

 

En ce qui concerne le nom de champs sous Project, il suffit de préfixer le nom du champ par : pjtask

  • Par exemple : Text10 => pjTaskText10

Conclusion

En liant VSTS à Project 2016, on peut tirer parti du meilleur des deux.

Avec VSTS, on partage les informations du projet aux différents acteurs :

  • Développeurs
  • Testeurs

Avec Project, le chef de projet peut suivre et modifier rapidement les différentes informations du projet afin d’anticiper le plus tôt possible.

Ce lien entre VSTS et project 2016 demande un peu de travail au début, mais en utilisant les templates VSTS on rentabilise vite cet investissement.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s