Senza ripetere il contenuto di https://martinfowler.com/articles/feature-toggles.html , dal momento che è una straordinaria spiegazione approfondita su quali sono i toggle delle flag delle caratteristiche. Mi concentrerò solo sugli aspetti DevOps.
Secondo il Rapporto sullo stato di DevOps del 2014 preparato da PuppetLabs, ci sono quattro parametri principali per misurare le prestazioni IT:
- Tempi di consegna per modifiche
- Frequenza di rilascio
- È ora di ripristinare il servizio
- Cambia tasso di fallimento
Ciò contribuisce anche alla performance organizzativa complessiva. Quindi significa che se il tuo IT sta andando alla grande su queste metriche, la tua linea di fondo ottiene più $$$.
La consegna continua è abilitata da queste metriche ed è stata descritta in modo approfondito nel libro Consegna continua: rilasci di software affidabili tramite Build, Test e Deployment Automation di Jez Humble.
Nel contesto della consegna continua , esiste un'importante distinzione che la differenzia dalla distribuzione continua . E questa è la decisione quando fare una versione di funzionalità (per i clienti).
Mantenendo piccoli cambiamenti nelle dimensioni, e distribuzione (copiando codice) caratteristiche mezze ai sistemi di produzione con una bandiera funzione attivata off permette di abbreviare il tempo di piombo per modifiche .
Quando le funzionalità sono finalmente finite, fare una liberatoria è una decisione lasciata al business. Forse una versione di una nuova funzionalità deve essere allineata con un po 'di marketing o una versione in un'altra parte dell'azienda come una funzionalità dell'app mobile.
Le funzioni possono essere rilasciate utilizzando gli esperimenti A / B solo a una parte della base di clienti o a persone specifiche o anche direttamente alla disponibilità generale (GA). Sebbene il rilascio su GA sia spesso eseguito solo dopo che vi è abbastanza certezza che la funzionalità funzioni come previsto. Si potrebbe sostenere che questo in effetti influisce sulla frequenza di rilascio su un valore più elevato.
Questo disaccoppiamento tra rilascio e distribuzione è quasi impossibile da ottenere senza gli interruttori di flag delle caratteristiche.
Naturalmente, quando non è richiesta alcuna implementazione per attivare una funzione fuori , quindi il tempo di ripristino del servizio viene abbassata sostanzialmente.
Inoltre, utilizzando i flag di funzionalità che rilasciano funzionalità a una piccola porzione della base di clienti, è possibile migliorare significativamente anche la metrica della percentuale di errori di modifica .
Quindi un semplice meccanismo chiamato funzione flag toggles consente prestazioni IT molto migliori e, a sua volta, migliora le prestazioni organizzative in generale.
Un ottimo esempio di come ciò avvenga nelle compagnie reali può essere trovato su Flickr (sui primi post pubblici sull'argomento), e su Etsy . Ma molti altri hanno adottato la pratica e ne hanno parlato a lungo, ad esempio la famosa cultura ingegneristica dei video di Spotify .
Etsy sta mostrando il suo strumento interno per gestire i flag delle funzionalità , chiamati Catapult, in più presentazioni trovate sul Web. E Intuit rilascia uno strumento open source chiamato Wasabi che aiuta a gestire i flag delle funzionalità.