Résumé : un workflow Agile est une série d'étapes que les équipes Agile appliquent pour développer une application, de l'idéation à l'achèvement.
Chaque équipe de développement utilise un processus pour mener à bien ses tâches. La normalisation de ce processus, à savoir son intégration en tant que workflow, le rend clair et reproductible, donc applicable à grande échelle. Chez Atlassian, nous adoptons une approche itérative en matière de gestion des workflows. En effet, celle-ci nous aide à réaliser nos objectifs et illustre notre culture d'équipe. Nous sommes experts en gestion des workflows Agile (sans fausse modestie) et souhaitons vous aider à devenir, vous aussi, des spécialistes.
Lancez-vous avec les workflows Agile
Lorsque vous mettez en œuvre un workflow pour l'équipe, démarrez toujours simplement. Résistez à la tentation de consacrer des semaines à son ingénierie (excessive). Les workflows trop complexes sont difficiles à comprendre et à adopter, sans parler de la difficulté d'adaptation. Pour les équipes de développement de logiciels, nous recommandons ces états de base concernant les workflows :
Le travail n'a pas encore démarré.
Tâches actuellement traitées par l'équipe.
Tâches terminées, en attente de revue.
Tâches complètement terminées et répondant à la définition du terme par l'équipe.
Dans un outil de suivi des tickets, ces états passent de l'un à l'autre au moyen de transitions qui structurent le workflow.
Certaines équipes de développement de logiciels ajoutent d'autres états à leur workflow afin d'assurer le suivi de leurs tâches de façon plus précise.
Tâche qui a été implémentée, mais qui est encore en attente de revue par un testeur (voir notre article consacré aux tests Agile pour en savoir plus).
Code qui a été revu et qui est prêt pour le merge dans la branche principale ou de livraison.
Chaque état du workflow ne doit pas forcément être traité par une personne différente. Au fur et à mesure que l'équipe agile gagne en maturité, les développeurs gèrent de plus en plus de tâches, depuis la conception jusqu'à la livraison. Après tout, l'autonomie et la capacité de l'équipe à gérer des tâches hétérogènes sont des caractéristiques de l'agilité.
Discutez de chaque difficulté lors de la rétrospective de l'équipe. Gardez à l'esprit que chaque équipe adopte des valeurs légèrement différentes en fonction de son projet, de sa stack technique et de sa méthodologie de travail. C'est pourquoi il est important de choisir un outil de suivi des tickets offrant suffisamment de flexibilité pour configurer les workflows. Trop d'équipes négligent leur style de travail pour s'adapter à une palette d'outils spécifique, ce qui est frustrant pour tous. Au final, les membres de l'équipe commencent à éviter cet outil. La frustration ainsi générée fait généralement des ravages. Et lorsque le moral est en berne, c'est la productivité qui en souffre. C'est un double coup dur que nous voulons tous éviter !
Les équipes qui découvrent Agile ou qui ne disposent pas de compétences pluridisciplinaires se retrouvent souvent avec des « mini-cascades » dans leur workflow. Par exemple, la conception lance une tâche avec un mockup. Le développement se charge de l'implémentation. Les tests en confirment la qualité. Chaque état est bloqué tant que le précédent n'est pas terminé. Ça vous rappelle quelque chose ? C'est ce qu'on appelle le modèle en cascade. Mais, grâce aux workflows Agile, nous pouvons faire beaucoup mieux pour débloquer l'équipe et faciliter le développement.
Optimiser pour un flux de processus Agile
Une fois que vous vous sentez à l'aise avec le workflow de base et que vous êtes prêt à passer à un flux de processus Agile, créez des états pour chaque type de tâche figurant dans le processus de l'équipe. L'idéation, la conception, le développement, la revue de code et les tests sont fonctionnellement différents et peuvent constituer des états. Visez la simplicité dans les états. Ceux-ci doivent clairement indiquer dans quelle phase la tâche se trouve.
Les états du projet peuvent également être partagés avec le reste de l'organisation. Lors de la création d'un flux de processus Agile, réfléchissez aux métriques qui sont importantes à prendre en compte et à ce que les personnes extérieures à l'équipe voudront savoir. Par exemple, un workflow bien conçu répond aux questions suivantes :
- Quelles tâches l'équipe a-t-elle achevées ?
- Le backlog des tâches augmente-t-il ou suit-il le rythme de l'équipe ?
- Combien d'éléments comporte chaque état ?
- Des goulots d'étranglement ralentissent-ils l'équipe ?
- Combien de temps cela prend-il pour achever une tâche en moyenne ?
- Combien de tâches n'ont pas passé nos standards de qualité la première fois ?
L'étape suivante dans l'optimisation du workflow consiste à garantir l'arrivée constante de travail à tous les niveaux. Les limites du volume de travail en cours (WIP) imposent un nombre minimum et maximum de tickets à un état spécifique du workflow. Cela permet de s'assurer que chaque état du workflow comprend suffisamment de travail pour occuper pleinement l'équipe, mais pas trop au point de devoir jongler avec les priorités et donc de perdre sa concentration. L'application de limites WIP mettra rapidement en lumière les processus qui, au sein de l'équipe, ralentissent le travail dans le pipeline. Au fur et à mesure que l'équipe apprendra à optimiser ses limites WIP, son débit augmentera. (Voir l'article consacré aux limites WIP pour plus d'informations.)
Défis liés à la mise à l'échelle d'un flux de processus Agile
Les organisations qui comptent plusieurs équipes Agile font face à certains défis spécifiques avec les workflows. Les équipes cherchent souvent à optimiser leur propre workflow afin qu'il reflète leur processus et leur culture. C'est parfaitement compréhensible, mais cela peut devenir un casse-tête lorsque les autres équipes utilisent d'autres processus, alors qu'elles travaillent sur le même projet.
Les équipes Agile qui travaillent ensemble peuvent tirer certains avantages à utiliser le même workflow. La transition des tâches entre les équipes Agile est plus simple, puisqu'elles appliquent les mêmes conventions pour définir et livrer le travail. La création d'un processus commun implique souvent quelques compromis de la part des deux équipes. C'est positif ! Elles apprendront ainsi l'une de l'autre et, au final, repartiront avec un meilleur workflow.
Avec Jira, l'outil de suivi des tickets d'Atlassian, les équipes peuvent partager leurs flux de travail, mais utiliser des représentations différentes du processus sur leur tableau de bord agile. Cette capacité offre une grande flexibilité dans les options de visualisation, sans sacrifier les avantages du partage du flux de travail.
Peu importe à quoi ressemble votre workflow, le processus qui consiste à l'élaborer doit également être agile. Discutez-en lors des rétrospectives de temps en temps. Adaptez-le aux changements de culture et de composition de l'équipe.