TFS 2010: Comment créer son Process Template

Un petit guide rapide pour expliquer comment créer son Process Template avec Visual Studio et TFS 2010.

Un peu d’histoire et de théorie

Le Process Template est le modèle qui sert à décrire entre autre la gouvernance et la méthodologie qui sera utilisée lors de la création d’un Team Project. Il est composé des modules suivants:

  • La définition des types de Work Item (Task, Bug étant les plus connus).
  • Les types de liens pour créer des associations entre Work Items.
  • Les Work Item par défaut qui seront crées lors de la création d’un Team Project.
  • Les différentes Query de Work Item (WIQL).
  • Les Areas & Iterations par défaut.
  • Les groupes et permissions.
  • Les paramètres du Source Control.
  • Les documents et librairies crées sur le site SharePoint.
  • Les Rapports qui seront déposés sur SQL Server Reporting Services.

D’un point de vue physique le Process Template est un ensemble de fichiers stockés dans un répertoire principal qui porte son nom (e.g. “MSF for Agile Software Development v5.0”). Le point d’entré est le fichier ProcessTemplate.xml, il référence tous les différents modules qui auront chacuns un sous-répertoire à leur nom, qui contiendra toutes les informations ainsi qu’un point d’entrée sous la forme d’un fichier XML portant le nom du module.

Dans la première version de TFS, le processus de création d’un Process Template était totalement manuel, il fallait éditer les fichiers XML à la main et faire appel à des outils en ligne de commande pour les gérer sur le serveur. La situation a vite évoluée avec la sortie de l’application Process Template Editor qui offrait la possibilité d’éditer les principaux modules avec une interface graphique.

N’étant pas un luxe, Microsoft a décider de “rapatrier” l’application dans les TFS Power Tools. L’édition de Process Template n’est toujours pas à ce jours une fonctionnalité native de Visual Studio/TFS 2010. Déçu

Manipulation de Process Template

Vous l’aurez compris, il vous faudra encore une fois les indispensables TFS Power Tools de Microsoft. Une fois ceux-ci installés vous aurez les principales armes.

Visual Studio sera votre point d’entré pour manipuler les Process Template:

image

Le Process Template Manager

image

Il vous permet de gérer les différents template présents sur le serveur, vous pouvez télécharger en local un template donné, en rajouter un nouveau, en mettre à jour un existant, supprimer un template du serveur et choisir quel sera le template par défaut lors de la création d’un Team Project.

Microsoft fournit deux templates en standard, mais vous pouvez consulter une galerie en ligne afin de trouver d’autres template tierces parties (gratuit ou payant).

Processus global de création d’un Process Template

Je conseil fortement de procéder de la façon suivante: ne chercher pas à créer un Process Template à partir de rien, il n’y a pas d’outil adapté pour cela et la tâche sera colossale!

La bonne pratique est de trouver un Process Template existant se rapprochant le plus possible de celui que vous viser, de le dupliquer, renommer et modifier. De préférence basez-vous sur un Process Template qui en fait “plus” que “pas assez” car il est plus facile de “découper à la hache” que de construire quelque chose à partir de rien.

  1. A partir du Process Template Manager, télécharger le Process Template qui servira de modèle en local.
  2. Renommer le dossier créé lors du téléchargement.
    image image
  3. Renommer le nom du template dans le fichier ProcessTemplate.xml.
    image

Et voilà, vous avez dupliquer un Process Template! Passons maintenant à la phase de modification.

Edition du Process Template

Les TFS Power Tools rentrent en jeu! Ouvrez votre Process Template à partir de Visual Studio 2010:

image

L’éditeur de Process Template apparait:

image

L’éditeur vous permettra de modifier les différentes définitions, voici par ordre d’importance ce qu’on édite:

  1. Description de la méthodologie.
  2. Edition des paramètres du Source Control.
  3. Edition des types de Work Item, cette partie constitue généralement le plus gros du travail, la définition des types de Work Item joue un grand rôle sur la méthodologie employée dans votre Process Template.
  4. Edition des types de liens des Work Item.
  5. Edition des Query de Work Item.
  6. Edition des Areas & Iterations.
  7. Edition des groupes & permissions.
  8. Edition (on va dire suppression de ceux qui ne nous servent pas) des Rapports.
  9. Edition des librairies SharePoint du portail.

Mise à jour sur le serveur

Une fois votre Process Template modifié il faudra utiliser le Process Template Manager pour le mettre à jour sur le serveur, l’opération est relativement triviale. Ce qu’il faut retenir cependant:

  1. C’est lorsque vous ferez un “Upload Process Template” que Visual Studio vérifiera l’intégrité de votre Process Template (l’éditeur ne vous avertira pas forcément des erreurs).
  2. Le meilleur moyen de voir si votre Process Template fonctionne restera toujours la création d’un Team Project se basant dessus! Par exemple si vous avez des Work Item par défaut qui sont d’un type que vous avez supprimé, seule la création d’un Team Project vous avertira du problème!

L’utilisation de l’outil en ligne de commande TfsDeleteProject sera fort utile pour ne pas polluer votre serveur.

Remarques

  • Les Process Template ne sont pas mise en version, lorsque vous mettez à jour un Process Template sur le serveur la version précédente sera tout bonnement perdue! Ce n’est pas idiot de les stocker sur votre Source Control afin de les versionner proprement. Vous pouvez toujours modifier le nom d’un Template pour incrémenter le numéro de version (e.g. “Agile à ma sauce 1.2”) afin de le dupliquer sur le serveur, néanmoins la meilleur solution reste le stockage sur le Source Control.
  • Lorsque vous mettez un Process Template à jour les Team Project basés dessus resteront inchangés! Un Team Project utilise un Process Template uniquement lors de la phase de création, après plus aucun lien n’est conservé (d’ailleurs connaitre le Process Template qui a été utilisé pour la création d’un Team Project est une chose quasi impossible). Mettre à jour vos Team Project ne sera pas une chose simple, sauf si vous avez encore un TFS 2008 et ca!
  • En savoir plus sur le sujet (en Anglais et pour la version 2005 de TFS), c’est sur la MSDN.