Перейти к основному содержимому

Definition of Ready

Аналитику Разработчику

Что такое DoR

Definition of Ready (DoR) — соглашение команды: задача достаточно подготовлена, чтобы разработчик, QA или другой исполнитель начали работу без недель уточнений и созвонов "а что имелось в виду?".

DoR отвечает на вопрос: можно ли взять задачу в работу прямо сейчас?

Без DoR в спринт или колонку "In Progress" попадают чёрные ящики:

  • неясные требования и противоречивые комментарии;
  • отсутствующие макеты для UI;
  • API партнёра "будет на следующей неделе";
  • нет доступа к stage, но задача "срочная";
  • оценка "на глаз", которую никто не принимал.

Последствия:

DoR задаёт минимальный порог входа. Он не заменяет аналитику — дополняет её чётким "стоп, пока не готово".

Для junior

Если задача без AC и макета — это не ваша "лень уточнить", а сигнал вернуть в backlog. Команда с зрелым DoR поддержит отказ взять не-ready work.


DoR и DoD — разница

DoRDoD
ВопросМожно начать?Можно закрыть / релизить?
Момент проверкиПеред "In Progress" / в спринтПеред Done / merge / релиз
Типичный владелец проверкиPO, BA, команда на planningDev, QA, CI
СвязьГлава 2 — DoDScrum DoD

Базовый чек-лист DoR

Перед стартом задачи команда проверяет (адаптируйте под тип проекта):

  • Описана ценность для пользователя или бизнеса (цель — одним абзацем).
  • Есть acceptance criteria (AC) — проверяемые условия приёмки, не "сделать красиво".
  • Известны зависимости: дизайн, API партнёра, доступы, другие команды.
  • Есть оценка или согласованный размер (story points / t-shirt), если команда оценивает.
  • Нет внешних блокеров без плана эскалации (кто, когда, тикет партнёра).
  • Для UI — макет Figma или согласованный wireframe (прототипирование).
  • Для интеграций — контракт API, mock или тестовая песочница (API).
  • Для данных — понятны источник, миграции, GDPR/ПДн если применимо.
  • Assignee понимает scope или есть spike с timebox.

Acceptance criteria — как писать

AC — список условий "готово, когда…". Хорошие AC:

  • Проверяемы — QA может пройти по пунктам;
  • Независимы от реализации ("кнопка синяя" vs "используем CSS token primary");
  • Включают негатив — что при ошибке сети, пустом поле, 403.

Пример (задача: восстановление пароля):

## AC
1. Пользователь с подтверждённым email запрашивает ссылку — письмо ≤ 2 мин (stage SMTP).
2. Ссылка одноразовая, TTL 24 ч — повторное использование показывает ошибку.
3. Новый пароль: мин. 8 символов, 1 цифра — валидация на клиенте и сервере.
4. После смены пароля старые refresh-токены инвалидируются.
5. Rate limit: не более 5 запросов / час / IP — 429 с понятным текстом.

Плохой AC: "Пароль восстанавливается удобно и безопасно."

User story · приёмка.


DoR по типам задач

ТипДополнительные пункты DoR
Backend APIOpenAPI draft, коды ошибок, auth scheme, лимиты
FrontendМакет, states (loading/error/empty), i18n ключи
MobileМакет, версии OS, offline-поведение, store guidelines
BugfixSteps to reproduce, expected/actual, severity, версия
SpikeВопрос, timebox, критерий "достаточно знаний"
Tech debtМетрика успеха (время сборки −30%), не "прибраться"
InfraRollback plan, окно change, CAB если нужно

DoR в Scrum

На refinement и planning команда не берёт в спринт задачи без DoR:

  1. PO/BA приносит backlog items с AC.
  2. Команда задаёт вопросы async до planning (удалёнка).
  3. На planning — только ready items + ёмкость спринта.
  4. Если mid-sprint прилетает "срочно" без DoR — swap: что-то выносится, PO решает trade-off (change).
Sprint Goal и не-ready work

Добавление задачи без DoR в активный спринт ломает прогноз. Исключение — инцидент P1 по runbook, не "новая хотелка".

Спринт · planning.


DoR в Kanban

В колонке Ready (или "Selected for Development") действует политика:

Сюда попадают только карточки с выполненным DoR.

WIP-лимит на Ready ограничен — команда не копит неподготовленную работу (WIP). Pull: разработчик берёт верхнюю ready-карточку, не "удобную".

Если Ready пуст — refinement, а не "начну непонятное".


Роли при проверке DoR

РольВклад
BA / POЯсность AC, бизнес-правила, приоритет
SA / ArchitectТехническая осуществимость, ADR если нужно
DesignМакет, UX states
Dev / QAВопросы на edge cases, тестируемость AC
КомандаПраво не брать задачу без DoR на planning

DoR — командное соглашение, не чек-лист только аналитика.


DoR в трекере

DoR в Confluence без проверки в тикете — мёртвая декларация. Рабочие варианты:

  • чек-лист DoR в шаблоне задачи Jira/YouTrack;
  • custom field "DoR status: Ready / Not ready";
  • workflow: переход в "In Progress" блокируется, пока обязательные поля пусты;
  • label not-ready снят только PO или BA после review.

Пример полей шаблона:

ПолеОбязательное
User valueДа
AC (checklist)Да
Design linkДля UI
API contract linkДля интеграций
DependenciesДа

Пример: задача не прошла DoR

Тикет: "Улучшить checkout."

ПроблемаЧто нужно для DoR
Нет метрики успеха"Конверсия checkout +2% или время −15 сек"
Нет макета нового шагаСсылка Figma
Неясно: web only или mobileЯвный scope в AC
API доставки partner X не готовТикет партнёра + дата или mock

