29 Mai 2015

Une approche ludique du DevOps

salle_tiny

Les équipes du WebCenter ont eu l’occasion, le 31 mars 2015 au soir, de participer à un atelier “DevOps Mindstorm” animé par Aurélien Morvant.

Après une présentation du concept de cet atelier par Aurélien, différentes équipes de 5 personnes se constituent, avec une répartition de 3 devs pour 2 ops.

L’objectif de chaque équipe? Construire un robot, et développer son logiciel, pour qu’il sache trouver son chemin tout seul dans labyrinthe … dont ne nous connaissons bien sûr pas le parcours.

Le déroulement :

Pour exacerber les différences culturelles et d’état d’esprit entre ces populations que sont les devs et les ops, ceux de chaque équipe sont physiquement séparés et ne peuvent directement communiquer.

 

Première itération :

Première étape, comment communiquer? Nous commençons par nous approprier une fenêtre afin d’y mettre des post-it servant de canal de communication entre les devs et ops de l’équipe.

Ensuite, nous rentrons réellement dans le jeu.

Côté ops nous avons une boite de Lego avec un nombre limité de capteurs, moteurs,… et un mode d’emploi pour construire un robot. On peut y voir la recherche de stabilité et sécurité des ops au travers de ce nombre fini d’éléments et de ce mode d’emploi.

Côté devs, ils n’ont pas connaissance de nos limitations et découvrent le logiciel qui va leur permettre de coder le fonctionnement de ce robot. On remarque après quelques minutes à peine la culture d’innovation,…  des développeurs: ils commencent par nous évoquer (toujours via des post-it, avec leur vocabulaire) qu’ils veulent un robot avec X capteurs de proximité, Y capteurs de déplacement,… (Et sinon, vous ne voulez pas qu’il fasse le café aussi?)

Bref, vous vous en douterez peut être, cette première itération fut compliquée et n’a clairement pas permis d’aboutir à quoi que ce soit pouvant être réellement montré à notre client ( certaines équipes avaient un robot immobile, d’autres un robot qui reculait) 🙁

 

Vient le temps de la rétrospective de cette première itération :

  • on a du mal à communiquer
  • on manque d’expertise sur les produits utilisés
  • il est compliqué de synchroniser dev et ops pour être cohérent sur la valeur à apporter et tester au plus tôt

 

Les premiers axes d’amélioration identifiés sont donc tout naturellement de rapprocher les devs et les ops : désormais chaque équipe verra l’ensemble de ses membres autour d’une même table. Il est également évoqué de solliciter l’expert technique au besoin (après tout il est quand même là pour ça 🙂 )

Nous évoquons aussi la réalisation de tests au plus tôt en “situation réelle” pour avoir un feedback rapide.

coding_tiny

La deuxième itération commence :

Le rapprochement des populations prend du sens : nous testons au plus tôt des petites fonctionnalités puis nous allons en situation réelle valider le comportement global, puis nous nous servons de ce feedback pour améliorer,…

A la fin de cette deuxième itération, une seule équipe a réellement terminé, mais ce n’était pas l’objectif principal.

 

laby_tiny2

 

Cet atelier, en format ludique et décalé du fait de l’utilisation des Lego Mindstorm, permet de grossir le trait sur les problèmes rencontré entre devs et ops, et de donner du sens à cette orientation DevOps dont tout le monde parle 🙂

Nous avons également pu aborder le concept CAMS :

  • Culture : donner l’accent sur les personnes et les processus
  • Automation : rendre les choses plus faciles
  • Measurement : mesurer tout, pour convaincre et communiquer
  • Sharing : partager les succès, les échecs, … pour faire progresser
Share