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
Microsoft Visual Studio 2005 Team System (VSTS) est le premier outil intégré de gestion du cycle de vie des applications logicielles.
- D’augmenter la productivité des membres de l’équipe grâce à une meilleure collaboration.
- De gérer l’ensemble des données des projets dans un module de gestion de configuration fiable.
- De piloter les projets avec les nombreux rapports, l’intégration avec MS Excel et MS Project.
- D’améliorer la communication au sein de l’équipe avec le portail, les « work items » (fiches de travail)
- De tester les applications depuis les tests unitaires jusqu’aux tests de performance dans les phases amonts des projets.
- De réduire la maintenance du serveur VSTS au minimum
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.
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.
- Visual Studio Team Edition for Software Architect permet de concevoir des applications orientées services, de vérifier leur adéquation à l'infrastructure du datacenter, tout en générant la structure et la configuration des projets nécessaires au développement de ces appications.
- Visual Studio Team Edition for Software Developer est destiné à la majorité des intervenants dans un projet de développement et intègre des outils statiques et dynamiques d'analyse de qualité du code et des applications, ainsi que les outils pour créer des tests unitaires et mesurer leur couverture de code.
- Visual Studio Team Edition for Software Tester permet, outre la création de tests unitaires, de créer des tests de charge et de gérer des campagnes de test : les catégoriser puis définir lesquels sont exécutés automatiquement à quels moment de la vie du projet.
- Visual Studio Team Edition for Database Professionals aide les développeurs pour tout ce qui touche les base de données :
- Visual Studio Team Suite est parfait pour les chefs de projet techniques, les consultants et experts qui interviennent de façon transversale sur un projet, ainsi que pour toute personne ayant besoin de fonctionnalités d'au moins deux é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.
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 .
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
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.
- « Estimate » (en français : “Estimation”)
- « Remaining Work » (“Travail restant”)
- « Completed Work » (“Travail effectué”)
- « Start Date » (“Date de début”)
- « Finish Date » (“Date de fin”)
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
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
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
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 page