S — Situation
После релизов регулярно снижается стабильность работы приложения. Показатели Crash-free users и Crash-free sessions по данным Firebase Crashlytics опускаются ниже допустимого допустимого порога, после чего App store и Google Play начинают блокировать органическое продвижение приложения.
T — Task
Организовать процесс релизов таким образом, чтобы минимизировать вероятность массовых сбоев после выхода обновлений, обеспечить стабильную работу приложения и соблюдение допустимых порогов crash-free метрик, установленных Apple и Google.
A — Action
Внедрены практики канареечного деплоя:
- Большинство новых фичей разрабатывается сразу с фиче-тоглами
- Первично сборка идет на раскатку в open test в ограниченном перечне регионов с включенным фиче-тоглом
- Раскатка билда осуществляется поэтапно, а не сразу на всех пользователей через нативные инструментов сторов
- На всех этапах раскатки билд регулярно мониторится в Firebase Crashlytics на предмет стабильности дежурным QA. Для этого был настроен Jira automation, который по факту выпуска каждого релиза автоматически создает задачу на мониторинг крашлитики и ставит ответственным исполнителем QA инженера, ротируя дежурных сотрудников от релиза к релизу, используя алгоритм равномерного распределения нагрузки round-robin между ними

- В случае демонстрации негативной динамики метрик раскатка немедленно приостанавливается, фича-отключается тоглом и команда разработки приступает к устранению дефектов и подготовке hot fix release