Stratégies Feature Flags | GitScrum
Maîtrisez les releases progressives avec feature flags. GitScrum réduit les risques et permet livraisons plus rapides avec déploiements contrôlés.
5 min de lecture
Les feature flags transforment le déploiement d'événements tout-ou-rien en déploiements contrôlés que vous pouvez ajuster en temps réel. GitScrum aide à suivre le statut des feature flags à travers les tâches, coordonner les releases protégées par flags et gérer le cycle de vie des flags de la création au nettoyage.
Fondamentaux des feature flags
Types de flags
CATÉGORIES DE FEATURE FLAGS :
┌─────────────────────────────────────────────────────────────┐
│ │
│ FLAGS DE RELEASE (temporaires) : │
│ But : Contrôler le déploiement de fonctionnalités │
│ Durée de vie : Jours à semaines │
│ Exemple : NEW_CHECKOUT_FLOW │
│ Retirer : Après déploiement 100% │
│ │
│ FLAGS D'EXPÉRIMENT (temporaires) : │
│ But : Tests A/B │
│ Durée de vie : Durée de l'expérience │
│ Exemple : PRICING_PAGE_VARIANT_B │
│ Retirer : Quand l'expérience se termine │
│ │
│ FLAGS OPS (longue durée) : │
│ But : Contrôle opérationnel │
│ Durée de vie : Permanente │
│ Exemple : ENABLE_RATE_LIMITING │
│ Retirer : Jamais (toggle on/off selon besoin) │
│ │
│ FLAGS DE PERMISSION (longue durée) : │
│ But : Contrôle d'accès aux fonctionnalités │
│ Durée de vie : Permanente │
│ Exemple : ENTERPRISE_ANALYTICS │
│ Retirer : Jamais (contrôle les droits) │
└─────────────────────────────────────────────────────────────┘
Cycle de vie des flags
CYCLE DE VIE DES FLAGS :
┌─────────────────────────────────────────────────────────────┐
│ │
│ CRÉER → DÉVELOPPER → DÉPLOYER → STABILISER → NETTOYER │
│ │
│ CRÉER : │
│ • Définir nom et type du flag │
│ • Documenter le but et propriétaire │
│ • Définir état initial (off) │
│ │
│ DÉVELOPPER : │
│ • Implémenter la feature derrière le flag │
│ • Tester avec flag on/off │
│ • Déployer en production (flag off) │
│ │
│ DÉPLOYER : │
│ • Activer pour interne → beta → % graduel │
│ • Surveiller métriques à chaque étape │
│ • Pause/rollback si problèmes │
│ │
│ STABILISER : │
│ • Atteindre déploiement 100% │
│ • Surveiller pendant 1-2 semaines │
│ • Confirmer que la feature est stable │
│ │
│ NETTOYER : │
│ • Retirer les checks de flag du code │
│ • Supprimer la configuration du flag │
│ • Mettre à jour la documentation │
└─────────────────────────────────────────────────────────────┘
Stratégies de déploiement
Déploiement progressif
PLAN DE DÉPLOIEMENT GRADUEL :
┌─────────────────────────────────────────────────────────────┐
│ Fonctionnalité : NEW_PAYMENT_FLOW │
├─────────────────────────────────────────────────────────────┤
│ │
│ ÉTAPE 1 : Interne (Jour 1) │
│ Cible : Employés de l'entreprise uniquement │
│ Durée : 2 jours │
│ Succès : Pas de bugs critiques │
│ │
│ ÉTAPE 2 : Beta (Jour 3) │
│ Cible : Utilisateurs beta inscrits (~500) │
│ Durée : 3 jours │
│ Succès : <1% taux d'erreur, feedback positif │
│ │
│ ÉTAPE 3 : 5% (Jour 6) │
│ Cible : 5% aléatoire des utilisateurs │
│ Durée : 2 jours │
│ Succès : Métriques stables vs contrôle │
│ │
│ ÉTAPE 4 : 25% (Jour 8) │
│ Cible : 25% aléatoire │
│ Durée : 3 jours │
│ Succès : Taux de conversion maintenu │
│ │
│ ÉTAPE 5 : 50% (Jour 11) │
│ Cible : 50% aléatoire │
│ Durée : 3 jours │
│ Succès : Métriques de performance OK │
│ │
│ ÉTAPE 6 : 100% (Jour 14) │
│ Cible : Tous les utilisateurs │
│ Durée : 7 jours de surveillance │
│ Succès : Prêt pour nettoyage │
└─────────────────────────────────────────────────────────────┘
Déploiement basé sur le risque
MATRICE DE DÉCISION DE DÉPLOIEMENT :
┌─────────────────────────────────────────────────────────────┐
│ │
│ RISQUE FEATURE │ STRATÉGIE │
│──────────────────┼──────────────────────────────────────────│
│ BAS │ Interne → 25% → 100% │
│ (ajustements UI) │ Déploiement 3 jours │
│ │ │
│ MOYEN │ Interne → Beta → 5% → 25% → 50% → 100% │
│ (nouvelles │ Déploiement 2 semaines │
│ features) │ │
│ │ │
│ ÉLEVÉ │ Interne → Beta → 1% → 5% → 10% → │
│ (paiements, │ 25% → 50% → 75% → 100% │
│ auth, données) │ Déploiement 4 semaines, surveillance │
│ │ extensive │
│ │ │
│ CRITIQUE │ Approbation manuelle à chaque étape │
│ (conformité) │ Sign-off stakeholder requis │
└─────────────────────────────────────────────────────────────┘