TFS : contrôleur de code source, oui mais pas que

Team Foundation Server de Microsoft, TFS, est connu principalement comme un contrôleur de code source au même titre que Git, SVN etc… Dans cet article, je vais vous montrer que TFS n’est pas qu’un simple logiciel de gestion de version mais un outil complet pour gérer un projet. Je vais me baser sur la version Online car elle ne nécessite pas d’installation et est gratuite pour une utilisation restreinte (nombre de personnes limité et utilisation des services limitée également). On parle aussi de Visual Studio Team Service, mais ici on gardera la dénomination TFS.

Dans Team Foundation Server, il y a Team, ce qui induit la possibilité de gérer les plannings et les travaux confiés à l’équipe projet. On peut créer un groupe d’utilisateur représentant les différents membres de l’équipe projet. Il est également possible de leur attribuer des « rôles » (Développement, documentation, design, …). Ces « rôles » ne sont  pas anodins car ils vont  vous permettre de différencier  le temps consacré aux différents types de tâches qui seront attribués aux membres de l’équipe.

TFS peut être utilisé avec les méthodologies agiles, et c’est d’ailleurs le cas qui sera développé ici.

Il est donc possible de créer des itérations, ou sprint, dont la durée peut être définie à chaque itération. Les user-stories créées, ainsi que les tâches qui les composent, sont attribuées dans les différentes itérations et affectées aux membres de l’équipe. La notion de charge est portée par les tâches  et l’avancement du projet peut être visible via le Backlog ou sur le Kaban board.

Vous trouverez ci-dessous une représentation de l’interface énoncé plus haut permettant de gérer les membres de l’équipe.

 

Capacity-start

Pour cet exemple, l’équipe se compose de 4 personnes qui travaillent toutes 8h par jour sur le projet durant une itération de 8 jours. On peut distinguer les « rôles »  développeur, design et documentation qui permettent de différencier les types de tâches.

Board-1erDays-Temps

Autres exemples, ci-dessus, la représentation du Kaban board où on retrouve les users-stories et les tâches du sprint qui ont été créées avec la charge restante sur celles-ci.

Sur l’écran d’accueil du portail projet, il y a un dashboard, que l’on peut personnaliser,  avec les infos principales du sprint comme les tâches assignées et terminées, ou encore l’état d’avancement de l’itération. Ci-dessous un exemple de tableau de bord, pour le projet qui est présenté ici.

Acceuil-Avec-J2

 

Team Foundation Server est bien évidement aussi un contrôleur de code source. Il s’intègre parfaitement à Visual Studio, l’outil de développement de Microsoft. On y retrouve toutes les tâches/bug créé depuis le portail projet.

Une fois le développement réalisé, les fichiers modifiés peuvent être liées à la tâche ou au bug lors de l’archivage des modifications. Cela permet de bien séparer les versions des fichiers afin de ne livrer que la modification voulue.

TFS permet également de faire des builds planifiés ou d’intégration continue suivant le besoin du projet et de l’équipe. Il est possible d’utiliser l’agent de build de Microsoft MSbuild qui permet de réaliser la compilation de projet .Net évidement mais on peut aussi utiliser par exemple Ant, Jenkins ou encore Gulp … Ces builds automatisées peuvent être personnalisées, on peut y ajouter différentes étapes comme des tests ou de l’analyse de code. L’étape de test de la build utilise les projets de test inclus à la solution que l’équipe a paramétré.

Pour exemple, un rapport de build avec exécution de test.

Build+Test

 

Si l’étape de test échoue, la build échoue également. Cela permet de s’assurer de la non-régression de la version N par rapport à la version N-1.

Une fois la build réalisée avec succès, TFS peut également s’occuper du déploiement du site ou de l’application via des releases. Les releases peuvent également être automatisées, déclenchées automatiquement après une build ou bien planifiées. Microsoft propose via azure de nombreux services comme l’hébergement d’application, TFS propose des modes de déploiement vers azure.

Comme vous avez pu le constater, Visual Studio Team Service, permet de gérer toutes les phases d’un projet, des plannings à la livraison. De plus, il est possible d’ajouter des modules afin de personnaliser TFS comme par exemple une extension capable de faire des estimations via un planning poker…

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.