Что такое флаги функций? Обзор менеджера по продукту
17 апреля 2022 г.Менеджеры по продукту постоянно ищут способы повысить ценность продукта и предоставить клиентам новые возможности. Эта непрерывная поставка или непрерывное развертывание, если хотите, влечет за собой возможность отправлять обновления продукта клиентам, ожидая, что новая функциональность будет работать нормально. В противном случае он отправляется обратно в разработку для исправления.
Флаги функций дают менеджерам по продукту возможность экспериментировать с функциями. Это позволяет постепенное развертывание и позволяет им упростить, какая аудитория имеет доступ к какой функции.
В этой статье я познакомлю вас с общей концепцией того, что такое флаги функций и почему инженеры и продакт-менеджеры считают их ценными.
Что такое флаги функций?
Как часто определяется, флаг функции, часто называемый переключателем функции, представляет собой механизм, который позволяет включать и выключать определенные функции во время выполнения без развертывания кода.
Например, в Meta [ранее Facebook] флаги функций играют большую роль. Вы замечали, как когда Meta объявляет о новых возможностях, они запускают тесты для небольшого процента людей, а затем постепенно расширяют их для большего числа людей по всему миру? Эта сегментация аудитории позволяет компании сначала проверить подмножество пользователей, поскольку было бы очень рискованно запускать экспериментальные функции для своих 3,6 миллиардов активных пользователей в месяц.
Распространенные случаи использования флагов функций
Флаги функций позволяют командам развертывать новую функцию в рабочей среде, когда это возможно. Давайте рассмотрим некоторые варианты использования:
Тестирование в рабочей среде с флагами функций
Речь идет о тестировании ваших функций в среде, в которой они будут жить. Некоторых QA-инженеров и менеджеров по продуктам, включая меня, тестирование в производственной среде (TiP) может пугать. Это как ходить по яичной скорлупе. По понятным причинам TiP может создавать утечки, которые раскрывают уязвимости для реальных пользователей или дестабилизируют их работу.
С помощью флагов функций можно снизить возможные риски, связанные с тестированием в рабочей среде, поскольку код может быть развернут за ним, скрыт от клиентов, а затем развернут в канареечных выпусках. Это дает командам разработчиков и разработчиков детальный контроль над запуском новых функций с меньшим риском.
На самом деле имеет смысл не только хотеть знать, что ваши функции работают на стадии разработки, но и в производственной среде, а значит, и в производственной среде. Управление функциями помогает вам безопасно предоставлять свои функции и продукты.
Управление правами с помощью флагов функций
Программное обеспечение как услуга (SaaS) обычно предлагает клиентам различные планы подписки. Бесплатные планы имеют базовые функции, в то время как платные планы имеют различные первоклассные наборы функций, которые составляют планы.
Использование флагов функций для ценообразования, чтобы указать, какой план получает какие функции, помогает процессу управления этими правами.
Использование флагов функций для экспериментов
Это включает в себя запуск разных версий одной и той же функции, чтобы увидеть, какая из них работает лучше всего. Вы реализуете такие методы, как A/B-тестирование и сегментация по развернутым функциям [A/B-тестирование в производстве].
Экспериментирование с функциями позволяет вам сравнивать функции, чтобы получить представление о том, какая из них имеет наилучшую реализацию или предпочтительнее. Кроме того, вы можете написать гипотезу для функции, настроить эксперимент для ее запуска, измерить ее производительность, а затем запустить ее после проверки. Флаги функций помогают вносить изменения, которые нужно протестировать. Затем привязка метрики к флагу функции дает эксперименту цель.
В заключение
Вся идея флагов функций заключается в снижении риска, предоставляя быстрый способ включения или выключения функций даже после развертывания вашего кода. Настоятельно рекомендуется использовать флаги функций с осторожностью. Держите их недолговечными в небольшом количестве, чтобы избежать сложности.
Часто просматривайте флажки, чтобы убедиться, что важные из них включены или выключены соответствующим образом, поскольку неправильное их использование может иметь плохие последствия, как показано в этом примере из реальной жизни: компания с активами почти в 400 миллионов долларов обанкротилась за 45 минут из-за неудачное развертывание. Команда переназначила флаг функции, используемый старым кодом, чтобы попытаться сдержать операционный риск.
Теперь, когда вы рассмотрели концепции и соображения по поводу флагов функций, стоит отметить, что существует множество платформ для пометок функций, которые помогают автоматизировать управление флагами функций: split.io, LaunchDarkly, CloudBees и т. д.
Знаете человека, не являющегося техническим специалистом, который пытается проникнуть в сферу управления продуктом? Вы можете поделиться моей предыдущей статьей на тему [Обязательные технические концепции для продакт-менеджеров: ваш путеводитель по разуму разработчика] (https://hackernoon.com/explore-must-know-technical-concepts- для продакт-менеджеров-ваш-путеводитель-по-разуму-разработчика) вместе с ними. Спасибо, что поделился!
Свяжитесь со мной на LinkedIn.
Оригинал