Feature flag come infrastruttura di engineering
· 7 min di lettura
I flag non sono hack temporanei. Sono il modo in cui i team moderni separano il deploy dal rilascio.
Il deploy deve essere noioso
Spedire codice in produzione ed esporre una funzionalità agli utenti sono decisioni diverse. I feature flag permettono di fare merge in continuo controllando il raggio d’impatto. Combinati con l’osservabilità, trasformano i rilasci in esperimenti reversibili piuttosto che in eventi binari.
Funziona solo se i flag sono trattati come infrastruttura: nominati chiaramente, di proprietà di un team, con default sicuri e rimovibili secondo un calendario.
Progetta per l’operabilità
Ogni flag ha bisogno di un default per quando il servizio di gestione non è disponibile. I percorsi critici devono fallire chiusi o aperti intenzionalmente, mai a caso. Le regole di targeting devono essere testabili e auditabili, soprattutto per clienti enterprise e workflow regolamentati.
Evita di avvolgere comportamenti non correlati in un solo flag. Flag grossolani creano cleanup aggrovigliati. Flag fini creano costi di testing combinatorio. Raggruppa per capability visibile all’utente.
- Registra chi ha cambiato un flag e perché
- Imposta date di rimozione quando i flag vengono creati
- Tieni la valutazione dei flag fuori dai tight loop quando possibile
- Testa sia i percorsi abilitati sia quelli disabilitati
Gli esperimenti hanno bisogno di igiene
Quando i flag alimentano esperimenti, definisci ipotesi, metrica primaria e criteri di fine prima del lancio. Non lasciare esperimenti a metà in esecuzione indefinita; inquinano l’analytics e aumentano il carico cognitivo.
Segmenta con attenzione. Esperimenti sovrapposti sullo stesso journey possono invalidare le conclusioni e creare esperienze utente confuse.
Il cleanup fa parte della delivery
Un flag che sopravvive a lungo dopo il rilascio completo di una funzionalità diventa configurazione morta e branching nascosto. Pianifica il cleanup con la stessa serietà del lancio. Elimina i percorsi inutilizzati così il codebase riflette la realtà.
I team maturi vincono con i flag non perché hanno più toggle, ma perché possono rilasciare in sicurezza e lasciare il sistema più semplice dopo.
Pubblicato il 14 febbraio 2025 da Berktug Berke Ates.