Flux poussé ou flux tiré: quelle est la différence et à quoi ça sert exactement ?

cover tiré

L’Agile et le DevOps ont ré-introduit la notion de flux et d’itérations dans les processus de développements informatique. A ce sujet, on entend donc souvent parler de flux tiré ou de flux poussé ainsi que de Kanban. Qu’en est-il exactement ?

Pour commencer, je citerai le Directeur de la production IT d’une grande banque française, qui avait utilisé cette formule pour le kick-off d’un atelier lean Obeya que j’animais:

« Il faut qu’on arrête de pousser les projets comme on pousse des wagonnets et qu’on tire les demandes depuis le client, pour que nos projets avancent tous ensemble ! »

Belle illustration de ce concept de flux tiré qui nous vient, en fait, de chez Toyota !

Toyota à travers son Toyota Production System – Lean – s’est beaucoup intéressé à cette notion de flux de valeur afin notamment de permettre aux collaborateurs de se concentrer sur les tâches à valeur ajoutée tout en abandonnant le plus possible de gaspillages (l’un des plus connus dans l’IT étant la retouche). L’objectif final est d’atteindre ce Graal qu’est le Just In Time, c’est-à-dire livrer le client juste à temps : ni trop tôt, ni trop tard… avec le niveau de qualité attendu.

Et pour cela, le flux tiré, en anglais « pull flow », est l’arme absolue !

Le principe est simple, il consiste à tirer la production depuis le client. La demande du client est l’élément déclencheur de la fabrication de la pièce. On part donc de la fin du processus afin de livrer les pièces au rythme du client, appelé Takt.

Parmi les exemples de flux tirés dans la vie de tous les jours, on trouve le restaurant. La préparation du plat ne commencera que lorsque vous aurez passé la commande. Idem pour les fastfoods où le burger et les frites sont quasiment faits à la demande. Il y a en général un petit stock de sécurité de 1 à 2 pièces pour limiter l’attente.

A l’inverse dans une cafétéria ou une cantine, la logique est plutôt un flux poussé. On stockera de grandes quantités de plats dans des bacs qu’il faudra maintenir au chaud au risque que certains ne soient pas choisis par les clients.

toyota waySelon J. Liker et M. Meier, auteurs de l’excellent Toyota Way Field Book, en plus de ces principes de production à la demande du client, trois éléments permettent de différencier un flux tiré d’un flux poussé. Le flux est :

  1. défini : il y a un accord précis entre celui qui fournit le service / produit et le client : la quantité, le type de pièces…
  2. dédié: les éléments sont partagés entre les 2 équipes (fournisseur / client) et leur sont dédiés en termes de ressources, lieux, stockage… Elles doivent s’accorder sur le rythme Takt
  3. contrôlé: des contrôles simples et visuels doivent représenter l’accord entre les 2 parties.

process

Pour des équipes Scrum que j’ai accompagnées, cela pouvait signifier :

  1. l’équipe qui développe, livre un package testé comprenant 2 correctifs et une user story à l’équipe en charge de l’intégration. Les tests d’acceptance sont clairement partagés
  2. le package est versionné ou taggué, prêt à être déployé sur un environnement d’intégration via une plateforme CI d’intégration
  3. l’équipe qui réceptionne sait comment installer le package et a une liste des points à vérifier.

Quel est l’intérêt d’un flux tiré ?

Dans le flux tiré, chaque personne à son poste se met d’accord avec la personne qui va suivre, on travaille en équipe pour réussir ensemble à satisfaire son client.

Un flux tiré est plus efficace qu’un flux poussé car met en évidence les gaspillages du type attentes ainsi que la gestion du stock. S’agit il d’attentes liées à des problèmes de coordination avec d’autres équipes, de problèmes internes à l’équipe comme le manque de compétences sur un sujet particulier ou la disponibilité d’un environnement ou d’un jeu de données… Comme il met le processus sous « tension », il l va mettre en évidence toutes les fragilités qui seront immédiatement visibles et qui seront autant d’opportunités d’améliorations (Kaizen) pour rendre le processus encore plus efficace et résilient. Au final en résolvant les obstacles au fil de l’eau, le flux tiré va permettre aux équipes d’améliorer la satisfaction client car ce dernier sera livré quand il le souhaite.

Dans ce contexte, le Kanban, appelé aussi ‘’carte’’ (souvent matérialisé par un post-it dans le monde de l’IT), est un avatar qui représente la création de valeur tout au long du processus. Plus couramment, dans l’IT on parlera de panneau Kanban pour représenter les différentes étapes du processus de création de valeur.

Sur ce sujet, je vous invite à lire l’excellent article de mon collègue Jean-Philippe Douet, Kanban, un serial killer de la Definition of Done, qui explique comment évoluer d’un simple panneau To do / Wip / Done à un panneau décrivant le process.

Et le flux poussé ?

poussé

A l’opposé, dans un flux poussé, chaque personne à son poste de travail effectue ses activités pour lui seul, à son propre rythme, sans trop se soucier de celui qui prendre la suite. Pour forcer un peu le trait, il est en mode « égocentré ». Le flux poussé aura pour conséquence de nombreux gaspillages d’attentes, de gestion de stock, de surproduction. Il aura tendance à masquer les problèmes notamment par le stock des « choses à faire ».

Il m’est arrivé de rencontrer des équipes où les développeurs livraient de nombreuses user stories « à toute vitesse » (c’est à dire contenant de nombreux bugs) tout en sachant que dans le process, à l’étape suivante de recette ou de qualification, une seule personne était disponible. Cette dernière croulait littéralement sous les tâches d’intégration et de test, il en résultait des gaspillages de surproduction et de gestion des stocks et par la suite un gaspillage de rework car les livraisons n’étaient pas de bonne qualité. Le résultat est un processus lent produisant des pièces de piètre qualité.

Pour conclure

Curieusement, on retrouve cette opposition dans notre langue française avec ces 2 expressions l’une à co-notation plutôt négative : « Pousser le bouchon un peu loin ! » ou « Tu pousses un peu ». Et l’autre plus positive : « Tirer quelqu’un vers le haut ou d’un mauvais pas ! »

Et vous, dans vos pratiques Agiles, Lean ou DevOps, quel est le flux en place ? Comment trouvez-vous des pistes d’amélioration pour mieux satisfaire vos clients ?

Merci à Pierre et Paul pour leurs feedbacks.

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s