La méthode Mikado : de grands changements avec de petites étapes

Vous avez déjà assemblé des Lego ou monté un meuble Ikea ? Quand j’étais petit, j’adorais les Lego. Je laissais libre cours à mon imagination en créant des tas de lieux, de véhicules et d’histoires. J’ai aussi eu des boîtes de Lego avec quelque chose de précis à assembler (un château par exemple). Dans ces boîtes, il y a toujours un plan. On y voit le résultat final (le château) et toutes les étapes à suivre pour le construire. Des étapes simples et petites qui se suivent. Parfois, on assemble un morceau (une tour, un mur) et on le met de côté avant de revenir dessus plus tard pour l’assembler avec toute la structure. À la fin, on a notre grand château avec toute sa complexité, ses détails, ses nombreuses briques.

La méthode Mikado, c’est un peu la même chose. On suit un plan décomposé en plusieurs petits pré-requis pour atteindre un objectif plus grand bien précis. Sauf que ce plan, on ne l’a pas au départ mais on le construit au fil de notre avancée. Et c’est là toute la puissance de la méthode Mikado. On avance par petits pas, on expérimente, on visualise notre chemin, et on reste toujours dans un état fonctionnel jusqu’à atteindre l’objectif défini.

Je m’en sers régulièrement lors de refactoring et je trouve ça génial (n’en déplaise aux adeptes des chantiers abandonnés après 4 mois sans visibilité). La méthode m’apporte de la structure, je vois ce que j’ai à faire, j’avance par petites étapes. Rencontrer des difficultés ou des imprévus en chemin est moins problématique grâce à l’approche très itérative et expérimentale de la méthode. Je découpe les problèmes, j’essaie des solutions, je garde ce qui marche, j’annule ce qui ne fonctionne pas. Le projet est toujours dans un état fonctionnel. Je peux m’arrêter à tout moment et le livrer.

C’est très puissant pour effectuer des changements progressivement et avec rigueur dans n’importe quel domaine. Je parlais de refactoring, mais on peut effectuer tout type d’évolutions dans notre code, ou également sortir de la sphère technique en l’utilisant dans notre équipe pour modifier une organisation, ou dans notre quotidien.

La méthode Mikado

Avant de plonger profondément dans les détails, je vous propose de découvrir un exemple d’utilisation de la méthode Mikado qui parle à tout le monde pour représenter son fonctionnement.

Une histoire de TV

Notre équipe a une salle de pause qui augmente la productivité de 700 % depuis que nous l’avons ré-aménagé. Son secret ? Des fauteuils confortables et des Fatboy pour profiter pleinement d’une diffusion continue des épisodes de Kaamelott. L’efficacité est telle que la direction nous a fait livrer une nouvelle TV 4K avec une très grande diagonale.

Je veux donc remplacer le vieil écran PC posé sur le plan de travail par la nouvelle TV afin de regarder Kaamelott en 4K ! Il faut cependant limiter au maximum l’interruption de la diffusion des épisodes, pas question de perdre les bénéfices de notre salle de pause.

Par quoi pourrais-je commencer ? Je pourrais brancher le lecteur sur la nouvelle TV, ou mettre le Blu-ray dans le lecteur à la place du DVD. Allez, je vais d’abord mettre le BluRay. J’arrête la lecture, je retire le DVD, je le range dans la boite, je prends le Blu-ray… Le Blu-ray ?! Ah, mince, on ne l’a pas encore en fait. Je n’y avais pas du tout pensé. Ce n’est pas grave, je remet tout en état avec la diffusion du DVD, comme avant. Que dois-je faire maintenant pour avoir les Blu-ray ? Il faut simplement l’acheter. Ok, rien ne me bloque, j’y vais.

[Plus tard…]

J’ai maintenant les Blu-ray de toutes les saisons de Kaamelott. Un superbe coffret. Je peux reprendre l’étape précédente. Je remplace le DVD dans le lecteur par le Blu-ray, puis je lance la lecture. Tout fonctionne, c’est génial. Je dois m’arrêter là pour le moment par contre, ça m’a pris plus de temps que prévu et j’ai des impératifs. Je continuerai la semaine prochaine.

[Plus tard…]

J’ai un peu de temps pour avancer vers notre objectif ce matin. Où est-ce que j’en étais ? Ah oui, au branchement du lecteur sur la nouvelle TV. Facile. Je débranche l’ancien écran, je sors la TV et… Et rien du tout. C’est une TV que l’on doit poser sur le mur, elle n’a pas de pied. Il faut que je pose cette accroche au mur avant, et pour ça, il faut que je perce les trous dans le mur. Retour en arrière, je range tout et je rebranche l’ancien écran.

Je ne peux pas m’occuper de ces dernières étapes tout de suite, mais un de mes collègues s’est proposé de prendre le relai. Il a compris ce qu’il restait à faire, il s’en charge. Percer les trous, puis poser l’accroche, installer la TV, et enfin la brancher. Voilà. Nous pouvons maintenant profiter d’une légende arthurienne encore plus grande.

Les grands principes

Ok. Maintenant que vous avez un exemple simple et concret d’utilisation de la méthode Mikado, nous pouvons décortiquer les grands principes au travers de cette histoire.

Avoir un objectif

