Un buen ejemplo de lo que estoy tratando de preguntar sería la nueva función de línea de tiempo de Facebook. Al principio, solo unos pocos seleccionados tenían acceso a la línea de tiempo. A medida que la función se solidificó en su funcionamiento y se corrigieron los errores, se permitió a los usuarios adicionales acceder a la función. En una fecha posterior, a un gran grupo de usuarios se les permitió acceder a la función y ahora, es una función general para todos los usuarios. ¿Cómo gestiona un equipo de desarrollo este tipo de despliegue de características?
He jugado con la idea de usar los ajustes de configuración para controlar selectivamente el acceso si algo está en prueba o en producción a través de un archivo de configuración y condicional si las declaraciones en el código. Ahora, aunque esto está bien para funciones simples, creo que si intentamos implementar esto en un conjunto de características más grande, sería inmanejable.
¿Cuál sería la mejor manera de gestionar el despliegue de funciones de esta manera?