Продуктовое управлениеКонцепцияИнструмент

Feature Flag (флаг функциональности)

Механизм включения и выключения функций без выкладки нового кода: для постепенной раскатки, A/B-тестов и быстрого отката.

КРАТКО
Feature Flag, или флаг функциональности, — переключатель отдельной функции в коде, которым управляют без новой выкладки. Флаг разделяет выкладку и запуск: функцию раскатывают постепенно — на 5%, 25%, затем на 100% пользователей, — ставят на ней A/B-тесты и при проблемах мгновенно выключают. Из готовых сервисов чаще берут LaunchDarkly, GrowthBook и Split.io.
СИНОНИМЫ:Feature FlagFeature Toggleфлаг функциональностипереключатель функциифича-флаг

Флаги функциональности — обязательный инструмент непрерывной поставки. Без них каждый релиз остаётся событием с высоким риском: выкатили — и обратной дороги нет, кроме срочного отката всей сборки.

Типы флагов

  • Релизные — постепенная раскатка новой функции на растущую долю пользователей.
  • Экспериментальные — A/B-тесты и проверка гипотез.
  • Разрешающие — доступ к возможностям платных тарифов.
  • Аварийные — выключатель на случай сбоя или резкого роста нагрузки.
КОГДА ПРИМЕНЯТЬ
  • SaaS или веб-продукт с непрерывной поставкой
  • Частые релизы
КОГДА НЕ СТОИТ
  • Мобильное приложение: обновление проходит проверку в магазине приложений, поэтому пользы от флагов меньше
ПРИМЕР

Запуск новой функции: сначала её видят только сотрудники — около 1% аудитории, затем 5% пользователей, потом 25%, 50% и 100%. Если на 25% метрики проседают, функцию выключают одним переключателем — без отката кода и без срочного релиза.

КАК ИСПОЛЬЗОВАТЬ В SHTAB

Не оставляйте флаги в коде навсегда. Как только функция раскатана на всех, флаг нужно удалить: копящиеся переключатели превращают код в лабиринт условий, который никто не решается трогать. Заводите на удаление флага отдельную задачу в Shtab сразу при его создании и ставьте ей срок.

Попробовать бесплатно

Вопросы про «Feature Flag (флаг функциональности)»

Ветка живёт вне рабочей версии: пока код в ней, пользователи его не видят, а команда копит расхождение с основной веткой. С флагом наоборот — код уже в рабочей версии, но выключен. Поэтому подход Trunk Based Development вместе с флагами снимает главную боль долгоживущих веток: болезненные слияния и конфликты, которые всплывают в самый неподходящий момент.

Применяйте термины на практике

База знаний, задачи и цели — в одном сервисе. Бесплатно — без лимита по числу людей.