TFS/VSTS/Azure DevOps – Comment s’y retrouver ?

09 Juillet 2019

Gestion de vie des applications

En novembre 2018, Microsoft a renommé ses outils de gestion de vie des applications (ALM : Application Lifecycle Management) :

  • Azure DevOps Services est le nouveau nom de Visual Studio Team Services.
  • Azure DevOps Server est le nouveau nom de Team Foundation Server.

Avec tous les noms différents de ces dix dernières années, on peut vite s’y perdre :

Sigle Nom complet Installation
VSTS Visual Studio Team System
Versions : 2005, 2008
Serveur
TFS Team Foundation Server
Versions : 2010, 2012, 2013, 2015, 2017, 2018
Serveur
VSO Visual Studio Online Cloud
VSTS Visual Studio Team Services Cloud
Azure DevOps Services
Cloud
Azure DevOps Server
Version : 2019
Serveur

On peut s’y perdre car le même sigle VSTS a été utilisé deux fois !

On peut s’y perdre car on pourrait penser que Visual Studio Team Services et Azure DevOps Services sont deux produits différents ! Alors qu’Azure DevOps apporte surtout une nouvelle expérience de navigation.

On peut s’y perdre car Azure DevOps Server 2019 n’a strictement rien à voir avec Microsoft Azure ! Azure DevOps Server peut être installé sur site avec une base de données SQL Server sur site et des machines de build également sur site. Dans ce cas, Azure DevOps Server ne verra pas l’ombre d’une ressource Azure…

On peut s’y perdre alors que, finalement, il y a derrière tous ces noms les évolutions d’un même outil apportant les mêmes fonctionnalités principales :

  • Gestion du code-source avec Git ou TFVC (Team Foundation Version Control). TFVC est récemment devenu ADVC pour Azure DevOps Version Control. Anecdotique car on suppose que ce système va bientôt disparaitre…
  • Rapports et tableaux de bords
  • Gestion de projets, le plus souvent en Agile
  • Planification et exécution des tests
  • Gestion des déploiements

Eléments de travail et modèles de processus

Pour s’en convaincre il suffit de constater que l’élément cœur reste l’élément de travail (Workitem). C’est bien l’ensemble des éléments de travail, de différent type, regroupés dans un modèle de gestion de processus (Process Template) qui va permettre la réalisation et la mise en place des grandes fonctionnalités de l’outil listées ci-dessus. Historiquement, ces modèles de gestion de processus sont au nombre de trois :

  1. Microsoft Agile
  2. Scrum (le plus couramment utilisé)
  3. CMMI

et sont présentes dans l’ensemble des versions présentes dans le tableau récapitulatif. Pour être tout à fait complet, un quatrième modèle (Basic) est apparu récemment dans Azure DevOps.

La bonne nouvelle est que, aux évolutions du produit près, vous connaissez parfaitement Azure DevOps si vous avez travaillé avec TFS ou VSTS !

Seule la nouvelle expérience de navigation devra être appréhendée lors du passage à Azure DevOps.
Vous constaterez rapidement qu’au bout de deux clics de souris, vous êtes revenu dans VSTS !

Finalement, pour s’y retrouver complètement, il ne faut pas prêter trop d’importance aux changements de nom qui relèvent surtout du domaine du Marketing. On l’a vu avec Azure DevOps Server qui peut se passer complètement des ressources de Microsoft Azure.

Démarche DevOps : Intégration Continue et Déploiement Continu

En revanche il faut se poser la question du mode d’hébergement et d’installation… Pour vous aider dans ce choix, voyez l’article « Azure DevOps : 5 éléments pour choisir entre Server et Services »

DevOps… En fait, les outils de la famille TFS sont DevOps depuis 2013 et l’apparition de la gestion des release. Néanmoins, il est très important d’insister sur le fait que Azure DevOps permet une démarche complète d’intégration continue et de déploiement continu. Beaucoup trop de projets gérés dans TFS n’utilisent que le contrôle de code-source et les éléments de travail.

Alors comment s’y retrouver dans tous ces changements de nom ?

Autant le terme Azure est discutable dans la forme serveur du produit. Autant le terme DevOps est lui parfaitement à sa place et doit inciter les gestionnaires de projets à mettre en place une démarche CI/CD, intégration continue / déploiement continu.