Blog Planview

Votre parcours vers l’agilité métier

Planification Agile d'entreprise

Qu'est-ce que le flux et pourquoi est-il important ?

Publié le Par Chris Hefley

Flow signifie "se déplacer dans un courant régulier et continu". Dans le travail du savoir, la capacité à visualiser et à gérer votre flux est essentielle pour obtenir une livraison plus rapide et plus cohérente. Il vous permet de comprendre votre capacité, d'identifier facilement les problèmes et d'améliorer ce flux.

Dans un système conçu pour gérer le flux de produits livrables tangibles, comme une chaîne de montage de voitures, il est relativement facile de voir où les goulots d'étranglement se forment et ralentissent la progression. Pour le travail de connaissance, les problèmes de flux ne sont pas aussi faciles à voir. C'est l'une des principales raisons pour lesquelles nous utilisons les tableaux Kanban pour visualiser notre travail.

Mais qu'est-ce que le flux exactement ?

Prenons un exemple que nous connaissons tous : le poste de contrôle de sécurité d'un aéroport. Comme un tableau Kanban, la sécurité aéroportuaire est un système. Les personnes traversent le système, d'étape en étape, en commençant par l'examen de leur pièce d'identité et de leur carte d'embarquement, et en terminant par la sortie du point de contrôle vers leur vol de départ.

La capacité du système, ou le nombre de personnes pouvant être traitées efficacement, peut être affectée par de nombreux facteurs - le nombre d'agents de sécurité disponibles, le nombre de couloirs ouverts, les technologies utilisées pour le contrôle, etc.

Lorsque le nombre de personnes passant par le poste de contrôle est faible par rapport à la capacité du système, les gens passent avec une relative facilité. Une pause pour vérifier les pièces d'identité, se diriger vers le tapis roulant, enlever la ceinture et les chaussures, placer son sac sur le tapis, passer au scanner, ramasser son sac, remettre ses chaussures et sa ceinture, et c'est parti.

Beaucoup de choses peuvent interrompre ce flux. Peut-être que quelqu'un met du temps à enlever ses chaussures et sa ceinture. Ou bien quelqu'un déclenche le détecteur de métaux et doit revenir en arrière, vider ses poches et réessayer. Ou le sac de quelqu'un doit être fouillé. Ou quelqu'un a besoin d'une aide supplémentaire pour passer dans la file d'attente.

Lorsqu'il y a relativement peu de personnes qui passent par le poste de contrôle, ces interruptions du flux n'entraînent que des retards mineurs. Mais lorsque le système approche de sa capacité, une petite interruption du flux est amplifiée de nombreuses fois. Plus il y a de personnes qui passent par le système, plus il y a de chances que quelque chose prenne plus de temps que la normale, provoquant un effet d'entraînement.

Le flux dans le travail de la connaissance

Voyons maintenant comment le flux s'applique au travail de la connaissance, en utilisant une équipe de développement de logiciels comme exemple. Le travail circule dans le système, à partir du moment où un client demande une fonctionnalité du produit et sort du système lorsqu'elle a été livrée au client et qu'elle fonctionne réellement et crée de la valeur. Notre système de développement de logiciels a une capacité, basée sur le nombre de développeurs, de gestionnaires/analystes, de testeurs, de concepteurs et d'autres rôles remplis par les personnes dont nous disposons.

Il y a généralement une assez grande variabilité dans la complexité et la difficulté du travail. Certaines choses sont plus longues à concevoir, d'autres sont plus difficiles à construire et d'autres encore prennent plus de temps à tester. Au fur et à mesure que le travail circule dans le système, il y a des interruptions dans le flux, comme des tests qui échouent et des travaux à refaire, ou un travail qui attend d'être testé longtemps après avoir été terminé, ou encore un travail de conception qui nécessite plusieurs itérations pour être correct.

Si le système fonctionne à un niveau inférieur à sa capacité pour un travail se déplaçant à une vitesse "normale", alors ces interruptions peuvent ne pas avoir un effet massif sur la vitesse à laquelle le travail est fourni. Mais si le système fonctionne presque à pleine capacité, toute variabilité provoque un effet en cascade sur le débit. Des problèmes encore plus graves peuvent survenir lorsque vous commencez à avoir des problèmes de débit en un point du système et que vous continuez à charger le système avec de plus en plus de travail.

Identifier les problèmes de flux dans le travail de la connaissance

Les problèmes de flux à l'aéroport sont faciles à voir. Lorsque vous voyez une file d'attente qui disparaît au coin d'une rue, vous savez que vous allez avoir une longue attente et que vous passerez la majeure partie de celle-ci à rester debout. Pour le travail de connaissance, les problèmes de flux ne sont pas aussi faciles à voir. C'est l'une des principales raisons pour lesquelles nous utilisons les tableaux Kanban pour visualiser notre travail.

Lorsque nous reportons les étapes de notre processus sur le tableau, les cartes représentent le travail qui circule dans le système. Lorsque de gros paquets de cartes se forment dans une zone du tableau, cela indique clairement que le travail a du mal à passer ce point du processus. Lorsqu'il y a de grandes zones vides sur le tableau, nous pouvons également supposer que le travail reste bloqué avant cette partie du processus et qu'il n'est pas acheminé de manière fluide.

Dans cet exemple, le travail est bloqué au niveau de la conception et ne passe pas régulièrement à la partie développement du processus.

Il existe deux façons principales d'influencer le flux : la gestion des files d'attente et la limitation du travail en cours.

Influencez le flux en gérant les files d'attente

