Comment utiliser l’intégration entre Project et Team Foundation Server

Auteur : Eric Le Loc'h, Microsoft France

L’objectif de cet article est de détailler un exemple de fonctionnement entre « Microsoft Project Pro » et « Visual Studio 2005 Team Foundation Server » (TFS) en utilisant l’une des deux méthodologies fournies en standard : « MSF for CMMi Process Improvment ».

Cette méthodologie permet de structurer ses projets de développement que l’on souhaite entrer dans le cadre d’une certification CMMi  niveaux 2 et 3 ou non.

Les deux outils communiquent, synchronisent des tâches et permettent de mieux piloter ses projets. Le tout est de s’organiser au préalable et de valider un mode de fonctionnement en fonction de ses objectifs et de ses contraintes.

Pour en savoir plus sur la gamme Visual Studio Team System, je vous invite à parcourir le site français de MSDN.

 

Présentation de « Team System » et de « Project »

Visual Studio Team Foundation Server

Visual Studio Team Edition for Software Architects / Developers / DatabasePro / Testers et Visual Studio Team Suite

Pré-requis

Scénario de l’article

Conclusion

 

Présentation de « Team System » et de « Project »

Microsoft Visual Studio 2005 Team System (VSTS) est le premier outil intégré de gestion du cycle de vie des applications logicielles.

VSTS permet:

Visual Studio Team System se décompose en deux parties : le serveur Visual Studio Team Foundation d'une part et les produits "clients" Visual Studio Team Editions d'autre part.

Visual Studio Team Foundation Server

Team Foundation est la partie serveur de Team System, il sert à la fois pour tout ce qui est automatisation des builds ou des tests et pour tout ce qui a trait à la collaboration dans l'équipe : gestion de configuration/des versions, gestion du changement, portail d'équipe, reporting sur l'état d'avancement d'un projet... Toutes ces fonctionnalités sont exposées sous forme de services Web, et donc accessibles depuis les éditions Visual Studio Team Edition (voir ci-dessous), mais aussi depuis des applications comme Excel ou Project ou des applications Web. Il est également possible de se connecter à Team Foundation à partir de Team Explorer, un client riche prévu à cet effet.

Ce serveur repose sur Windows Server 2003, SQLServer 2005, Windows SharePoint Services, IIS 6.0.

Visual Studio Team Edition for Software Architects / Developers / DatabasePro / Testers et Visual Studio Team Suite

Ces éditions haut de gamme de Visual Studio 2005 le complètent et apportent, en plus de l'environnement de développement intégré, des fonctionnalités d’amélioration de la qualité du code et de la productivité. Ces fonctionnalités s'ajoutent à celles de Visual Studio 2005 Professional.

Contrairement à la gamme Visual Studio .NET 2003, aucune de ces 4 éditions n'est plus complète qu'une autre. Chacune a des fonctionnalités uniques qui ne sont dans aucune autre. L'édition "Team Suite" inclut l'ensemble des fonctionnalités des trois autres.

S'il fallait résumer en une ou deux phrases les fonctionnalités des éditions :

Microsoft Office Project Pro 2007 gère plus efficacement vos projets à l'aide des outils de gestion de projet robustes qui offrent un équilibre parfait entre souplesse, puissance et facilité d'utilisation. Vous pouvez vous tenir informé, contrôler le travail effectué, les plannings et les finances, et aligner le travail des équipes tout en améliorant votre productivité grâce à la possibilité d'intégrer des programmes Microsoft Office system, des outils de création de rapports performants, une planification assistée et des outils souples.

Pré-requis

MS Office Project Pro 2003 ou 2007 et un accès au Team Foundation Server (TFS) SP1 pour le support d’Office 2007 (soit par le « Team Explorer » ou par « TeamPlain ») sont requis.

Une licence d’accès client (CAL) est aussi nécessaire pour être en règle.

TeamPlain est l’accès web de Team Foundation Server. Microsoft a racheté la société DevBiz, il y a quelques mois (pour le télécharger : www.devbiz.com). Il sera de plus en plus intégré dans la gamme Team System.

Team Explorer est l’outil qui permet de se connecter depuis un poste client au serveur TFS et de créer des requêtes, de visualiser des rapports, de lancer des compilations avec tests de non-régression. Il est intégré dans Visual Studio ou indépendant suivant le rôle de l’utilisateur dans le projet.

Un utilitaire disponible en téléchargement sur CodePlex permet de saisir directement les temps passés et de décrémenter le temps total restant. On peut le récupérer à l’adresse suivante .

Scénario de l’article

L’article décrit un scénario d’utilisation de ces 2 produits. La méthodologie de projet Team System retenue est  « MSF for CMMi process improvement ». Un projet au sens « Team System » représente un effort de développement  réalisé par une équipe : logiciels, versions majeures, développement pour un client donné… Il regroupe un ensemble de documents, un portail collaboratif, des rapports et de solutions Visual Studio gérées en configuration.

 

