How to Discuss Feature Gates Professionally

Вивчайте словниковий запас і фрази, які використовуються командами розробників і інженерів під час реалізації, обговорення та керування прапорцями можливостей і воротами можливостей.

Функціональні ворота (також відомі як функціональні прапорці або функціональні перемикачі) є технікою розгортання, яка дозволяє командам вмикати або вимикати функції в виробництві без розгортання нового коду. Вони є фундаментальними для сучасних практик постійної доставки і обговорюються на інженерних зустрічах, оглядах продуктів і сесіях планування випуску. Знаючи, як ясно говорити про ворота можливостей англійською, ви зможете ефективніше брати участь у цих розмовах.

Ключовий словник

** Прапорець можливості ** Прапорець можливості — це умова у коді, яка визначає, чи буде активована певна можливість, або ні, на основі налаштувань, які можна змінити під час виконання без розгортання. Терміни «функція прапор», «функція перемикач», і «функція ворота» часто використовуються взаємозамінно.

  • Приклад: « Ми запакували новий поток вилучення у прапорець можливості, щоб ми могли поступово розгортати його без повного випуску. » *

Розгорнути Розгортання — це процес поступового увімкнення можливості для зростаючого відсотка користувачів або обсягу трафіку. Поступове розгортання дозволяє командам стежити за проблемами і обмежувати радіус вибуху, якщо виникнуть проблеми. Приклад: «Ми розпочали розгортання на 1% користувачів, збільшили до 10% після 24 годин без проблем і плануємо досягти 100% до кінця тижня.»

** Канарський випуск ** Канарський випуск — це техніка, за якої нова функція або версія доступна невеликій підмірі користувачів перед більш широким випуском. Назва походить від «канареї у вугільній шахті» — раннє попередження про проблеми.

  • Приклад: « Ми робимо випуск канарки для переробленої панелі приладів, показуючи її 5% користувачів, поки ми стежимо за кількістю помилок і відгуками користувачів. » *

Кілл-схема Перемикач зупинки — це прапорець можливості, який можна використовувати для негайного вимикання можливості у виробничому середовищі без розгортання. Це мережа безпеки, яка дозволяє командам перевозити з впевненістю.

  • Приклад: «Ми завжди поставляємо основні функції з аварійним вимикачем. Якщо щось не так, ми можемо вимкнути його за кілька секунд, а не повертати розгортання назад. ”*

** Правило прицілювання ** Правило призначення визначає, які користувачі, сеанси або запити мають отримати функціональність, коли вона буде частково розгорнута. Правила можна створювати на основі атрибутів користувача, розташування, типу облікового запису або будь- якого іншого відповідного параметра. Приклад: «Ми встановили правило призначення, щоб увімкнути цю функцію тільки для користувачів нашого бета-проекту та внутрішніх співробітників.»

Поширені сценарії, де використовується ця мова

** Під час перегляду спринту або зустрічі з випуском: ** “Новий алгоритм пошуку знаходиться за функціональним прапорцем. На даний момент ми на 15% готові до виробництва. Пока мы видим 12% улучшение в количестве кликов и незначительное увеличение количества ошибок. Я пропоную, щоб ми прискорили до 50% завтра»

В звонке по инциденту: “Ми бачимо підвищений рівень помилок в платіжному сервісі. Я перевірю, чи це пов’язано з розгортанням функції флагштока, яку ми розпочали сьогодні вранці. Якщо так, я використаю Kill Switch, щоб негайно відключити його, поки ми розслідуємо»

** Під час пояснення прапорців можливостей менеджеру продукту: ** «Функціональний прапорець означає, що ми можемо об’єднати код в головну гілку і розгорнути його в виробництво, не даючи нікому його бачити. Потім ми контролюємо, хто бачить функцію окремо, не торкаючись коду. Це дає нам набагато більшу гнучкість, ніж традиційне управління випуском»

** У перегляді запиту на звантаження: ** “Я бачу, що ця функція не за прапором. Для зміни такого розміру, я рекомендую додати прапорець функції, щоб ми могли поступово розгортати його і мати перемикач знищення, якщо це потрібно»

Корисні фрази для обговорення функцій воріт

  • «Функція є живою у виробництві, але зачинена за прапором — тільки внутрішні користувачі можуть побачити її»
  • “Ми зараз на 20% розгорнуті. Я збільшу до 50%, як тільки ми матимемо 24 години моніторингу»
  • Прапор має перемикач знищення — якщо ми побачимо якісь проблеми, ми можемо відключити функцію миттєво
  • Ми можемо використовувати правила прицілювання, щоб ввімкнути це для вашої команди спочатку, поки ми збираємо відгуки. ”
  • «Прапор налаштований в нашій платформі управління функціями — не потрібно змінювати код, щоб оновити його»
  • «Всі нові функції повинні бути відправлені за прапором, поки ми не впевнені в їх стабільності»
  • «Канарська когорта показує трохи більший рівень помилок — я затримаю там розгортання і розслідую»
  • «Якщо функція досягне 100% розгортання, ми повинні прибрати прапорець і вилучити умовний з кодової бази.»
  • «Цей прапор був на 100% протягом трьох місяців — це технічний борг зараз і повинен бути видалений в наступному спринті»
  • «Ми встановили правило таргетування, щоб включати тільки користувачів у Великій Британії для цього початкового розгортання»

