Eliminer les sources de gaspillage

http://www.sxc.hu/pic/m/s/sa/salingpusa/1046480_reminders.jpg

Crédit photo : Creative Daw/SXC

C'est le principe N° 1 du Lean Software Development. C'est à la fois une façon de pensée et un concept trés opérationnel qui se traduit par l'examen attentif de 7 sources de gaspillage potentielles ("Muda") qu'on retrouve dans la conception d'applications informatiques:

1 Travail partiellement fait

Du stock qui ne rapporte rien, qui nous rend moins réactif et qu'on doit donc absolument réduire ... Avec le travail partiellement fait, on ne sait jamais si ça marche ! C'est donc risqué et ça peut devenir obsolète. Pure perte et danger, sans compter le temps pour revenir dessus !
Agile Tip !
Le développement itératif et incrémental, le "timeboxing", le travail découpé, morcellé et des outils comme le Kanban board et des règles simples améliorent les choses. Partager une vision commune du "Done" et mettre en avant est essentiel: un sprint se termine par une demo et une livraison, c'est la base.

2 Process inutiles

Chaque process, chaque action engagée doit être source de valeur pour le Client et doit être attendu par les équipes qui en sont les destinataires. Lean nous propose un outil remarquable : la Value Stream Map, outil idéal pour chasser les process inutiles et point d'entrée inégalé pour évaluer les process de développement...
Regardez autour de vous... faites un point rapide sur votre activité, sur un projet; tracez par exemple demande Client, depuis son arrivée dans l'organisation jusqu'à son traitement effectif (client livré ...), repèrez les temps d'attente qui ne rapportent rien et les activités sources de valeur, c'est trés instrcutif, parfois désolant ...
Agile Tip !
Des méthodes & process simples comme SCRUM vous permettent de limiter les risques; de fréquentes rétrospectives vous permettront d'ajuster. La Value Stream Map vous guidera.

3 Excès de fonctionnalités

C'est le pire !
Le développement de fonctions non attendues, non utilisées est le plus gros gaspillage. Le standish Group a pourtant multiplié les rapports depuis une quinzaine d'années: rien n'y fait!
Simplicité et "Juste ce qu'il faut", c'est un message clé de mon blog.
Agile Tip !
L'analyse de Kano, l'intégration d'une démarche ergonomique et les feedbacks utilisateur et encore l'effort de priorisation demandé au Métier peuvent vous aider à y voir plus clair, et à concrétiser un backlog de produit, digne de ce nom

4 Passages d'une tâche à une autre

On le sait tous, cumuler les tâches et les projets est coûteux d'un point de vue cognitif, outre la surchage potentielle, c'est le temps qu'il faut pour se remettre en contexte qui constitue du temps gaspillé pour notre Client.
Agile Tip !
Une équipe intégrée, à plein temps, des sprints (itérations) courts, des règles simples comme limiter le "In progress" réduisent ce risque de gaspillage

5 Attentes et retards

Le temps pour démarrer, staffer, valider, décider, les retards dans les tests, dans le déploiement, dans l'analyse... pour au final retarder la livraison finale.
Ce qui nous pénalise : des cycles de temps qui ne dépendent pas de nous mais qui nous mettent dans une position d'attente, ou d'autres cycles dont nous sommes responsables. L'ensemble va retarder l'atteinte de nos seuls objectifs: donner exactement à notre Client ce qu'il attend de nous, où il le veut et quand il le veut, et lui apporter de la valeur au travers de nos activités.
Le gaspillage de temps n'est pas la seule conséquence... insatisfaction, livraison obsolète (le client a changé d'avis sur telle ou telle partie), livraison nulle (le client a changé d'avis tout court, et ne nous a pas attendu), produit obsolète (le marché ne nous a pas attendu !!)
Agile Tip !
Une approche itérative et incrémentale avec des cycles courts permet un feedback et une adaptation permanente et facilite les réponses au changement. Un backlog de produit estimé, priorisé et maintenu donne de la visibilité et permet de réagir vite. Le Kanban board accentuera la fluidité, et plus largement le radiateur d'informations permettra de savoir où on en est et d'identifier le cas échéant les goulets d'étranglement.

6 Transmission d'informations

Le temps pour obtenir une réponse, l'accès au client, aux équipes... il peut s'agir en premier lieu des déplacements de personnes, mais cela concerne aussi la perdition d'information qui nous guette à chaque transmission de doc. C'est un vrai problème pour les équipes distribuées...
Petit test : entre une explication en face à face, live au tableau blanc d'une interaction et de la navigation entre quelques écrans clés, et les mêmes explications, à distance, au tél (pire par mail), quel est le plus efficace ?
Agile Tip !
Proximité, war Room, équipe integrées, ateliers de travail, "juste ce qu'il faut" de documentation sont des bonnes pratiques agiles qui peuvent aider...

7 Défauts

Les défauts, anomalies sont aussi, dans l'esprit Lean, des stocks à éliminer. Une anomalie n'a pas de valeur. L'accumulation (files d'attentes ingérables et surchargées...) ou une détection trop tardive, feront exploser les côuts et les délais, sans compter la satisfaction Client et l'image que vous renvoyez.
Aujourd'hui, la qualité n'est plus négociable et les attentes sont fortes.
Agile Tip !
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, le dév. itératif, un focus sur la qualité, des techniques comme les 5 Whys améliorent sensiblement la situation

Et mon boulot, dans tout cela ?

  • D'abord comprendre où est la valeur, savoir la mesurer et vous aider à vous mettre dans la peau du Client ou de l'utilisateur
  • Apprendre à voir les gaspillages, échanger, monter de courts ateliers sur chaque source potentielle et vous aider à les éliminer
  • Etablir un plan d'action en commençant par éliminer le plus gros gaspillage (ou problème, ou contrainte) puis reboucler, dans un esprit Kaizen ("amélioration continue"), sur celui qui suit et qui devient alors le plus important