Что такое Definition of Done
Это условия для задачи или пользовательской истории, соблюдение которых позволяет считать реализацию успешной («Done»).
Зачем нужны Definition of Done
Определение готовности обеспечивает прозрачность, предоставляя всем единое общее понимание того, какая работа была выполнена в рамках Increment
Как писать Definition of Done
Строго говоря, никаких жестких правил нет. Однако, лучше чтобы ваши DoD выглядели как чеклист. В таком случае человек либо поставит "галочку" над конкретным условием, либо — нет. Пока не поставит, пользовательскую историю нельзя считать выполненной.
Definition of Done
Мы должны соответствовать Definition of Done (DoD), чтобы обеспечить качество продукта.
В этом тексте мы раскроем суть DoD на примерах разного уровня: User Story, Feature и Epic.
Что такое Definition of Done (DoD)
Definition of Done можно перевести так же как «Определение условий готовности», но сложилась традиция переводить как «Критерии Готовности», или не переводить вообще.
Использование Definition of Done снижает количество переделок, предотвращая продвижение пользовательских историй, не соответствующих определению, в среды более высокого уровня. Это предотвращает поставку нововведений, которые не соответствуют определению, клиенту или пользователю.
Примеры DoD для User Story
Наиболее распространенное использование DoD — на уровне команды поставки.
«Готово» («Done») на этом уровне означает, что Владелец Продукта просмотрел и принял пользовательскую историю.
После принятия «готовая» пользовательская история будет способствовать скорости команды (velocity). Вы должны соответствовать всем Критериям Готовности, иначе пользовательская история не будет завершена.
Примеры DoD для User Story:
Юнит тесты пройдены
Код просмотрен
Acceptance Criteria выполнены
Функциональные тесты пройдены
Выполнены нефункциональные требования
Владелец Продукта принял User Story
Примеры DoD для Features
«Done» на этом уровне может означать, что фича может быть добавлена в релиз.
Не все пользовательские истории должны быть завершены. Скорее, это означает, что функция может быть достаточной для удовлетворения потребности.
После принятия «Готовая» функция будет способствовать скорости выпуска.
Опять же, вы должны соответствовать всем определенным критериям, или это значит, что функция не «Done».
Примеры DoD для фич:
Acceptance Criteria выполнены
Интегрирована в чистовую сборку
Повышена до более высокого уровня
Автоматизированные регрессионные тесты проходят
Тесты на уровне функций проходят
Выполнены нефункциональные требования
Соответствует требованиям compliance
Функциональность задокументирована
Примеры DoD для Epics
«Done» на этом уровне может относиться к стратегическому приоритету организации или другому набору функций, удовлетворяющих потребности рынка.
После принятия «Готовый» Epic внесет вклад в расчеты пропускной способности, чтобы увидеть, находится ли предложение в балансе со спросом.
Примеры DoD для Epic:
Выполнены нефункциональные требования
Сквозная интеграция завершена
Регрессионные тесты проходят
Повышен до среды production
Соответствует определенным ожиданиям рынка
Главная рекомендация Definition of Done
Так же сильно, как важны Acceptance Criteria, важны и Definition of Done (DoD).
Главная рекомендация по использованию DoD — никогда не начинайте работать над чем–то, пока вы не согласитесь с определениями и критериями готовности.
Это важно для стабильной работы, для ясности, для общего понимания и видения.