Флаг Гігієни і Технічного Боргу

Прапорці можливостей накопичуються з часом і стають технічним боргом, якщо ними не керувати. Застарілі прапорці — ті, які були на 100% або 0% протягом тривалого часу — повинні бути вилучені з кодової бази. Обговорення цього чітко є важливим інженерним комунікаційним вмінням.

«Ми маємо 47 флагів функцій в коді. З них 12 були на 100% розгорнуті більше трьох місяців. Це слід розглядати як технічний борг - умови повинні бути видалені, а функція повинна бути вбудована назавжди. Я створю квитки для кожного з них і ми можемо запланувати їх протягом наступних двох спринтів»

Під час написання квитка для вилучення прапора, будьте конкретними: «Видалити прапорець функції new_search_algorithm. Прапор був на 100% з березня. Вилучити умовне, оновити тести, і вилучити прапорець з платформи керування функціями. “

Практичні рекомендації

Подумайте про функцію, яка нещодавно була введена в продукті, яким ви користуєтеся або над яким працюєте. Напишіть план розгортання 200 слів англійською мовою для цієї можливості, так, ніби ви представляєте її у перегляді спринту. У цій частині слід вказати: що це за функціональність, з яким відсотком ви розпочнете розгортання, за якими параметрами ви будете стежити, які умови призведуть до припинення або скасування розгортання, і скільки часу, за вашим бажанням, триватиме повне розгортання. Використовуйте принаймні чотири слова з цього списку.

Розширення вашого словника: точність у дискусіях Feature Gate

Раніше ми описали основні принципи професійного спілкування щодо функціональних воріт — формування їх як стратегічних інструментів, зосередження на впливі і підтримання спільного підходу. Однак, для розробників, які будують свою вправність англійської мови в технічному контексті, навігація нюансами цієї теми може бути особливо складною. Це не просто про те, щоб сказати «ворота відкриті», але передати * чому * вони відкриті, їх запланований ефект, і як це збігається з більш широкими цілями продукту. Цей розділ присвячено використанню точнішого словника і фразеології, щоб ваші внески були ясними, дійсними і демонстрували глибше розуміння процесу.

Однією з поширених пасток для носіїв мови, яка не є рідною, є використання надмірно буквальних перекладів. Наприклад, сказати «Ці ворота повинні бути ввімкнені» може звучати цілком прийнятно в деяких контекстах, але йому бракує професійної ваги, необхідної при обговоренні стратегічних рішень. Замість цього, розгляньте такі фрази, як « Ми використовуємо цей шлюз, щоб визначити пріоритет зворотнього зв’ язку користувача щодо нового інтерфейсу користувача » або « Активація цього шлюз дозволить нам виміряти вплив зміни перед повним розгортанням ». Зауважте, як ці параметри негайно надають контекст і обґрунтування — ключові елементи ефективного спілкування. Аналогічно, уникайте простого зауваження « Я відкрив браму ». Досконалішим підходом буде: « Я активував браму для тестових цілей, що дозволить нам зібрати початкові відповіді користувачів »

Іншою областю, що потребує ретельної уваги, є опис * стану * функціонального ворота. Замість типового значення « ворота відкрито/ закрито », скористайтеся такими термінами, як « забезпечено », « неактивно » або « увімкнено ». Коли ви пояснюєте причину прийняття рішення, використовуйте такі фрази, як « для зменшення ризику » або « для перевірки продуктивності ». Наприклад, у розмові Slack про оновлення PR, ви можете відповісти на запитання колеги: «Ми забезпечили ворота тільки для бета-користувачів - це запобігає будь-яким перешкодам для нашої основної бази користувачів, поки ми збираємо дані про використання в реальному світі». Це демонструє обізнаність про потенційні наслідки і проактивне управління ризиками. Не бійтеся просити про пояснення, якщо термінологія неясна; набагато краще шукати пояснення, ніж потенційно неправильно інтерпретувати критичну інструкцію.

Нарешті, пам’ятайте про силу формування вашого спілкування навколо результатів. Замість того, щоб просто стверджувати, що ви робите з воротами - “Я встановлюю цей прапорець” - зосередьтеся на бажаному результаті: “Встановлення цього прапора дозволить нам A / B тестувати різні потоки впровадження і визначити найефективніший шлях для нових користувачів.” Цей зсув у перспективі демонструє розуміння того, як функціональні ворота сприяють загальній стратегії продукту, підвищуючи ваше спілкування з технічної задачі, орієнтованої на стратегічний внесок. Практикуючи ці фрази — і активно слухаючи, як рідні носії використовують їх — ви значно поліпшити свою здатність впевнено і ефективно брати участь у обговореннях функціональних можливостей у вашій команді.

Поширені запитання

Про що ця стаття "How to Discuss Feature Gates Professionally"?

Вивчайте словниковий запас і фрази, які використовуються командами розробників і інженерів під час реалізації, обговорення та керування прапорцями можливостей і воротами можливостей.

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "How to Discuss Feature Gates Professionally"?

Приблизно 8 min.