Vous connaissez désormais mieux les 7 principes du Lean Software Development, et ses principaux outils. Voilà en guise de conclusion, une petite synthèse des pratiques agiles majeures associées à chacun de ces principes Lean…
… « Pour et Vers » une plus grande maturité d’un process combiné Agile Lean…
Principe 1 : Eliminer les 7 sources de gaspillage vs méthodes Agiles
Le développement itératif et incrémental (fondé sur des sprints courts, un découpage du travail et le « timeboxing« ), fondement des méthodes Agiles mais aussi des outils comme le Kanban board (pour la fluidité) limitent certains gaspillages.
La spécificité de SCRUM avec la simplicité de son process et la discipline nécessaire à chaque sprint (demo et livraison, vision commune du Done et travail de rétrospective) élimineront naturellement d’autres gaspillage résiduels.
La war Room, des équipe intégrées, des ateliers de travail, « juste ce qu’il faut » de documentation, et le radiateur d’informations sont des bonnes pratiques agiles qui réduiront les problémes de transmission d’info, d’attentes ou de retard.
Un backlog de produit estimé, priorisé (essentiellement sur la valeur et l’interface) et maintenu donnera de la visibilité et permettra de réagir vite.
TDD, tests unitaires, intégration continue, standards et conventions, revues de code … bref toutes les pratiques d’ingénierie eXtreme Programming mais aussi le Feedback permanent du client amélioreront grandement la qualité.
Principe 2 : Favoriser l’apprentissage vs méthodes Agiles
Lean s’appuie sur le feedback et l’itération, deux prérequis de l’agilité. Le sprint, une équipe intégrée, le daily scrum, la revue de sprint, la démo ou la rétrospective sont autant de pratiques SCRUM suscitant la collaboration, assurant le feedback et favorisant l’apprentissage.
L’intégration continue et les builds fréquents, autant de bonnes pratiques d’ingénierie Agile, issues d’eXtreme Programming qui vont assurer le feedback Produit / Equipe, et améliorer la connaissance sur ce même produit.
Principe 3 : Reporter la décision vs méthodes Agiles
La planification itérative, pratique incontournable SCRUM, eXtreme Programming …, est là aussi la parfaite illustration de ce principe Lean, côté Métier et côté Gestion de projet.
Plan de release, Backlog de produit & de Sprint, Réunion de planification, joueront habilement sur ce dernier moment raisonnable, pour au final maintenir un niveau de réponse au changement élevé, et augmenter dans le même temps le niveau de connaissance des parties-prenantes sur le produit.
Principe 4 : Livrer vite vs méthodes Agiles
Encore un point fort de l’agilité. Le Kanban board, la réunion de planification (qui concrétise la demande Client), le Daily Scrum et le Radiateur d’informations sont les ingrédients essentiels d’un système à flux tirés.
Le découpage en sprints et quelques règles (cadence, limitation des éléments « in progress », de la capacité de travail …) permettront de bien gérer les files d’attente en agissant sur ce qui arrive et sur la façon de les traiter.
Le rythme soutenable (pratique eXtreme Programming) permettra à l’équipe de conserver sa capacité de réaction (en se laissant un peu de marge).
Principe 5 : Responsabiliser l’équipe vs méthodes Agiles
Quasiment une valeur Agile de l’Agile Manifesto. Concrètement, le travail en équipe, les rétrospectives favorisent autodétermination et motivation.
Le découpage en courts sprints, la réunion de planification Scrum, le radiateur d’informations (encore une fois) favorisent motivation et engagement autour d’un but explicite et partagé. Les chefs de projet Agile (ScrumMaster / coach eXtreme Programming) veilleront ensuite à appliquer ce principe et à conserver la motivation, dans un rôle avant tout de leader et en facilitateur.
Principe 6 : Construire la qualité intrinsèque vs méthodes agiles
L’excellence, le feedback rapide et la discipline sont des éléments clés communs à Lean et à l’Agilité.
Tests unitaires, TDD, intégration continue, standards et conventions, revues de code mais aussi pair programming et refactoring mettent en pratique ce principe.
Le feedback permanent (équipe, client, utilisateurs) et le développement itératif, permettront une construction effective et progressive de la qualité.
Principe 7 : Optimiser le système dans son ensemble vs méthodes Agiles
Méthodes Agiles et Lean Software Development se retrouvent sur les aspects contrats, envisageant avant tout la Vision du produit, sa valeur et sa livraison rapide, et jouant tous deux essentiellement sur une seule variable d’ajustement : le périmètre (durée, coûts, qualité sont fixes).
Les 3 mesures Lean (Temps de cycle, ROI et satisfaction Client) se retrouveront dans Scrum au travers de la: planification itérative, du Backlog de produit priorisé avant tout sur la valeur, de la mesure quotidienne de l’avancement du projet (Burndown chart) et des revues de sprint.