Definition of Ready: как не брать в работу «сырые» задачи
Сколько раз мы брали задачу в работу, а в середине ее разработки выясняли, что некоторая часть требований не описана, а API, с которым будем интегрироваться в процессе, еще не готов?
В итоге половина запланированного времени уходит на уточнения, описания и переделку того, что уже сделали (привет, миграции Liquibase!).
В таких случаях стоит внедрить в процессы команды практику Definition if Ready (DoR). DoR — это парная практика к Definition of Done, которую мы разбирали чуть раньше.
📉 Почему «начнём разбираться в процессе» — это налог на команду
Множество людей (и я в их числе :) считают, что можно взять задачу в работу даже в условиях высокой неопределенности. На практике это приводит к тому, что команда платит «высокий налог» на неопределенность:
⏱ Постоянные уточнения вместо разработки.
⏱ Частое переключение фокуса между задачей и согласованием.
⏱ Увеличение числа переделок.
⏱ Блокеры, которые можно было бы снять заранее.
В результате значительная часть времени работы команды уходит на выяснение требований и постоянные переделки.
Definition of Ready — это способ уменьшить этот налог.
🔄 DoR: что должно быть у задачи, прежде чем отдать ее в разработку
Definition of Ready — это четкий набор критериев, согласованный в команде, которым должна соответствовать задача, прежде чем ее возьмут в разработку.
DoR отвечает на вопрос: «Готовы ли мы начать работу над задачей прямо сейчас, не отвлекаясь на бесконечные уточнения?» Это фильтр на входе, который защищает команду от сырых и непроработанных задач.
Как и Definition of Done, DoR не должен содержать чек-лист из 50 пунктов. Это несколько, обычно 5–7 критериев, которые защищают от ключевых рисков. Вот некоторые универсальные критерии:
✅ Четкое описание — задача описана понятно, есть цель (в том числе и бизнес-цель), контекст и ожидаемый результат.
✅ Есть критерии приемки — четкие, проверяемые условия, по которым понятно, что задача сделана.
✅ Дизайн/макеты/API спецификация готовы — все, что нужно, доступно и согласовано.
✅ Технические зависимости закрыты: контракты API со смежными командами согласованы, доступы получены, архитектурное решение (если задача крупная) утверждено.
✅ Задача декомпозирована — размер задачи позволяет закрыть ее в рамках одной итерации.
Если хотя бы один из критериев DoR не выполнен, задача не готова к передаче в разработку. Она готова к обсуждению, спецификации и проектированию, но не к разработке.
📝 Важное уточнение: DoR — это ответственность команды, не только бизнеса
Частая ошибка — относиться к DoR как к требованию к бизнесу. Это не передача задачи от бизнеса в разработку.
Это командная работа — подготовить задачу так, чтобы она удовлетворяла критериям DoR. Требуется, чтобы бизнес описал потребность, архитекторы приняли решения о том, какие системы менять, а команда разработки заполнила детали реализации.
🛡 Как сказать «нет» задаче на планировании без конфликта
DoR — это легальный способ перевести эмоциональный разговор в процессный:
🔄 Смена фрейма — задача важная, но сейчас не закрыты все DoR-критерии, давайте вернем ее в бэклог и доработаем, чтобы защитить качество и сроки разработки.
🗣 «Да, и…» — да, мы готовы взять задачу в разработку, но для этого нам нужны макеты до среды. Если дизайн будет готов, то задача пойдет в работу на следующей неделе.
🎯 Вопрос-возврат — нам важнее закрыть бэклог на спринт или взять в работу задачу, которую реально доведем до продакшена?
💡 Вместо вывода
Definition of Ready — это не бюрократия, не способ загрузить бизнес бумажной и формальной работой. Это инвестиция в предсказуемость.
Команда, которая использует DoR:
✅ Меньше простаивает в ожидании ответов;
✅ Реже переделывает уже написанное;
✅ Точнее попадает в оценки;
✅ Сохраняет фокус и мотивацию.
Начните с малого: выберите 3–4 самых критичных пункта DoR и попробуйте применять их.