-
サマリー
あらすじ・解説
Cette semaine, le SAV de la Tech répond à la question de Fabien:
"Hello le Sav,
Tout d'abord, merci de produire ce podcast ; il est très chouette tant sur le fond que la forme.
Dans des épisodes précédents, vous avez parlé à plusieurs reprises de "guidelines de code" et des "bonnes pratiques". D'où proviennent ces guidelines que vous mentionnez, et comment vous en servez vous ?
Pourquoi cette question : Dans mon contexte, nous avons mis en place une solution pour expliciter nos pratiques et en discuter. Je cherche à confronter cette solution à d'autres pour l'affiner et la faire évoluer.
Mon contexte ; en tant que consultant externe, j'endosse un rôle de lead sur plusieurs équipes. Ces équipes doivent respecter des guidelines provenant de différences sources:
- Des normes technologies (langages, outils, frameworks) venant d'une équipe d'architectes
- Des "bonnes" pratiques (structure des projets java, indentation, convention de nommage, workflow git) venant d'un responsable des développeurs (à la fois manager et responsable du parc applicatif).
- Des nommages d'objets métiers, venant d'un catalogue de donnée, qui homogénéise du lexique au travers de la DSI
- Les "bonnes" pratiques issues des équipes elles-mêmes
À titre personnel, je ne suis pas en accord avec certaines de ces pratiques (les bonnes pratiques n'existent pas (sans contexte)), car je trouve qu'elles empêchent les équipes d'apprendre et de progresser.
La solution mise en place : discuter en équipe et tracer nos décisions. Lors d'une instance de partage régulière entre développeur·euses, chaque personne met sur la table les difficultés rencontrées lors de la production du code ou les désaccords exprimés lors des Code-Reviews. Nous prenons le temps de formaliser la pratique, avec son contexte et ce que nous voulons faire (à la manière d'un ADR), avant de voter par consensus sur l'exigence collective de celle-ci (un peu à la manière de cataloguer des technologies avec un Tech Radar).
Pour le moment, cela fonctionne bien. On a un artefact qui nous permet d'onboarder explicitement les nouvelles personnes ; il sert de source unique de guidelines pour notre contexte d'équipes. Cet artefact nous permet de "désobéir" à certaines guidelines imposées (ex: structure des package java, indentation du code), car nous avons argumenté, dans notre contexte, les raisons de notre désobéissance ; cela permet d'entamer une discussion pour (éventuellement) revoir les guildelines globales à la DSI, mais aussi cela permet d'ouvrir une expérimentation.
Voilà :)
Je suis preneur de vos lumières pour affiner cette solution."
Épisode enregistré en Décembre 2024.
Crédits musique: "Guess Again", provided by https://slip.stream