Ein gutes Beispiel für das, wonach ich fragen möchte, wäre die neue Timeline-Funktion von Facebook. Am Anfang hatten nur einige wenige Zugriff auf die Zeitleiste. Als sich die Funktionsweise der Funktion verfestigte und Fehler darin behoben wurden, wurde zusätzlichen Benutzern der Zugriff auf die Funktion gewährt. Zu einem späteren Zeitpunkt wurde einer großen Gruppe von Benutzern Zugriff auf die Funktion gewährt, und jetzt ist sie eine allgemeine Funktion für alle Benutzer. Wie verwaltet ein Entwicklungsteam diese Art der Einführung von Funktionen?
Ich habe mit der Idee gespielt, Konfigurationseinstellungen zu verwenden, um den Zugriff selektiv zu steuern, wenn sich etwas im Test oder in der Produktion befindet, und zwar über eine Konfigurationsdatei und bedingte if-Anweisungen im Code. Obwohl dies für einfache Funktionen in Ordnung ist, glaube ich, dass es unüberschaubar werden würde, wenn wir versuchen würden, dies in einem größeren Funktionsumfang zu implementieren.
Was wäre der beste Weg, um Feature-Rollouts auf diese Weise zu verwalten?