Dans l'exemple du contrôle de sécurité, ce que nous considérons souvent comme une longue file d'attente est en réalité une série de files d'attente. Tout d'abord, vous faites la queue pour que l'agent de sécurité vérifie votre carte d'identité et votre carte d'embarquement. Une fois cette activité effectuée, vous faites une autre queue pour les bacs en plastique, où vous pouvez mettre vos chaussures, votre ceinture et votre monnaie de poche.

Après avoir vidé vos poches, vous placez votre sac sur le tapis roulant, avec les bacs en plastique, et vous attendez de les voir passer aux rayons X - c'est la file d'attente #3, si vous comptez. Vous attendez maintenant dans une file d'attente (généralement courte) pour passer le détecteur de métaux ou d'ondes millimétriques.

Et enfin, vous attendez de l'autre côté pour prendre votre sac et vous habiller. Cela fait cinq files d'attente. Les deux premières étapes sont généralement les plus longues à attendre, mais les retards dans les dernières étapes peuvent avoir des effets d'entraînement jusqu'au début de la file.

Le travail de connaissance a aussi des files d'attente. Au sein d'une équipe de développement de logiciels, le travail de conception se fait et reste ensuite dans une file d'attente, en attendant que les développeurs soient disponibles pour commencer le travail. Une fois le développement terminé, le travail peut rester dans une autre file d'attente en attendant des tests supplémentaires. Une fois les tests terminés, il peut attendre dans une autre file d'attente d'être déployé en production.

Les exemples du monde réel sont souvent bien plus remplis de files d'attente, surtout si le travail doit être transmis à quelqu'un d'un autre département ou d'une autre équipe pour effectuer l'action suivante dans le flux de travail. Chaque fois qu'il y a un transfert de travail d'une personne à une autre, il y a généralement une file d'attente.

Ainsi, pour visualiser la part de notre travail qui se trouve dans les files d'attente, vous devez concevoir votre tableau Kanban de manière à faire apparaître explicitement ces files d'attente.

Dans le tableau ci-dessus, la colonne "Terminé" est une file d'attente. Lorsque le travail de développement est terminé, par exemple, il est placé dans la file d'attente "Done" afin que les testeurs AQ sachent qu'ils doivent tirer leur prochain élément de travail de cette file d'attente, lorsqu'ils en ont la capacité.

Maintenant que nous pouvons voir les files d'attente sur le tableau, nous pouvons commencer à voir leurs effets. Si un travail entre dans la file d'attente "Développement:Fait" et y reste pendant plusieurs jours en attendant les tests, plusieurs choses peuvent se produire. Premièrement, des travaux supplémentaires peuvent être ajoutés à la file d'attente pendant ce temps, et la taille de la file d'attente continuera de croître.

Si des erreurs sont découvertes par l'équipe de test et que le travail doit être renvoyé au développement pour être corrigé, le coût du changement de contexte entre le nouveau travail en cours et le retour en arrière pour réparer le code cassé d'il y a une semaine peut être très élevé. Cela provoque au moins deux interruptions du flux, où le travail avec le défaut revient en arrière et le travail en cours de développement est mis en pause pendant que les défauts sont corrigés.

Influencez le flux en limitant le travail en cours (WIP)

Une fois que vous commencez à voir l'effet des files d'attente, vous pouvez commencer à limiter explicitement la taille des files d'attente pour maintenir la fluidité du travail. Cela peut signifier, parfois, qu'une personne particulière dans le système reste inactive pendant une courte période, plutôt que d'accumuler plus de travail dans la file d'attente. Dans l'optique de la pensée systémique, les temps morts sont préférables au fait de charger le système avec plus de travail qui ralentit tout le reste.

"Mais attendez !" dites-vous. "Comment puis-je limiter mon travail dans le processus ?? Les calendriers des projets, la demande des clients, l'arriéré croissant - ces choses ne s'arrêtent pas simplement parce que je le dis. À l'aéroport, le personnel ne peut pas simplement dire aux gens de ne pas faire la queue parce qu'ils 'limitent leur WIP'".

En fait, ils le peuvent. Et ils le sont déjà.

À l'aéroport, la plupart du temps, vous passez votre temps dans ces deux premières files d'attente, avant d'arriver au tapis roulant et au scanner. Ils gardent intentionnellement ces files d'attente longues et ne laissent passer qu'un nombre limité de personnes pour que les étapes finales se déroulent sans heurts. Il y a aussi beaucoup d'agents de sécurité à ces étapes finales, qui vous font passer, en s'assurant que le flux reste aussi fluide que possible. Nous pouvons faire de même avec nos équipes.

Améliorez votre flux

En limitant non seulement la quantité de travail que nous commençons, mais aussi le travail que nous nous engageons à faire, nous pouvons améliorer notre flux et obtenir une meilleure qualité, un meilleur débit et plus de cohérence. Cela peut signifier que l'arriéré ou la file d'attente des demandes est plus long, mais les avantages d'une livraison plus rapide et plus cohérente vous permettront de prouver que le fait de travailler sur moins de choses à la fois profite davantage à vos clients que de dire "nous avons commencé à le faire" et de prendre beaucoup plus de temps pour le livrer après avoir pris cet engagement.

Lectures recommandées

Articles similaires

Rédaction du contenu Chris Hefley

Chris Hefley est cofondateur de LeanKit. Après avoir passé des années à se débrouiller avec des systèmes de gestion de projet "défaillants" dans le domaine du développement de logiciels, Chris a participé à la création de LeanKit, un moyen pour les équipes de devenir plus efficaces. Il croit en la création de logiciels et de systèmes qui améliorent la vie des gens et transforment leur relation avec le travail. En 2011, il a été nominé pour le prix Brickell Key de la Lean Systems Society. Suivez Chris sur Twitter @indomitablehef.