Спланируй релиз {{feature}}.
1. Уровень риска
| Риск | Признаки | Стратегия |
|---|---|---|
| Низкий | Изолированная фича, без миграций | Big-bang |
| Средний | Затрагивает > 1 модуля | Gradual (10% → 50% → 100%) |
| Высокий | Миграция БД, замена основного флоу | Soft launch + feature flag |
2. Feature flag
Для всего что не trivial:
- Включаешь только для % трафика
- Или только для определённых юзеров (internal → beta → all)
- Outage? Выключаешь без деплоя
if (flags.newCheckout && shouldEnableFor(user)) {
return <NewCheckout />;
}
return <OldCheckout />;
3. План раскатки
День 0: Deploy за flag, 0% включено
День 1-3: Internal team (dogfood)
День 4: 1% юзеров
День 7: 10%
День 14: 50%
День 21: 100%
День 30: Удалить старый код / flag
На каждом этапе — проверка метрик. Откат если что-то не так.
4. Метрики
Health (что не должно ухудшиться)
- 5xx rate
- p95 latency
- Crash rate (mobile)
- Conversion rate в воронке
Success (что должно улучшиться)
- Target metric (одна!) — то ради чего делалась фича
Если health ухудшается — откат. Если success не двигается через 2 недели — реши: продолжать рамповать или нет.
5. Коммуникации
Внутренние
- 1-2 недели до — Slack-анонс команде
- День релиза — в #releases / engineering
- После 100% — итоги и метрики
Внешние
- Если breaking для API — за 30+ дней + changelog
- Если новая фича — блог-пост / email / in-app
- Если invisible изменение — ничего
6. Документация
До запуска готово:
- Help center статья
- Changelog
- API-документация (если применимо)
- Internal runbook для саппорта
7. Поддержка
- Команда саппорта знает что выходит
- Подготовлены шаблоны ответов на типовые вопросы
- Кто on-call в день релиза?
8. План отката
Точно проговори:
- Кто принимает решение (один человек, не комитет)
- При каких метриках откатываем (
5xx > 0.5% на 5 минут) - Как откатывать (flag off / git revert / DB rollback)
- Сколько займёт откат
- Кому сообщить
9. Post-launch
Через 2 недели:
- Достигла ли метрика цели?
- Жалобы / запросы поддержки
- Сюрпризы (баги, edge cases)
- Что улучшить в следующий релиз
Чек-лист в день релиза
- Feature flag готов
- Метрики дашборд открыт
- On-call есть
- Saудпорт предупреждён
- Документация опубликована
- Rollback rehearsed
- Анонс готов (но не опубликован пока стабильно)
Анти-паттерны
- ❌ "Запустим в пятницу вечером" — починить будет некому
- ❌ Один большой релиз вместо постепенного
- ❌ Нет метрик отслеживания
- ❌ Откат не подготовлен
- ❌ Команда узнаёт о релизе из чужого Slack-канала
Похожие промты
site / deploy
Canary rollout: % трафика и метрики
Canary-релиз: распределение трафика, метрики для алерта, длительность фаз, escalation, триггеры отката.
deploycanaryrollout
Открыть
Продвинутый30-60 мин
design / ux
Декомпозиция фичи в user stories
Разбить фичу на маленькие истории формата «As a … I want … so that …» с acceptance criteria.
uxuser-storiesproduct
Открыть
Начальный15-30 мин
code / architecture
Архитектура feature flags
Типы флагов (release/experiment/ops/permission), хранение, оценка, тех-долг и удаление.
architecturefeature-flagsrelease
Открыть
Средний30-60 мин