Un bon exemple de ce que j'essaie de demander serait la nouvelle fonctionnalité Timeline de Facebook. Au début, seuls quelques privilégiés étaient autorisés à accéder à la chronologie. Au fur et à mesure que la fonctionnalité se solidifiait dans son fonctionnement et que des bogues y étaient corrigés, des utilisateurs supplémentaires étaient autorisés à accéder à la fonctionnalité. À une date ultérieure, un grand groupe d'utilisateurs ont été autorisés à accéder à la fonctionnalité et maintenant, c'est une fonctionnalité générale pour tous les utilisateurs. Comment une équipe de développement gère-t-elle ce type de fonctionnalité?
J'ai joué avec l'idée d'utiliser des paramètres de configuration pour contrôler sélectivement l'accès si quelque chose est en test ou en production via un fichier de configuration et des instructions if conditionnelles dans le code. Maintenant, bien que cela soit acceptable pour des fonctionnalités simples, je pense que si nous essayions de l'implémenter dans un ensemble de fonctionnalités plus large, cela deviendrait ingérable.
Quelle serait la meilleure façon de gérer les déploiements de fonctionnalités de cette manière?