Хороший пример того, о чем я пытаюсь спросить, - это новая функция на Facebook. В начале, только немногие избранные имели доступ к временной шкале. По мере того, как функция стала более понятной в том, как она работала, и в ней были исправлены ошибки, дополнительные пользователи получили доступ к этой функции. Позднее большая группа пользователей получила доступ к этой функции, и теперь она является общей для всех пользователей. Как команда разработчиков управляет развертыванием этого типа функций?
Я поиграл с идеей использования параметров конфигурации для выборочного управления доступом, если что-то находится в процессе тестирования или в производстве, через файл конфигурации и условные операторы if в коде. Теперь, хотя это нормально для простых функций, я считаю, что если бы мы попытались реализовать это в более широком наборе функций, это стало бы неуправляемым.
Каков наилучший способ управления развертыванием функций таким способом?