Dernière étape de mon
Agile Tour:
Bordeaux qui conclue une série de conférences à
Rennes, Bordeaux,
Nantes et Paris.
J'ai pu assister à deux conférences, un
kata en Java sur le TDD et la seconde sur la contractualisation des méthodes agiles par Frédéric Faure dont on peut voir le support
ici.
L'organisation était très bien, l'équipe parfaite. J'attends les vidéos des sessions.

J'ai pu rejouer ma session sur le
Management Visuel avec un créneau de 2h10 pour une session d'1h30. J'en ai profité pour être un peu plus bavard que d'habitude et faire une séance de questions/réponses d'1/2 heure sur n'importe quel sujet agile: Difficile comme exercice!
Il y avait autour d'une cinquantaine de personnes à la session avec un bon retour: Un ROTI de la session de 4.5 (4.6 à Rennes) et un ROTI d'apprentissage de 4.2 (4.5 à Rennes).
Le support (V2.0) de la session est en ligne ainsi que le résumé de la session. La vidéo de la session devrait arriver bientôt.J'ai eu une quarantaine de
feed-back: le retour est différent de celui de Rennes, ce qui me semble normal puisque j'avais pris en compte les remontées que l'on peut lire
ici.
Vocabulaire et notions de basesLes problèmes remontés portent principalement sur le vocabulaire et les notions de base de Scrum, Lean et Kanban. Effectivement, le public était plus débutant sur les méthodes agiles qu'à Rennes. Ajouter une introduction sur toutes ces notions semble difficile car cela ferait une session trop longue. J'ai ajouté un pré-requis sur une connaissance minimum des méthodes agiles pour les prochaines sessions ainsi que quelques pointeurs:
Exemples concrets et retours d'expériencePour les exemples plus concrets ou plus
compliqués de tableaux Kanban et surtout pour les contextes dans lesquels cette approche est efficace ou pertinente, il va falloir suivre la prochaine présentation sur mes retours d'expériences ou commencer
ici. Une partie des réponses y sera présentée.
Pour expérimenter, j'anime un atelier, le prochain se déroule à
Rennes jeudi prochain puis aux
XP Days Benelux le 23 novembre. N'hésitez pas à me contacter pour une demi-journée
Management visuel (session & atelier).
Rôles et individusCertaines questions tournent autour de la place du Product Owner (et la MOA/AMOA)La question n'étant pas plus détaillée, la réponse peut tomber à côté. Dans du management visuel pur, la place du Product Owner peut être de s'assurer que la priorisation des histoires utilisateurs est bien visible, comprise et que le travail s'effectue bien par rapport à cette priorisation métier, bien que ce soit plus le rôle du scrummaster. Si ce n'est pas le cas, il est temps de réexpliquer la valeur métier portée par le projet, comment les histoires sont priorisées, peut être également la vision?
Bien que l'accent est été mis sur l'équipe de développement lors de la session, le Product Owner fait partie de l'équipe Scrum, assiste donc aux cérémonies qui se déroulent autour des radiateurs d'informations. Ce qui est dit pour l'équipe de développement est également vrai pour le Product Owner.
L'assistance à maître d'ouvrage intervient plus sur la définition des besoins, donc comme support visuel, on peut utiliser les
story Map (plus
d'informations sur le user stories mapping) par exemple.
D'autres tournent autour de la personnalité du coach et des membres de l'équipe, de la maturité de l'organisationCette question est plus générale que les outils de management visuel, plus générale que la personnalité du coach: c'est de recentrage de l'agilité vers l'humain et de l'auto-organisation dont il s'agit, avec les implications que cela amène: management de type leadership, auto-organisation de Scrum, culture de l'amélioration continue du Lean, auto-éveil de Crystal, autodiscipline d'XP ...
Je renverrais pour ce genre de questions à la présentation
Illusions et désillusions, de Patrice Petit, ou l'une des conclusions porte sur l'importance du rôle des RH dans les projets de demain et ou il situe le rôle du coach plus proche de celui du RH que du leader technique. Donc la personnalité du coach est importante, tout comme celui du manager ou de toute l'équipe, mais également son profil.
Quelque soit le coach ou le manager, pour favoriser l'émergence il faut créer un environnement qui le permette, le management visuel est une partie de la réponse, et il y a également des pratiques notamment pour favoriser le consensus (
Cores protocoles,
rétrospectives, votes, ...), et des approches plus systémiques, comme le
principe de circularité déjà évoqué.
Flux tirés, flux tendusSystème Kanban et limites sur les étatsPlusieurs questions autour des limites sur les états d'un
système Kanban:
Ces limites sur les états (en cours, fini, à faire comme exemple simplifié d'états d'un processus type Scrum) permettent de réguler un système et de l'amener mécaniquement vers un système en flux tiré. Mécaniquement car une fois le système saturé (chaque état ayant atteint la limite fixée), pour "pousser" une tache de l'amont vers l'aval, d'un état à un autre, il faut d'abord libérer une tâche dans l'état suivant. De proche en proche, c'est le dernier état qui, lorsqu'il n'est plus saturé, permet de "tirer" les tâches en amont.
Alors pourquoi avoir une limite sur le dernier état (Fini pour revenir à l'exemple simple précédent)?Il faut considérer le système dans son entier, du point de vue du client. Pour lui, l'état Fini, n'est pas le dernier état, sauf s'il correspond à l'état En production et dans ce cas pas besoin de limite. Sinon, il reste encore des taches à réaliser, ne serait-ce que le déploiement en production. Sans cette limite, rien (de mécanique) ne pousse à mettre en production et les taches peuvent s'accumuler.
En fait, bien que ce ne soit pas naturel, cette limite existe de manière implicite (un lot à livrer classiquement, un incrément, un patch, une
Minimum Marketable Feature ou MMF). Cependant, beaucoup de tableaux Kanban n'ont pas de limite sur cet état.
Et pourquoi une limite sur les files d'attente (ou buffer)? Pourquoi ne pas laisser faire pour mieux identifier les problèmes?Effectivement, ne pas mettre de limite sur les files d'attente est un bon moyen d'identifier les goulots d'étranglement d'un système et donc de l'exploiter et de subordonner le système au goulot d'étranglement comme le préconise la
Théorie des Contraintes (TOC).
Pourtant on peut mettre une limite sur cet état pour plusieurs raisons: aller vers du flux tiré, aller vers du Juste à Temps, éliminer le gaspillage: Le Lean nous apprend que tout stock est du gaspillage si l'on regarde le système dans sa globalité.
La limite étant sur les nombres et non la capacité à réaliser (comme pour du Scrum avec la vélocité), cela nécessite d'avoir un Product Backlog complètement détaillé?Non, on a le même principe Scrum de Product Backlog détaillé Juste à Temps (avec l'activité du Product Owner:
Grooming the backlog), sauf que le Juste à Temps n'a pas la même portée en Scrum (une itération ou Sprint) qu'en Kanban (un
MMF).
Cette question est légitime car si on limite le nombre, implicitement on sent qu'il faut une même granularité pour toutes les taches, un même niveau de détail. D'ailleurs un des principes d'un système Kanban est de minimiser la variabilité des éléments du système (les tâches) et de minimiser leur taille (le
T-shirt sizing est suffisant pour du Kanban). Cela pose également la question des métriques utilisées pour ces approches et de l'engagement que l'on peut prendre, mais puisqu'elle n'a pas encore été posée je vais attendre pour y répondre :o).
Une question également sur la difficulté de mise en place du flux tiréEt pourquoi ne pas essayer de mettre d'abord une limite sur le travail en cours avant de parler de flux tiré ou de Kanban? Expérimentez!
Et puis challengez votre équipe et votre processus pour réduire cette limite ou positionner d'autres limites sur d'autres états.
Une question inattendue sur le flux tiré vs le flux tenduLe flux tiré est un des principes d'un
système Kanban, le flux tendu est une conséquence du principe de
Juste A Temps (JIT) ou zéro stock. Ce principe appliqué à un système Kanban consiste à réduire la limite sur les files d'attente à une valeur proche de 0.
Il se trouve que dans mon dernier projet pour lequel j'ai eu une approche Kanban, nous avons eu une période de quelques jours en flux tendu entre deux équipes spécialisées (métier - développement) qui comptaient 34 personnes au total. Nous avions 1 à 2 heures de travail d'avance en permanence, autant dire pas de marge car ce delta n'était pas réellement suffisant pour la répartition du travail dans l'équipe. C'est assez stressant comme situation pour tout le monde.
La solution pour ne pas aller dans le mur a été de basculer une petite équipe pluri disciplinaire de trois personnes d'une équipe à une autre selon les besoins. Je reviendrais plus longuement sur ce cas particulier dans ma session de retours d'expérience.
Différences entre Scrum et Kanban
Bien que cela fasse partie des bases à lire dans Scrum vs Kanban, il se trouve quand même Scrum, à l'origine, était décrit en 3 approches différentes:
Type A - Scrum typique, enchainement séquentiel des sprints et un temps d'arrêt entre pour retravailler le Product Backlog et préparer le prochain Sprint.
Type B - Scrum avec les sprints qui s'enchainent. Le Product Backlog est typiquement affiné en parallèle du Sprint. Du temps est alloué pour estimer les user stories par l'équipe pendant ce Sprint soit comme activité récurrente soit lors d'une réunion de travail positionnée quelques jours avant la fin du Sprint.
Type C - Les sprints sont de longueurs variables et non contraints par le temps. Il se trouve que le Type C est proche du Kanban. Et que l'on peut y aller de manière incrémentale par du Scrumban, approche développé par Corey Ladas dès 2004 chez Microsoft.
Inversement, un système Kanban simple cadence (une release tous les mois avec une rétrospective et une planification à la clef par exemple) se rapproche d'une itération Scrum.
La différence n'est donc pas si simple mais on peut dire que Scrum est basée sur une approche itérative et incrémentale et Kanban sur du flux tiré et de la cadence.
Management visuel, sortir du développement logicielLa session met l'accent sur les projets de développement logiciel là ou le management visuel s'applique au monde du travail:
visualisation d'informations et
communication,
Mindmap ou carte heuristique
Cliquer pour agrandir l'image
Et visualisation de processus comme
Visual Stream Mapping, Alex en parle récemment
ici.
Questions plus généralesPar ou commencer? Dans quel ordre?Commencer là ou vous en êtes (en modélisant votre processus grâce au Visual Stream Mapping et en le visualisant par un tableau Kanban par exemple), identifier les problèmes à résoudre, les rendre visible, se concentrer sur le problème principal, identifier les causes profondes et trouver une solution d'équipe à ces causes, implémenter et mesurer les effets. Bref de l'amélioration continue.
Cela vous amènera surement à introduire les pratiques une à une en réponse à des problèmes ou des axes d’amélioration, c’est la même idée directrice que pour l’
introduction du Lean proposée par Poppindieck.
Plus pragmatiquement, c’est ce que l’on constate en tant que coach agile: aborder l’agilité, non comme une fin en soi, mais pour répondre à un vrai besoin: ce qui permet de démarrer par un sous-ensemble de pratiques issues d’XP, de Crystal, ou autre peu importe.
Approfondir l'amélioration continueCela fera peut être parti d'un autre billet, en attendant on peut creuser l'esprit
Kaizen du Lean par exemple.
L'agilité dans un contexte multi projets et ressources partagées (une équipe pour plusieurs petits projets)?Je vais discuter d'un retour d'expérience dans un contexte similaire de cellule transverse (plusieurs petits sujets pour une équipe partagée) dans le
prochain incrément de ma prochaine session. Scrum n'est pas adapté à ce contexte pour différentes raisons. Et je pense qu'une approche Kanban l'est plus sans pour autant apporter toutes les réponses. Et concrètement, le tableau Kanban va se décomposer en une matrice avec pour les colonnes des états et les lignes de la matrice les petits projets (
swimlane). Cela permet d'avoir une vision globale des projets et de pouvoir réguler le processus.
Et pour tous,
Comment mesure-t-on que l'agilité a apporté quelque chose à l'entreprise? Au client?Et pour finir ce retour, merci aux organisateurs de m'avoir invité à cette étape et hébergé également.
A lire des retours sur l'étape de Bordeaux sur les blogs ici, ici ou là.