← Назад к вопросам

Что такое Definition of Done и Definition of Ready?

1.0 Junior🔥 201 комментариев
#Методологии разработки

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Definition of Done и Definition of Ready в Agile разработке

Это два критически важных документа в Agile-команде, которые определяют качество и готовность работы на разных этапах. Они работают как контрольный список качества и предотвращают множество проблем.

Definition of Ready (DoR)

Definition of Ready — это набор критериев, которые user story должна удовлетворять ДО начала спринта (перед тем, как разработчики начнут кодить).

Цель: Убедиться, что требование достаточно хорошо сформулировано, чтобы разработчики могли его реализовать без постоянных уточнений.

Типичные критерии DoR:

  • Описание истории: User story написана по формату As a... I want... So that...
  • Acceptance Criteria: Четкие критерии приёма, по которым QA поймёт, готово ли работает
  • Уточнены требования: Нет неясных моментов, все stakeholders согласны
  • Дизайн/макеты: Если нужны UI изменения — макеты подготовлены дизайнером
  • Зависимости определены: Известны связи с другими историями
  • Размер оцен: История получила story points от команды, понимаемы размер работы
  • Приоритет установлен: Product Owner определил приоритет
  • Тестовые данные подготовлены: Если нужны специальные данные для тестирования
  • API контракты согласованы: Если будет интеграция с другими сервисами

Definition of Done (DoD)

Definition of Done — это критерии, по которым feature считается полностью завершённой и готовой к production.

Цель: Убедиться, что код качественный, протестирован, задокументирован и может быть безопасно развёрнут.

Типичные критерии DoD:

Код:

  • Код написан и рецензирован (code review пройден)
  • Все комментарии из code review адресованы
  • Код соответствует style guide команды
  • Нет дублирования кода (DRY принцип)
  • Нет hardcoded значений (use configuration)

Тестирование:

  • Unit тесты написаны и проходят (минимум 80% coverage)
  • Integration тесты написаны и проходят
  • QA провел functional тестирование
  • Edge cases протестированы
  • Регрессионное тестирование пройдено

Документация:

  • Код задокументирован (docstrings, комментарии)
  • API документация обновлена (если меняется API)
  • User documentation подготовлена
  • Release notes обновлены

Интеграция:

  • Код залит в main/master ветку
  • CI/CD pipeline прошёл успешно
  • Нет конфликтов с другим кодом
  • Нет регрессии в скорости

Операционал:

  • Развёртывание на staging окружение прошло успешно
  • Smoke тесты на staging пройдены
  • Логирование и мониторинг настроены
  • Алерты и notifications настроены

Разница между DoR и DoD

АспектDoRDoD
КогдаДО спринтаВ КОНЦЕ спринта
Кто проверяетProduct Owner, BAРазработчики, QA
Что проверяетКачество требованийКачество реализации
Если не выполненоИстория не входит в спринтРабота не считается сделанной

Почему это важно

DoR + DoD = качество на входе + качество на выходе

  • Без DoR: Разработчики половину спринта уточняют требования, теряют время
  • Без DoD: Код попадает в production с багами, недокументирован, медленный
  • С DoR + DoD: Предсказуемая скорость разработки, высокое качество, меньше переделок

Типичные ошибки при внедрении

  • Слишком строгие критерии — команда медленнее работает. Нужен баланс между качеством и скоростью.
  • DoR/DoD как наказание — люди нарушают их в тайне. Лучше это культура, чем правила.
  • Забывают обновлять — на первом спринте подходило, но за год требования изменились. Нужен ревью каждый квартал.
  • Разные DoD для разных историй — создаёт путаницу. Один DoD для всей команды.

Вывод: Definition of Ready и Definition of Done — это якоря качества, которые помогают команде двигаться быстро и надёжно. Без них Agile становится хаосом.

Что такое Definition of Done и Definition of Ready? | PrepBro