On commence avec un objectif précis. Dès le départ, on sait où l’on doit aller, on a un cap. On se concentre dessus, on ne fait pas autre chose en même temps. Dans le récit précédent, le besoin était de remplacer un vieil écran par une nouvelle TV afin de regarder Kaamelott en 4K. Le résultat attendu est parfaitement clair.

Faire des expérimentations

Tout au long de notre chemin pour arriver à notre objectif, on va expérimenter. On va essayer des choses qui nous rapprochent de l’objectif. On avance par petites étapes. On cherche des solutions simples et naïves. Par exemple, on essaie de brancher directement la nouvelle TV et on voit ce qu’il se passe.

N’essayez pas de tout prévoir en avance, de faire un plan complet pour aller sur la lune. Demandez-vous ce que vous pouvez faire comme toute première étape pour avancer. Mettre le Blu-ray ? Ok, j’essaie.

Valider une expérimentation réussie

Lorsqu’une expérimentation fonctionne, on la valide. On commit, on enregistre, on garde ces modifications. Elles nous permettent d’avancer. Et si on arrête là, tout fonctionne toujours. On n’a peut-être pas terminé, mais on a avancé dans le schmilbik. J’ai acheté le Blu-ray de Kaamelott, je me suis rapproché de mon objectif final.

Annuler une expérimentation échouée

Quand une expérimentation rate, on annule. On retire toutes les modifications de notre expérimentation et on revient dans l’état précédant. On revert sur git, on remet tout en place. C’est une des clés de la méthode. Si vous ne le faites pas, vous n’appliquez pas la méthode Mikado. Pour être transparent, j’ai tenté de ne pas le faire, de prendre des raccourcis, d’aller trop vite. Je me suis perdu et cela ne m’a pas aidé.

Revenir en arrière est très puissant. On n’a pas expérimenté pour rien, on a appris des choses. On se pose des questions pour continuer. Qu’est-ce qui me bloque ? Que faut-il faire pour débloquer cette étape ? On va construire la suite de notre chemin grâce à cette expérimentation échouée et on pourra revenir sur cette étape plus tard, dans de meilleures conditions pour réussir.

Si on arrête là, tout fonctionne. Toujours. Parce qu’on garde les expérimentations qui ont réussi et on retourne en arrière lorsqu’elles échouent.

Dessiner un graphe pour visualiser

Vous ne le voyez pas en lisant l’histoire, mais un graphe a été créé et modifié au fil des expérimentations. C’est un outil essentiel dans l’utilisation de la méthode Mikado qui permet de visualiser l’avancée. On voit ce qu’on a fait, ce qu’on a tenté, ce qu’il reste à faire. On sait facilement à quel point on se situe. On pourra reprendre aisément plus tard ou se faire aider par d’autres personnes. Oui car c’est également un très bon support pour communiquer, pour expliquer ce que l’on fait, pour avoir un coup de main.

La création du graphe

Dessiner un graphe avec la méthode Mikado est très simple. On commence par écrire l’objectif tout en bas dans un double cercle.

On ajoute ensuite un cercle pour chaque expérimentation que l’on réalise, au-dessus du pré-requis précédant, et on les relie à l’aide d’une flèche. La flèche pointe vers le ou les pré-requis à effectuer au préalable - il faut d’abord acheter le Blu-ray afin de le mettre dans le lecteur.

On repère très rapidement les possibles prochaines étapes : il s’agit des pré-requis n’ayant pas de dépendance. On peut alors choisir une expérimentation et essayer.

  • Si elle échoue, on ajoutera une ou des nouvelles expérimentations en pré-requis à cette étape.
  • Si elle réussie, on cochera l’expérimentation. Ce qui débloquera peut-être d’autres étapes.

Bref, la démarche

Si vous avez bien compris les principes, la démarche ne devrait pas vous surprendre. C’est tout simplement l’application de ces principes coordonnés par le graphe, étape par étape. Dans le livre Mikado Method, il y a un diagramme qui représente très bien les différentes étapes à suivre. Je l’ai recréé ci-dessous.

On commence par dessiner l’objectif sur notre graphe. On essaie ensuite naïvement de trouver une solution. S’en suit une répétition de ces étapes selon le succès de l’expérimentation :

  • Dès que l’on bloque ou que notre expérimentation échoue, on dessine les nouveaux pré-requis dans le graphe, on annule les modifications, et on choisit un autre pré-requis.
  • Lorsque l’on réussi, on enregistre nos modifications, on commit, et on démarre avec une autre expérimentation du graphe.

On réitère toutes ces étapes jusqu’à atteindre l’objectif. Simple et terriblement efficace.

La dernière brique

On a vu une méthode qui permet de structurer des changements. Même lorsqu’il y a un grand chantier devant nous, la méthode Mikado apporte de la structure en travaillant rigoureusement par petites étapes et expérimentations. Le graphe nous guide tout le long pour arriver à notre objectif, et sert également de support pour communiquer. On ne conserve que ce qui fonctionne et on annule ce qui échoue, ce qui permet d’avoir un projet ou contexte toujours opérationnel.

Et à la fin, il reste toujours une brique Lego ou une pièce du meuble Ikea. Considérez-là comme une dernière chance d’améliorer votre travail une fois que l’ensemble est achevé :)