Ответ
DoR (Definition of Ready) и DoD (Definition of Done) — это контрольные списки, которые команда QA и разработки использует для управления качеством и предсказуемостью процесса.
Definition of Ready (DoR) — «Готово к работе»
Это критерии, которым должна соответствовать задача (тикет, user story) перед тем, как команда возьмет ее в работу в спринт. Цель — избежать недопонимания и простоев.
Пример критериев DoR для задачи от QA-специалиста:
- Требования: Имеется четкое, непротиворечивое описание (User Story с Acceptance Criteria).
- Дизайн/Макеты: UI/UX макеты утверждены и доступны.
- Техническая ясность: Задача оценена, архитектурные решения обсуждены, зависимости известны.
- Готовность к тестированию: Определены тестовые сценарии, известны необходимые тестовые данные и доступ к средам.
Definition of Done (DoD) — «Готово к сдаче»
Это обязательный набор критериев, которые должны быть выполнены, чтобы задача считалась полностью завершенной и потенциально готовой к релизу. Это единый стандарт качества для всей команды.
Пример критериев DoD с точки зрения QA:
- Код: Код написан, проходит статический анализ, проверен в code review и слит в основную ветку.
- Тестирование:
- Все acceptance criteria подтверждены.
- Выполнено функциональное тестирование (позитивные/негативные сценарии).
- Проведено регрессионное тестирование затронутых областей.
- Проверена интеграция со смежными системами.
- Выполнено нефункциональное тестирование (по необходимости): производительность, безопасность, UX.
- Документация: Обновлены тест-кейсы, документация для пользователей или API.
- Сборка и деплой: Код успешно собран на CI/CD, развернут на тестовой среде и прошел smoke-тесты.
Итог: DoR — это входные критерии для начала работы, DoD — выходные критерии для ее завершения. Их соблюдение помогает команде, и особенно QA, работать эффективно и минимизировать количество дефектов и переделок.
Ответ 18+ 🔞
Слушай, давай разберем эту тему без соплей, как есть. Все эти DoR и DoD — это не просто бумажки для начальства, это реально спасательный круг, чтобы не вышло как всегда: взяли хуйню в работу, а потом неделю сидим и ебёмся с неясностями.
Definition of Ready (DoR) — «Готово к работе» или «Можно уже начинать, а не сосать?»
Это, блядь, такой чек-лист. Если по нему всё ок — задача зрелая, её можно брать в спринт и не бздеть. Если нет — это просто пиздопроёбина, которая всех затормозит. Цель — чтобы не было вот этого вечного «ой, а мы не договорили» и «ой, а дизайна нет».
Чего хочет QA от DoR (чтобы не охуеть потом):
- Требования. Чтобы было не просто «сделай красиво», а нормальная User Story с внятными критериями приёмки (Acceptance Criteria). Без этого — доверия ебать ноль, будем гадать на кофейной гуще.
- Дизайн/Макеты. Чтобы эти макеты были не в голове у дизайнера, а доступны и, главное, утверждены. А то начнём делать, а потом: «О, тут кнопку надо перенести, это неудобно». Ёпта, ядрёна вошь!
- Техническая ясность. Разработчики уже прикинули, как это делать? Зависимости ясны? А то выяснится, что нужен API от команды Васи, а Вася в отпуске до следующего года.
- Готовность к тестированию. Сразу понятно, что тестировать, на каких данных и есть ли доступ к нужной среде. Чтобы не получилось, что фича готова, а тестовый стенд лежит или данных нет — сиди, мудак, жди.
Короче, DoR — это фильтр на входе. Не выполнен — задача даже не должна попадать в спринт, иди, допиливай. Экономит всем время и нервы, честно.
Definition of Done (DoD) — «Готово к сдаче» или «Отстаньте все, мы закончили!»
А вот это уже святое. Это не «я код написал, всё, пошёл пить кофе». Это железный список того, что должно быть сделано, чтобы задачу можно было с чистой совестью считать завершённой и хоть сейчас выпускать в прод. Это наш общий стандарт, договорённость на берегу.
Что входит в DoD для QA (иначе ни хуя себе будет):
- Код. Он не просто написан. Он прошёл ревью, статический анализ и слит в основную ветку. Не валяется где-то в отдельной ветке «feature/vasya-pupkin-temp».
- Тестирование. Вот тут, бля, самое мясо:
- Все Acceptance Criteria из DoR — подтверждены. То, что хотели, — получили.
- Сделано полноценное функциональное тестирование: и так работает, и эдак, и если ввести хуйню — упадёт красиво, как и планировалось.
- Затронутый регресс проверен. Чтобы новая кнопка не сломала логин на сайте.
- Интеграция проверена. Если мы тянем данные от другого сервиса, то он отвечает, а не показывает
500 Internal Server Error. - По необходимости — проверена производительность, безопасность и прочая не функциональщина.
- Документация. Тест-кейсы обновлены, если что-то поменялось. Если меняли API — описание к нему тоже. Чтобы через месяц не орать «а как это должно работать?».
- Сборка и деплой. Код автоматически собрался на CI/CD, задеплоился на тестовый стенд и прошёл smoke-тест. То есть он вообще живой и дышит.
Итог, чувак:
- DoR — это «готово, чтобы начать». Не выполнил — даже не суйся, иди додумывай. Это экономит время и убирает волнение ебать в начале спринта.
- DoD — это «готово, чтобы сдать». Не выполнил — задача не закончена, сиди дальше, допиливай. Это гарантия, что в прод не попадёт сырой, недоделанный пиздец.
Когда и то, и другое работает — команда как часы. Ну, почти. По крайней мере, скандалов на ровном месте становится овердохуища меньше.