Как стать автором
Обновить
79.7
Uzum
Строим экосистему цифровых сервисов в Узбекистане

Как сэкономить время и силы с помощью продуктовых и технических требований

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров188

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

Мы должны очень быстро бежать, чтобы успевать за конкурентами. С другой стороны, мы должны выдавать качественный продукт, а иначе в нем нет никакого смысла. В этой статье расскажу, какой инструмент мы нащупали, чтобы ускориться и повысить качество. А еще, конечно, снизить стресс команды разработки. Меньше стресса — лучше результаты.

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

  1. Четкие и однозначные требования от бизнеса нужны команде:

    1. чтобы мы реализовали то, о чем договорились. Требования могут меняться во время и после груминга, это нормально. Важно, чтобы все договоренности были зафиксированы.

    2. чтобы команда понимала, какую проблему пользователя мы решаем. Это необходимо для того, чтобы проверить, точно ли проблема пользователя решена.

Product-менеджер описывает требования в классическом стиле. Они обязательно содержат:

Предыстория. Откуда появилась проблема и в чем ее суть.

Цель. Что мы ожидаем в результате реализации задачи.

Критерии приемки. Этот пункт самый важный. Описываем от лица пользователя желаемое поведение при каждом шаге. На эти критерии будем опираться при реализации, по ним Product-менеджер будет принимать результат. Это обязательно должны быть понятные и простые формулировки. Должно быть описано каждое нажатие на кнопку, каждый переход на новый экран.

Эксперимент или нет. Будем запускать это в рамках эксперимента или полностью меняем текущую функциональность.

Аналитика. Нужны ли аналитические события на действия пользователя.

Пример хорошо описанных требований:

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

Задача на технические требования всегда содержит в себе следующие разделы:

Проблема. Описываем, зачем мы делаем эту задачу.

Необходимо. Перечисляем всю логику, которую необходимо реализовать. Должно быть описано:

  • поведение каждой кнопки;

  • ссылка на каждую гиперссылку;

  • способ и логика перехода на следующий экран;

  • изменение местоположения каждого элемента;

  • дополнительная важная информация.

Для тестирования. Опциональный пункт, в котором содержатся важные corner-кейсы или нюансы при тестировании, на которые хочется обратить внимание.

Локализация. Нужен ли перевод на другие языки (специфика нашего продукта).

Эксперимент. Будем ли мы запускать задачу в рамках feature flag или нет.

Аналитика. Нужна ли нам продуктовая аналитика о действиях пользователя в рамках этой функциональности.

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

Пример технической задачи:

Все изменения договоренностей важно фиксировать в задаче, иначе она быстро потеряет актуальность и не будет единым источником истины. О том, кто будет актуализировать договоренности, можно условиться заранее, а можно ситуативно, то есть сразу же после обсуждения.

Что помогла улучшить документация:

  1. Product-менеджер заранее формулирует четкие требования и согласовывает их с командой. Не остается непонятных мест и разночтений. При описании критериев менеджер продукта может внимательнее продумать все детали задачи.

  2. Благодаря хорошему описанию технических и бизнес-требований разработчику не приходится тратить время на вспоминание того, что мы когда-то обсуждали на груминге и на поиск контекста перед началом и во время реализации задачи. Экономим время на дополнительных созвонах команды, встречах с заказчиком и обсуждении одного и того же несколько раз.

  3. QA-специалист при тестировании не тратит время на выяснение того, как это должно быть, так как требования едины для менеджера продукта, разработчика и QA.

  4. У нас меньше исправлений багов из-за того, что требования зафиксированы заранее. Не возникает ошибок из-за того, что кто-то забыл о договоренности.

  5. Любому члену команды легко вернуться к предыдущей задаче и доработать ее. Мы не завязаны на разработчика и тестировщика, у которых требования хранятся в голове. Каждый может вникнуть в задачу, перечитав ее описание.

Теги:
Хабы:
+3
Комментарии0

Публикации

Информация

Сайт
uzum.com
Дата регистрации
Дата основания
2022
Численность
1 001–5 000 человек
Местоположение
Узбекистан
Представитель
Yulia Kovaleva