Un buon esempio di ciò che sto cercando di chiedere potrebbe essere la nuova funzione Timeline di Facebook. All'inizio, solo pochi eletti potevano accedere alla sequenza temporale. Man mano che la funzionalità si rafforzava nel modo in cui funzionava e venivano corretti dei bug, gli utenti aggiuntivi potevano accedere alla funzione. In un secondo momento, a un folto gruppo di utenti è stato consentito l'accesso alla funzione e ora è una funzionalità generale per tutti gli utenti. In che modo un team di sviluppo gestisce questo tipo di funzionalità?
Ho giocato con l'idea di utilizzare le impostazioni di configurazione per controllare selettivamente l'accesso se qualcosa è in fase di test o in produzione tramite un file di configurazione e se le istruzioni nel codice sono condizionali. Ora, mentre questo va bene per funzionalità semplici, credo che se provassimo a implementarlo in un set di funzionalità più ampio, diventerebbe ingestibile.
Quale sarebbe il modo migliore di gestire le funzioni di roll-out in questo modo?