Utiliser les workflows pour le plaisir et pour le profit

Tout le monde déteste les « processus », mais ne nous voilons pas la face : sans un workflow bien défini, vous n'irez nulle part. Et vous perdrez du temps.

Dan Radigan Dan Radigan

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.

Démarrer simplement et tout de suite

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 :

À faire

Work that has not been started

En cours

Tâches actuellement traitées par l'équipe.

Revue de code

Tâches terminées, en attente de révision.

Done

Tâches complètement achevé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. 

Agile workflow | Atlassian agile coach

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.

En attente de QA

Work that has been implemented, but is still waiting for a tester review (see our article on agile testing for more details).

Prêt au merge

Code qui a été revu et qui est prêt pour le merge dans la branche master ou de livraisons.

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 point douloureux lors de la rétrospective de l'équipe. Gardez à l'esprit que chaque équipe présente des valeurs légèrement différentes en fonction de son projet, de sa pile technologique et de la méthode qu'elle applique à son travail. C'est pourquoi il est important de choisir un outil de gestion des tickets offrant une flexibilité de configuration des 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 que cela génère au sein de l'équipe 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 la mise en œuvre. 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 la cascade. Mais nous pouvons faire beaucoup mieux avec les workflows pour débloquer l'équipe et faciliter le développement. 

Optimiser le workflow

Une fois que vous vous sentez à l'aise avec le workflow de base et que vous êtes prêt à le personnaliser, 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 statuts. 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'entreprise. Lors de la création d'un workflow, réfléchissez aux indicateurs qui sont importants à prendre en compte et à ce que les individus extérieurs à 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 statut spécifique du workflow. Cela permet de s'assurer que chaque statut 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.) 

Les défis de l'utilisation d'un workflow à grande échelle

Les entreprises qui comptent plusieurs équipes agiles 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 provoquer des migraines lorsque les autres équipes utilisent d'autres processus alors qu'elles travaillent sur le même projet.

Les équipes agiles qui travaillent ensemble peuvent retirer certains avantages à utiliser le même workflow. La transition des tâches entre les équipes agiles 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. 

Astuce 

Avec Jira Software, l'outil de suivi des tickets d'Atlassian, les équipes peuvent partager leurs workflows, 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 compromettre le partage du workflow. 

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.