Ответ
Мы придерживались agile-подхода с двухнедельными спринтами. Каждый релиз готовился в течение 2-3 спринтов (4-6 недель). Перед релизом проводили:
- Тестирование – QA проверяли билд на staging-среде
- Ревью кода – минимум 2 апрува от коллег
- Документирование – обновляли changelog и релизные заметки
Релизы выкатывались постепенно:
- 10% пользователей в первый день
- 100% через 3-5 дней (если нет critical багов)
Пример gradle-конфига для версионирования:
versionCode 42 // монотонно возрастающий
versionName "2.5.0" // semver
Для hotfix-релизов использовали отдельную ветку hotfix/, чтобы не блокировать основной dev-поток.