Постановка задачи разработке: Definition of Ready, чек-лист

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


Работа над требованиями заканчивается не на тексте, а на моменте, когда команда поняла задачу и готова её делать. Поэтому эта статья замыкает раздел: в неё сходятся приоритеты, трассировка, оценка, приёмка и макеты.

Кейс: одна строка вместо карточки

В «Узелке» задачу «Отмена заказа с причиной» (ЗД-48) передали разработчику одной строкой в трекере. Через два дня он вернулся с семью вопросами. Какая длина причины допустима? Что показать, если заказ уже у курьера? Где взять текст отказа? Ответы уже были в требованиях, макетах и критериях приёмки, но в карточку они не попали. (Номер задачи, количество вопросов и сроки условные: мы взяли их для иллюстрации.)

Рисунок 1. Одна строка вместо карточки

Работа была сделана, но не передана. Чек-лист готовности создаётся именно для таких случаев.

Что такое Definition of Ready

Definition of Ready (далее DoR, определение готовности) - это список условий, при которых задачу можно брать в работу. Это способ зафиксировать общее понимание команды о том, когда задачу можно считать готовой к работе.

Нужно оговорить статус понятия. DoR не входит в Scrum Guide и не является обязательным артефактом, хотя иногда в гайде видят неявное требование: элемент должен умещаться в один спринт. Это распространённая практика, а не официальная рекомендация. Общая мысль такая: список снижает риск, и критерии каждая команда выбирает сама.

Карточка задачи - это запись в трекере, которую читает исполнитель. Допущение - это то, что мы считаем верным, но пока не проверили: его записывают в карточке, чтобы оно не осталось невидимым.

Чек-лист из восьми вопросов

Обычно в список входят понятное название, польза для клиента, критерии приёмки, зависимости и риски, нужные материалы и оценка. Мы собрали из них и из предыдущих статей раздела восемь вопросов. Состав примерный: у каждой команды будет свой.

  • Цель. Зачем задача нужна, кому и какую пользу даёт.
  • Требование. Что именно делаем: есть номер и связь с целью (статья 02-22).
  • Приёмка. По каким критериям поймём, что готово (статьи 02-09 и 02-25).
  • Макет и тексты. Что увидит покупатель: экраны, состояния и подписи (статьи 02-15 и 02-17).
  • Данные и API. Какие системы, поля и интеграции затронуты.
  • Риски. От чего зависим и что может помешать; пробелы в требованиях ищем по статье 02-18.
  • Оценка. Команда оценила задачу, и она помещается в итерацию (статья 02-23).
  • Приоритет. Почему берём это, а не другое (статья 02-21).

Если на вопрос нет ответа, его записывают как открытый вопрос или как допущение с указанием, кто проверит. Тогда пробел не прячется, а виден всей команде.

Рисунок 2. Вопрос без ответа не прячем

Часто используют критерии INVEST: задача независимая, обсуждаемая, ценная, оцениваемая, небольшая и проверяемая. Однако и подходящая по INVEST задача может застрять: неясен следующий приоритет, нет макетов или нет общего понимания рисков.

Рисунок 3. Чек-лист готовности из восьми вопросов: цель, требование, приёмка, макет и тексты, данные и API, риски, оценка, приоритет

Как передать задачу: разговор вместо записки

Даже хорошая карточка не заменяет разговора. Полезно разобрать её с командой до старта: пробелы лучше найти на встрече, чем в середине итерации. Считается, что элементы должны оценивать те, кто будет делать работу, а при наличии зависимостей между командами полезен совместный разбор.

Разбор карточки вместе с командой даёт три вещи. Во-первых, мы слышим вопросы до старта. Во-вторых, оценку дают те, кто будет работать. В-третьих, допущения и риски обсуждаются вслух и не всплывают позже.

Рисунок 4. Передача задачи в разработку

Как не превратить чек-лист в барьер

Чек-лист готовности сам может стать проблемой. Определение готовности нужно не всегда: если команда уже стабильно поставляет работающий продукт, оно может не понадобиться. Слишком высокая планка превращает список в препятствие, а принцип такой: «достаточно деталей и вовремя». Часть деталей лучше уточнять, когда работа уже началась. Исчерпывающие чек-листы могут привести к «похожей на водопад» ситуации.

Для нашей команды из этого следуют простые правила:

  • список пишет сама команда, а не один человек для всех;
  • в нём только то, без чего работу нельзя начать;
  • пункт, который никогда не мешает старту, можно убрать;
  • если чек-лист задерживает работу, его пересматриваем вместе с командой.
Рисунок 5. Баланс детализации

Где это встречается в работе

  • Разбор бэклога с командой перед планированием итерации.
  • Оформление карточки задачи в трекере.
  • Ответы на вопросы разработчика во время работы: мы видим, какого пункта не хватило в карточке.
  • Обсуждение задержек итерации: какие задачи были взяты неготовыми.
  • Передача задачи между командами с общим списком требований к готовности.

Итог

Definition of Ready - это список условий, при которых задачу можно брать в работу. Мы собрали восемь вопросов: цель, требование, приёмка, макет, данные, риски, оценка, приоритет. Задачу лучше передавать разговором, а не одной карточкой, и держать список коротким, чтобы он не стал барьером.

Что дальше

Раздел требований на этом заканчивается. Дальше разберём, что такое бизнес-процесс и как он отличается от функции и регламента (статья 03-01).

Проверка знаний

5 вопросов