Il arrive qu’une équipe (Technique + Métier + Management) améliore son état de l’art au point qu’elle en fait une “plateforme”. 🌉

Une plateforme s’obtient par une série (parfois longue) de changements de “plateau”.

Un changement de plateau s’opère lorsqu’une pratique (ou procédé, ou recette, ou pattern) permet de réduire un obstacle au point de le rendre insignifiant.

Les erreurs de logique que j’insère sans m’en rendre compte dans du code que je ne testerai qu’en fin de sprint pourraient fort bien demander entre 1h et 4h à corriger au sprint suivant. 🔥

Dans du code que je construit en TDD, mon erreur de logique est détectée au prochain passage des tests, dans 5 minutes.🧯

Appliquée à bon escient dans le bon contexte, TDD constitue un plateau.

Une “plateforme” apparaît lorsque plusieurs pratiques se renforcent mutuellement dans un état de l’art, i.e une pratique élimine un obstacle qui empêchait le renforcement d’une autre pratique, et vice versa. 🔄

Par exemple le pair programming (ou à défaut la relecture de code) renforce ma pratique naissante de TDD dans la mesure où mon binôme peut m’aider à détecter et reprendre les gestes qui me sortent du cycle red-green-refactor 🚦

En retour TDD aide à produire du code fiable, ce qui rend les sessions de PP plus intéressantes : on y travaille le design au lieu de corriger des bugs. 📐

TDD + PP forment une plateforme. 🌉

Andrea Chiou à propos d’une équipe se créant une plateforme, tu posais cette question très directe :

❓ Si l’on te demandait de l’aide, quel serait ton engagement ?

Chaque contexte est différent. Une promesse très réaliste dans un contexte, peut devenir déraisonnable dans un autre contexte, et dans un autre, insignifiante. 😅

Néanmoins, pour aider une équipe à se créer des plateformes, je pense qu’il faut chercher à s’engager comme suit :

  • avant tout enquêter sur l’état de l’art existant pour l’équipe dans son contexte 🎤

  • aider l’équipe à identifier des procédés standards qu’elle a pu adapter et/ou renommer 🔎

  • ne pas injecter dans cette enquête nos propres standards, nos préférences ou nos dogmes 🤫

  • apprendre de l’équipe ce qui fonctionne pour elle, et ce qu’elle souhaiterait améliorer en priorité 🪜

  • ne pas passer sous silence une incohérence, une contradiction ou un conflit possible dans l’état de l’art 🤔

  • évaluer et aider à évaluer des décisions passées sans juger leurs auteurs 🚯

  • faire une appréciation critique de la situation, et une appréciation généreuse des personnes qui vivent cette situation 🦒

  • ne pas douter de l’équipe ni de sa capacité à améliorer son état de l’art 💪

  • proposer des expérimentations et non des changements ou des transformations 🗺🪜🧯

  • se rappeler que l’équipe = [Technique + Métier + Management] 🤝 🤝 🤝

  • cultiver une curiosité insatiable pour la façon dont les personnes peuvent résoudre des problèmes complexes ensemble 🌃🛰🌉

publié sur LinkedIn le 31/03/2023