Ответ
Решение о готовности к релизу принимается на основе выполнения ряда критериев, часто формализованных в чек-лист Definition of Ready (DoR) или Definition of Done (DoD).
Основные критерии:
- Успешное прохождение всех запланированных тестов.
- Unit- и интеграционные тесты.
- End-to-end (E2E) и регрессионные тесты.
- Тесты производительности и безопасности (если применимо).
- Отсутствие открытых критических (Critical/Blocker) и высокоприоритетных (High) багов. Баги среднего и низкого приоритета могут быть приняты и отложены.
- Подтверждение готовности от всех заинтересованных сторон: разработчиков, QA, продукт-менеджера, иногда DevOps.
- Готовность документации: обновлены пользовательские руководства, релизные заметки (changelog), внутренняя документация.
- Готовность инфраструктуры и плана отката (rollback plan). Продовое окружение стабильно, есть четкий и протестированный сценарий отката на предыдущую стабильную версию.
Пример формальной проверки в коде (псевдокод):
def is_release_candidate_ready(build):
criteria = {
"tests_passed": build.test_passed_rate >= 99.5,
"no_critical_bugs": build.open_critical_bugs_count == 0,
"high_priority_bugs": build.open_high_priority_bugs_count <= 2,
"docs_updated": build.docs_status == "APPROVED",
"rollback_plan_exists": True
}
return all(criteria.values())