07 Mai 2021
Dans un projet Azure DevOps, les ressources prennent des formes très variées : fichiers de code-source, tableaux, éléments de travail, requêtes, graphiques, builds, archivage, …
Dans cet article, nous allons nous intéresser aux liens entre une opération de code, typiquement un archivage, et un élément de travail.
Les captures d’écran en anglais sont issues de Azure DevOps Services. Si vous hésitez entre Azure DevOps Services et Azure DevOps Server, voici 5 éléments pour choisir.
Les liens entre les éléments de travail sont importants pour constituer la grappe d‘informations se rapportant à un même sujet. Par exemple, une Fonctionnalité (Feature) est décomposée, grâce au type de lien Parent-Enfant, en plusieurs Récits Utilisateur (User Stories ou Backlog Items), eux-mêmes découpés en plusieurs tâches (Tasks). Azure DevOps offre la possibilité de prolonger cette stratégie de liens avec d’autres ressources que les éléments de travail. Ainsi, nous pourrons relier les éléments de type « Tâche », qui décrivent le travail technique à réaliser, avec les archivages de code qui résultent des modifications apportées au code-source pour implémenter ces tâches.
Relier un archivage de code avec un élément de travail présente plusieurs avantages :
Si l’on ne devait retenir qu’une seule bonne raison pour relier un archivage de code avec un élément de travail ce serait la suivante…
Logiquement, dans un environnement professionnel, on ne fait pas du code (que) pour le plaisir ou parce qu’on n’a rien de mieux à faire. On produit du code parce qu’il existe une demande dûment exprimée, répertoriée et planifiée !
Dans un projet Azure DevOps, la demande sera exprimée et partagée par des éléments de travail de type « Bug », « Fonctionnalité, « User Story » et la production du code-source sera entérinée par des archivages vers le référentiel central de code.
Nous verrons d’ailleurs comment rendre obligatoire le lien vers un élément de travail lors d’une opération d’archivage de code.
L’opération d’archivage du code dans un projet Azure DevOps est complètement dépendante du type de contrôle de code-source choisi lors de la création du projet.
Azure DevOps soutient deux façons de gérer le code-source :
Dans un projet Azure DevOps en mode TFVC, l’archivage de code est géré dans la rubrique « Modifications en attente » du « Team Explorer ».
Il existe en fait trois façons de créer un lien vers un élément de travail sur un projet en mode TFVC, toutes se situent dans la rubrique « Éléments de travail associés » :
Dans un projet Azure DevOps en mode Git, l’archivage de code est géré dans la rubrique « Modifications » du « Team Explorer ».
Il existe ici trois façons de créer un lien vers un élément de travail sur un projet en mode TFVC, toutes se situant dans la rubrique « Éléments de travail associés » :
La création d’un lien entre archivage de code et élément de travail va permettre une navigation très simple entre deux ressources du projet : l’une d’ordre fonctionnel et l’autre d’ordre technique.
A partir de l’élément de travail, il sera très facile de connaitre les différentes opérations de code qui ont permis d’implémenter techniquement le besoin décrit dans l’élément de travail.
A partir de l’archivage de code, il sera très facile de remonter jusqu’au besoin initial et donc de connaitre la raison de ces modifications sur le code.
Tous les liens renvoyant vers d’autres ressources du projet vont se retrouver en deux endroits sur la fiche de l’élément de travail : dans la colonne à droite de l’onglet « Détails » et dans l’onglet « Liens ».
La présentation des liens d’un élément de travail se découpe en trois catégories :
Dans cet article, nous nous intéressons aux liens de la deuxième catégorie et avons, dans notre exemple, cinq liens concernant des opérations de code classés du plus récent au plus ancien :
Nous trouvons ici une autre façon de consulter l’ensemble des liens d’un élément de travail.
Peu importe la manière de présenter tous ces liens, l’intérêt est surtout d’assurer une facilité de navigation entre différentes ressources du projet traitant d’un même sujet au départ.
En ouvrant un archivage de code, par exemple un « Commit » sous Git, on peut consulter les liens dans l’onglet « Details » comme ci-dessous.
L’intérêt ici est de consulter très facilement la demande fonctionnelle qui justifie les modifications apportées au code-source.
Espérant vous avoir convaincu de l’importance d’établir systématiquement un lien vers un élément de travail lors d’une opération de code, nous allons voir maintenant comment rendre ce lien obligatoire.
C’est une bonne pratique que nous recommandons lors de nos formations Azure DevOps
Attention, le paramétrage de cette obligation de lien vers un élément de travail est différent pour un projet TFVC et un projet Git.
Dans le cas d’un projet TFVC, il faut ouvrir les paramètres du contrôle de code-source du projet à l’aide du « Team Explorer » :
Il faut bien ouvrir les paramètres du contrôle de code-source au niveau du projet, et pas au niveau de la collection.
Si la stratégie « Éléments de travail » n’est pas présente, il suffit de l’ajouter…
Notez qu’il est recommandé de rendre également obligatoire la stratégie d’archivage sur les commentaires.
Dans le cas d’un projet Git, il faut passer par l’interface web pour accéder aux paramètres du projet. La stratégie d’archivage ne se situe pas au niveau du « Repository » mais au niveau de la stratégie de la branche.
L’image ci-dessous indique le parcours pour parvenir à l’option permettant de rendre obligatoire le lien vers un élément de travail pour une requête de tirage « Pull Request » :