Aller au contenu

← Tous les projets

Feature Flag Showdown

Une journée de nettoyage chez Xref où toute l’équipe de développement a supprimé les feature flags obsolètes du code : 57 flags sur 66 et 331 fichiers nettoyés.

Le problème

Notre code chez Xref était rempli de feature flags qui avaient fait leur travail des mois plus tôt. Ils ralentissaient tout le monde et rendaient le code plus difficile à lire, et personne n’était chargé de les supprimer, alors ils s’accumulaient.

L’idée

Plutôt que de demander à chacun de nettoyer un peu quand il en avait le temps, nous avons consacré une journée entière à cette tâche. Le lundi 7 avril 2025, toute l’équipe de développement de nos deux bureaux, dans des fuseaux horaires différents, a pris la journée pour supprimer des flags.

Chacun avait deux rôles. En chasseur de primes, on supprimait les flags qui nous étaient attribués, et en adjoint, on relisait le travail d’un collègue. J’étais l’organisateur, ou shérif, de la journée. Nous y avons mis un thème western pour que ce soit un événement plutôt qu’une corvée.

Le déroulé

Avant la journée, j’ai aidé à préparer la liste des flags avec les dépôts et les fichiers concernés, et chaque dépôt a été confié à un binôme réparti entre les deux bureaux. Nous nous sommes retrouvés le vendredi précédent pour que chacun ait son environnement prêt et ses tests qui tournent.

Le jour J, nous avons commencé par une réunion de lancement, puis travaillé en petites pull requests, nous nous sommes relus rapidement et nous sommes passés à d’autres dépôts quand l’un était terminé. Rien n’est parti en production ce jour-là : le travail est resté sur l’environnement de développement, les testeurs ont vérifié chaque zone pendant les deux ou trois jours suivants, et les développeurs seniors ont déployé après validation de la recette.

Les règles qui sécurisaient le tout

Supprimer un flag ne suffit pas, nous avons donc vérifié le code autour, surtout quand plusieurs flags se trouvaient au même endroit, et mis à jour les tests qui en dépendaient sans le dire.

Nous nous sommes aussi mis d’accord sur une habitude : des pull requests petites et ciblées, idéalement un composant ou un fichier backend chacune, et jamais une pull request que l’on n’aurait pas plaisir à relire soi-même.

Le résultat

Nous avons nettoyé 57 des 66 flags, soit 331 fichiers nettoyés en une seule journée.

Les flags que nous n’avons pas supprimés étaient les plus gros, l’un d’eux touchant plus de 150 fichiers. Nous les avons laissés pour le prochain nettoyage plutôt que de les bâcler.

Ce que j’en retiens

Une corvée dont personne n’a la charge devient faisable quand elle a une date, une échéance et un peu de plaisir. De petites pull requests relues valent mieux qu’une grosse, et un plan qui dit qui relit qui fait tourner la journée presque tout seul.

Fiche

Période
04/2025
Rôle
Organisateur / Shérif
Statut
Livré
Stack
Feature flags · Pull requests · Code review