Résumé de l’article
Résumé de l’article

 

Pour notre exemple, deux tâches (« Task » dans la version anglaise) sont créées dans le Team Explorer et planifiés dans MS Project. Ces tâches seront ensuite utilisées soit dans Visual Studio, soit dans MS Project. L’utilisation d’un référentiel commun aux 2 outils permet de gérer l’avancement des tâches de manière complètement intégrées.

Il est possible de travailler avec d’autres types de fiches de travail :

Bogue, Issue, Change Request… Cependant ce sont les Tâches qui sont le plus adaptées. Elles correspondent à un travail de quelques heures à quelques jours pour un membre de l’équipe.

On commence par créer les tâches dans le Team Explorer ou dans Team Plain. Outre les champs obligatoires (titres, …), les champs remplis automatiquement (Etat, Créateur, Date de création, …), on s’intéresse aux informations temporelles.

Il y en a 5 :

Logiquement, on remplit ici le champ « Estimate ». C’est la première estimation de la durée de la tâche.

 


Estimation du temps de travail

 

Une fois les 2 tâches créées, on va les planifier plus finement dans MS Project.

 


Création des tâches dans Team Explorer

 

Pour cela, on les sélectionne, et en faisant un clic droit, on choisit l’item (« Ouvrir la sélection dans MS Project »).

 

Ouverture des tâches dans MS Project
Ouverture des tâches dans MS Project

 

Les tâches sont planifiées dans MS Project : date de démarrage, date de fin estimée, affectation d’une ressource si ce n’est pas encore fait.

Dans l’exemple, une tâche de plus haut niveau a été créée pour simplifier la présentation du document. Avec 2 tâches l’intérêt n’est pas évident mais avec des documents de plusieurs dizaines ou centaines de tâches, il apparaît clairement. Cette tâche n’est pas synchronisée avec TFS. Le document peut être sauvegardé sur le portail du projet Team System par exemple.

L’onglet « Champs personnalisés » d’une tâche affiche l’ensemble des champs communs à Team Foundation Server et à MS Project. Ces champs sont personnalisables.

 

Propriétés d’un tâche
Propriétés d’un tâche

 

Pour mettre à jour le référentiel, on clique sur le bouton « Publier » (« Publish »). La barre d’outil permet de se synchroniser avec le référentiel, d’ajouter des attachements, de visualiser des requêtes, de rafraîchir des documents…

 


Planification du projet

 

De retour dans Team Explorer (dans notre cas) ou le client Web, on voit que les champs liés à MS Project ont bien été remplis avec les valeurs que nous venons de saisir.

Une autre information intéressante est la présentation de la hiérarchie de tâches qui permet de situer les tâches dans leur contexte. Dans l’exemple, le nom de la tâche de référence est celui de l’itération à laquelle appartient la tâche.

 


Détail des champs de la tâche liés à MS Project

 

De retour dans MS Project, il est possible de créer une « planification initiale » (ou « baseline »), d’identifier une version de l’avancement des tâches du document afin de la comparer avec l’avancement réel.

 


Planification initiale

 

Ensuite lorsque la personne affectée à la tâche travaille dessus, elle indique le nombre d’heures restant et le nombre d’heures effectuées.

 


Saisie des temps

 

Cette information remonte dans MS Project dès la sauvegarde de la fiche.

 


Vue des temps passés par tâche

 

Lorsque la tâche est close, par exemple lors d’un archivage (ou  « checkin »), son état change et passe à « Fermé » (ou « closed »). On remplit alors le temps passé sur la fiche.

 


Saisie des temps

 

Après une resynchronisation avec le serveur et le choix de la vue “Organigramme des tâches », les dépendances de tâches  et leur état sont affichés clairement.

La tâche « Ajout d’un composant AJAX » est ouverte, la tâche «  Test du composant AJAX » est close comme l’indique le trait oblique. On voit aussi que les 2 tâches sont liées.

 


Organigramme des tâches

 

On va maintenant réutiliser la planification initiale que nous avons prise plus haut dans le document. Suivre l’avancement en temps réel d’un projet demande une grande rigueur avec MS Project. Le couplage avec Team Foundation Server permet de simplifier ce travail. On évite ainsi d’utiliser un autre outil pour mener ces tâches.

 


Choix de la comparaison de l’avancement

 


Comparaison de l’avancement

 

 

Conclusion

L’intégration entre MS Project et Team Foundation Server est très complète et permet de tirer partie des 2 produits. Le coût du suivi de l’avancement du projet est réduit. De même, la planification initiale du projet sert de base tout au long du projet et sert de référence.

Une des premières étapes est de définir un scénario d’utilisation qui soit adapté à ses habitudes et à ses contraintes. Ensuite l’outil permet d’automatiser et de simplifier le pilotage de projet.

Top of pageTop of page