Фича флаги
Фича-флаг (ФФ, фича-тогл) - кусочек кода, if-else условие, которое запускает параллельные сценарии приложения. Один сценарий (if) - пускает пользователя в новую фичу, другой (else) - прячет ее, запуская старый флоу.
Зачем нужны ФФ
ФФ значительно упращают работу с релизом – выкатывать, откатывать отдельные фичи или целые юзер флоу теперь можно в один клик.
При этом не нужно звать программиста - если пользуешься сервисами для ФФ (о них ниже), это может сделать продакт в простой админке. Это супер удобно, когда что-то пошло не так и пользователи сыпят гневные отзывы в стор и надо быстро откатиться.
Как это работает
Пока фича пилится, программист потихоньку выливает ее в продакшен. Сделал экран - вылил. Сделал кусок логики - вылил. Если в этот момент фича закрыта тоглом, то пользователи ее не видят, но при этом код уже вмерджен в мастер. А значит программистам не нужно постоянно решать конфликты между ветками, а тестировать можно прямо в боевой среде!
Так, кусочки фичи уезжают на прод, пока вся она не будет готова. В какой-то момент продакт буквально дергает рубильник и пользователи видят новую фичу.
Такой подход позволяет избежать одного крупного релиза, которые часто что-нибудь ломают, разбивая поставку на много маленьких. А если что-то все же сломалось, рубильник легко дернуть обратно.
Кому нужны ФФ
Пока продукт маленький, вам скорее всего не нужны ФФ. Их дорого разрабатывать и поддерживать, а продакт все равно катит эксперименты сразу на всех пользователей.
Когда продукт большой, продактов уже несколько и запускать эксперименты нужно как-то в параллель, желательно, чтобы один не влиял на другой. Значит, нужно разделять аудиторию между экспериментами, и это как раз то, что умеют сервисы ФФ.
Если думаете о том, что пора внедрять ФФ, вот несколько популярных сервисов: Unleash, LaunchDarkly, Optimizely, Statsig. Не уверен, кто из них еще работает в СНГ, если знаете другие топовые - напишите в комменты.
Если глубже погрузиться в тему тогглов, вот две хорошие статьи: статья_1, статья_2.
Фича-флаг (ФФ, фича-тогл) - кусочек кода, if-else условие, которое запускает параллельные сценарии приложения. Один сценарий (if) - пускает пользователя в новую фичу, другой (else) - прячет ее, запуская старый флоу.
Зачем нужны ФФ
ФФ значительно упращают работу с релизом – выкатывать, откатывать отдельные фичи или целые юзер флоу теперь можно в один клик.
При этом не нужно звать программиста - если пользуешься сервисами для ФФ (о них ниже), это может сделать продакт в простой админке. Это супер удобно, когда что-то пошло не так и пользователи сыпят гневные отзывы в стор и надо быстро откатиться.
Как это работает
Пока фича пилится, программист потихоньку выливает ее в продакшен. Сделал экран - вылил. Сделал кусок логики - вылил. Если в этот момент фича закрыта тоглом, то пользователи ее не видят, но при этом код уже вмерджен в мастер. А значит программистам не нужно постоянно решать конфликты между ветками, а тестировать можно прямо в боевой среде!
Так, кусочки фичи уезжают на прод, пока вся она не будет готова. В какой-то момент продакт буквально дергает рубильник и пользователи видят новую фичу.
Такой подход позволяет избежать одного крупного релиза, которые часто что-нибудь ломают, разбивая поставку на много маленьких. А если что-то все же сломалось, рубильник легко дернуть обратно.
Кому нужны ФФ
Пока продукт маленький, вам скорее всего не нужны ФФ. Их дорого разрабатывать и поддерживать, а продакт все равно катит эксперименты сразу на всех пользователей.
Когда продукт большой, продактов уже несколько и запускать эксперименты нужно как-то в параллель, желательно, чтобы один не влиял на другой. Значит, нужно разделять аудиторию между экспериментами, и это как раз то, что умеют сервисы ФФ.
Если думаете о том, что пора внедрять ФФ, вот несколько популярных сервисов: Unleash, LaunchDarkly, Optimizely, Statsig. Не уверен, кто из них еще работает в СНГ, если знаете другие топовые - напишите в комменты.
Если глубже погрузиться в тему тогглов, вот две хорошие статьи: статья_1, статья_2.