Voici la troisième et dernière partie de la série d'articles traitant de l'approche Three Ways du DevOps. Cette idée de trois voies proviennent d'un article du blog de Gene Kim ("The Three Ways, The Principles Underpinning DevOps"). Nous passons donc à la troisième voie ("The Third Way").


La troisième voie ("The Third Way") - celle de la culture d'expérimentation ("Culture of Experimentation") - est illustrée par le schéma suivant :

La première idée de la Troisième Voie est la culture de l'expérimentation continuelle. Cela suppose donc d'abord d'allouer du temps pour permettre à l'équipe d'expérimenter, d'essayer de nouvelles idées ou technologies, de chercher des moyens d'aller plus vite, ... Des exemples sont le concept de Hack Days ou l'allocation de 20% du temps par Google pour ce genre d'activité. Durant ce temps, on peut par exemple faire constamment des tests sur le pipeline de Continuous Delivery, sur l'infrastructure, etc ... L'objectif est d'apprendre pour s'améliorer.

La seconde idée est l'apprentissage de l'échec. Et pour cela, il faut trouver un moyen de récompenser l'équipe lorsqu'elle prend des risques. Sinon, comment rester leader sur le marché si on ne prend jamais de risque ?

La troisième idée est que la répétition est la condition préalable à la maîtrise. Encore faut-il avoir l'occasion de s'entraîner. C'est pourquoi l'idée derrière est d'introduire des failles dans le système et de s'entraîner à corriger ces problèmes. Quel est l'objectif ? C'est d'augmenter la résilience, en abaissant le MTTR. Par exemple, Google utilise la notion de Game Days, journées pendant lesquelles une défaillance est introduite dans le système (coupure d'une connexion Internet, coupure de l'alimentation d'un Data Center, ...).

Ces répétitions permettent de s'assurer que les équipes sont bien préparées pour faire face à ce genre de situation, en particulier au niveau de la formation et des outils. Elles permettent également de voir des choses que les équipes n'auraient pas imaginées simplement en y réfléchissant.

En injectant ces résultats dans le système, l'équipe peut ainsi le rendre plus résilient et plus fiable. Le meilleur exemple de cela est l'outils Chaos Monkey de Netflix. Il consiste à désactiver des instances AWS (Amazon Web Services), à introduire des latences dans la communication entre le client et le serveur, etc ... Un autre exemple type est la bascule d'un Data Center à un autre.

L'idée derrière tout cela est que comme des pannes vont arriver un jour ou l'autre, comment peut-on prétendre qu'elles ne se produiront pas et ne pas s'entraîner à les réparer ?

La Troisième Voie suppose bien sûr d'avoir un système d'instrumentation efficace, pour pouvoir ensuite exploiter ces feedback et améliorer le système. Elle suppose également que ces expériences puissent être mises en place rapidement, qu'elles peuvent être faites rapidement et que le système puisse être restauré rapidement.


La Troisième Voie introduit la notion de culture de l'expérimentation continuelle. Mais qui dit expérimentation dit échec possible. La second notion est donc l'apprentissage de l'échec. La troisième idée est la répétition, puisque la répétition est la condition préalable à la maîtrise.


Pensées pour mieux produire

Soyez prévenu dès que mon livre "Pensées pour mieux produire" sera disponible à la vente !

DevOps, Agile, Scrum, Kanban, XP, SAFe, LeSS, Lean Startup, Lean UX, Design Thinking, Craftmanship, Management 3.0, ...

 

Bruno Delb

Agile Coach and DevOps, with an experience in the Medical Device software domain, Management 3.0, Agile games and development (especially on mobile) are my passion.

Search

Ads