Ответ
Definition of Done (DoD) — это четкий набор критериев, которые задача должна удовлетворить, чтобы считаться завершенной. Типичный процесс включает:
- Реализация и локальное тестирование: Код написан, соответствует ТЗ и проходит все юнит- и интеграционные тесты локально.
- Статический анализ кода: Код проверен линтером (ESLint, SonarQube) и соответствует стандартам проекта.
- Code Review: Создан Merge/Pull Request. Как минимум один коллега провел ревью, одобрил изменения, и все замечания исправлены.
- Автоматизированная сборка и тесты: CI/CD пайплайн (GitLab CI, Jenkins) успешно выполнил сборку, запустил все тесты и, возможно, статический анализ.
- Деплой в тестовое окружение: Изменения развернуты в staging-среде (если применимо).
- Приемочное тестирование: Функциональность проверена QA-инженером или продакт-менеджером (если требуется).
- Документация: Обновлены или созданы комментарии в коде, README, техническая документация (Swagger, Confluence).
- Отметка в трекере: Задача переведена в статус "Done" или "Closed" в Jira/YouTrack.
Пример чек-листа в MR:
## Definition of Done
- [ ] Код написан и соответствует стилю проекта.
- [ ] Написаны/обновлены юнит-тесты (покрытие >80%).
- [ ] Интеграционные тесты проходят.
- [ ] CI/CD пайплайн успешен.
- [ ] Проведен code review и получен апрув.
- [ ] Документация обновлена.
Этот процесс минимизирует риски и гарантирует, что в основную ветку (main/master) попадает только качественный, проверенный код.