Команда на planning: не берём, возвращаем в refinement с due date от PO.


DoR и async-first

В распределённой команде DoR — условие async-first: задача с полным AC и макетом не требует созвона с PO для старта. Это снижает блокеры на сутки между MSK и EU.


DoR и ИИ

Copilot/LLM может черновик user story — BA валидирует AC с заказчиком. DoR не выполнен, пока человек не подтвердил критерии.


Антипatterns

АнтиpatternПочему плохо
DoR на 50 пунктовНикогда не ready, paralysis
DoR "на словах"Каждый понимает по-своему
PO обходит DoR "потому что срочно"Ломает trust и velocity
AC только happy pathБаги на prod
Нет spike для неизвестностиОценка фантазия

Золотая середина: 8–12 пунктов DoR на команду + доп. чек-листы по типу задачи.


Метрики (лёгкие)

  • % задач, возвращённых из In Progress за неделю (missing info).
  • Среднее время от "New" до "Ready".
  • Количество mid-sprint добавлений без swap.

Не для KPI наказания — для retro.


Связь с DoD

  • DoR — можно начать задачу (эта глава).
  • DoD — можно закрыть и считать готовой к релизу (глава 2).

Не для KPI наказания — input для retro.


INVEST и качество backlog item

DoR часто опирается на INVEST (критерии хорошей user story):

БукваЗначениеПроверка DoR
IIndependentМожно делать без блокировки другой story
NNegotiableДетали обсуждаемы, не жёсткий контракт
VValuableЦенность пользователю/бизнесу ясна
EEstimableКоманда может оценить
SSmallВлезает в спринт или делится
TTestableAC проверяемы

Story "улучшить performance" без метрики — не Estimable, не Ready.


DoR на аутсорсе и fixed price

КонтекстОсобенность DoR
Fixed priceAC = контрактное приложение; change только через CR
T&MDoR + прогноз часов в комментарии
ПродуктDoR легче, но AC всё равно обязательны

Заказчик "хочет начать вчера" без AC — риск для обеих сторон. PO фиксирует: start date после DoR.

Договор · начало на проекте.


Workshop: согласование DoR за 90 минут

  1. 10 мин — brain dump текущих болей ("берём сырые задачи").
  2. 20 мин — draft 8–12 пунктов DoR на Miro.
  3. 20 мин — прогон 3 реальных тикетов: ready / not ready.
  4. 20 мин — как встроить в Jira (поля, workflow).
  5. 10 мин — owner wiki, дата retro через 6 недель.
  6. 10 мин — связь с DoD.

Результат — одна wiki-страница, не 40 слайдов.


Splitting stories — когда DoR не проходит

Задача слишком большая — делят, не ослабляют DoR:

ТехникаПример
По workflowCheckout: оплата / доставка / подтверждение
По CRUDСначала read-only отчёт, потом export
По interfaceAPI first, UI second
Spike"Исследовать SDK партнёра" — 2 дня, отдельный тикет

После split — каждая часть снова проходит DoR.


DoR и удалённая команда

Checklist перед planning для distributed team:

  • AC написаны так, что QA в Berlin не звонит PO в London;
  • Макет с timezone-independent states;
  • Зависимости содержат ссылку на тикет, не "Иван сделает";
  • Дедлайн в UTC.

FAQ по DoR

Можно ли начать без оценки?
Если команда не оценивает спринты — DoR может не требовать points, но требует t-shirt size или явное "не оцениваем, spike first".

PO давит "берите уже"
Тимлид фиксирует missing DoR в комментарии тикета. Риск срыва — на PO после explicit accept.

Bugfix с prod — нужен DoR?
Упрощённый DoR: STR, severity, версия — 5 минут, не полный шаблон фичи.

Spike готов, когда?
Есть ответ на вопрос spike, ADR или комментарий "не делаем / делаем так", оценка для follow-up story.


Шаблон комментария "Not Ready"

@po Задача **не проходит DoR** для sprint 24:
- [ ] Нет AC для error state оплаты
- [ ] Нет ссылки на макет Figma (поле coupon)

Готов взять после обновления тикета. Предлагаемый ETA DoR: 2026-06-18.

Тон — факт, не обвинение. Культура командной работы.


DoR и автоматизация трекера

Примеры automation (Jira/YouTrack):

ТриггерДействие
Transition → In ProgressValidator: AC field not empty
Label needs-designBlock until Figma link
Epic link missingWarning на create

Automation не заменяет judgment команды на planning — только ловит забытые поля.


Связь DoR с Definition of Done

DoR и DoD — пара:

DoR гарантируетDoD проверяет
AC написаныAC выполнены тестами
Макет естьUI соответствует макету ± согласованные отличия
API контрактIntegration tests по контракту
ОценкаНет скрытого scope creep

Retro-вопрос: "Сколько задач вернули из QA из-за слабого DoR на входе?"


Чек-лист DoR для copy-paste в wiki

## Definition of Ready — Team Alpha

Обязательно для всех задач:
- [ ] Ценность для пользователя/бизнеса описана
- [ ] AC проверяемы (≥3 пункта для фичи)
- [ ] Зависимости перечислены с тикетами/датами
- [ ] Оценка или t-shirt size согласованы
- [ ] Нет блокеров без эскалации

UI: макет Figma + error/empty states
API: OpenAPI или контракт + sandbox/mock
Bug: STR, версия, severity

Не берём в спринт / In Progress без галочек обязательного блока.

Итоги раздела

DoR защищает команду от старта непонятной работы. Запишите его, встройте в трекер, дайте право сказать "not ready" — и DoD станет достижимым.

Definition of Done · Итоги раздела · Чек-лист