Six éléments essentiels
La deuxième présentation à la Conférence Agile France 2011 proposait six bases essentielles pour mettre en place un environnement de travail Lean ou Agile. Comme toujours il y a de bonnes nouvelles et de mauvaises nouvelles:
- La bonne nouvelle: Lean et Agile ne sont pas de la magie, entre temps on sait pourquoi, où et comment ça marche
- La mauvaise nouvelle: ce n’est pas compliqué, mais c’est vraiment dur de mettre en place les prérequis nécessaires.
La présentation ne donne qu’un aperçu de chaque élément. Voici des ressources pour les 3 premiers élements, qui peuvent vous aider dans vos recherches. Les 3 autres éléments seront décrit dans un billet suivant.
1. La Théorie des Contraintes
Originalement décrite par Eli Goldratt dans le roman “Le But”, cette théorie se résume très facilement:
- Le résultat de chaque système est déterminé ou limité par un de ces élements, le goulot d’étranglement
- La seule façon d’améliorer les résultats est de travailler sur le goulot.
- Améliorer les autres élements du système n’apportera pas de bénéfices, cela aura souvent un effet négatif!
Comme mon grand-père savait déjà: “pour rendre une chaine plus forte, il faut renforcer le maillon le plus faible”.
Le “Jeu du Goulot d’étranglement” vous fait vivre les conséquences qui vont souvent contre le “bon sens”.
2. Les Real Options
Au lieu de prendre des décisions difficiles le plus tôt possible, comme nous encourage toute la littérature sur l’architecture informatique, il faut
- attendre jusqu’au “bon” moment pour prendre chaque décision. On peut calculer exactement quand c’est le bon moment: la date de livraison – le temps d’implémentation de l’option
- jusq’au moment de la décision on garde toutes les options ouvertes
- on utilise le temps gagné pour rechercher plus d’informations ou pour créer d’autres options
- on essaie de réduire le temps d’implémentation de chaque option afin de repousser vers l’arrière le moment de la decision
L’heuristique que j’utilise:
- Une décision difficile à défaire doit être prise tard. J’essaie de réduire le temps d’implémentation pour avoir plus de temps de reflexion et évaluation.
- Une décision facile à défaire peut être prise tôt. J’essaie de convertir des décisions difficiles à défaire en décisions faciles à défaire.
Exemples concrets:
- Les User Stories nous donnent l’option de prendre des décisions difficiles de planning et contenu du produit plus tard que d’habitude
- Du code clair, facile à comprendre, bien factorisé avec des tests automatiques nous permet de défaire des décisions de design et architecture à faible coût qu’on a fait auparavant pour implementer de nouveaux besoins
- Le tableau Kanban permet à l’équipe de voir les goulots en temps réel et de réagir en conséquent.
L’article “Real Options Underlie Agile Practices” par Chris Matts (en anglais) explique les Real Options et le lien avec Agile et lean. Il y a un résumé des Real Options sur le site Agile Coach.
3. Gérer par la valeur, pas par les coûts
Au départ de nos projets on se met d’abord d’accord sur notre définition commune de “valeur”. Don Reinertsen appelle cela un “Project Economic Framework” dans The Principles of Product Development Flow: Second Generation Lean Product Development. Nous appellons cela un “Business Value Model” ou “Modèle de la Valeur Métier”.
Bien définir la Valeur avec toute l’équipe apporte beaucoup de bénéfices:
- Toute l’équipe est alignée
- Comme nous comprenons mieux le vrai but, il est plus facile de trouver des vraies solutions
- Il est très facile de prioriser
- Les projets deviennent plus petits parce qu’on élimine ce qui n’ajoute pas ou pas assez de valeur