Business AnalysisMiddleExperience

Расскажите о задаче с неясными требованиями. Как вы довели её до понятного решения?

Признал неопределённость явно, провёл JTBD-интервью и изучил тикеты поддержки, формализовал требования через Event Storming и acceptance criteria в формате Given/When/Then, проверил прототип с пользователями до старта разработки.

Контекст задачи

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

Шаг 1: Признать неопределённость явно

Первое, что я сделал, — зафиксировал в Confluence страницу с заголовком «Открытые вопросы по задаче X» и разослал её product owner и ключевым stakeholders. Это переводит размытое ощущение «нам что-то непонятно» в конкретный список пунктов, которые надо закрыть. Структура была простой:

  • Что мы знаем точно
  • Что предполагаем, но не подтвердили
  • Что полностью неизвестно

Шаг 2: Интервью с пользователями и поддержкой

Я провёл пять коротких интервью (20–30 минут) с реальными пользователями по методу Jobs-to-be-Done: «Расскажи мне о последнем случае, когда уведомление тебя раздражало или наоборот помогло». Параллельно изучил тикеты в службу поддержки — там всегда есть сигнал о реальных болях.

В итоге выяснилось, что пользователи не хотят «управлять уведомлениями» как таковыми — они хотят не получать уведомления о чужих действиях в проектах, к которым у них только read-access.

Шаг 3: Формализация через Event Storming

Вместе с разработчиками и PO провёл двухчасовой Event Storming: выписали все domain events, связанные с уведомлениями, на стикеры, сгруппировали по bounded contexts. Это дало общий язык и сразу вскрыло три edge cases, о которых никто не думал: уведомления при архивировании проекта, групповые упоминания и упоминания в удалённых комментариях.

Шаг 4: Написание user story и acceptance criteria

После сбора информации я оформил задачу как user story в Jira:

As a read-only project member,
I want to opt out of activity notifications for specific projects,
So that I don't receive noise about changes I cannot influence.

Acceptance criteria написал в формате Given/When/Then:

  • Given: у меня роль viewer в проекте — When: я перехожу в настройки проекта — Then: вижу тоггл «Уведомления: вкл/выкл»
  • Given: я отключил уведомления — When: другой участник делает commit — Then: я НЕ получаю email и push
  • Given: меня явно @упоминают в комментарии — When: у меня отключены уведомления — Then: я ВСЁ РАВНО получаю уведомление об упоминании

Шаг 5: Валидация перед разработкой

Перед стартом спринта я сделал прототип в Figma (lo-fi, 3 экрана) и протестировал его с двумя пользователями из первой волны интервью. Они подтвердили, что решение отвечает их потребности. PO подписал scope.

Подводные камни

  • Принимать «это понятно» за чистую монету: даже опытные PO часто имеют в голове картину, которую не артикулировали — всегда задавайте уточняющие вопросы.
  • Начинать с решения, а не с проблемы: «управление уведомлениями» — это уже решение; настоящая проблема могла быть совсем другой.
  • Игнорировать тикеты поддержки: это дешёвый источник реальных болей, который часто недооценивают.
  • Проводить интервью с одними и теми же людьми: нужны разные роли и уровни опыта пользователей.
  • Пропускать edge cases при написании AC: особенно случаи с удалёнными данными, конкурентными изменениями и граничными правами доступа.
  • Не фиксировать промежуточные решения: устные договорённости забываются — всё должно быть в письменном виде до старта разработки.

What hurts your answer

  • Принять формулировку stakeholder как готовое требование.
  • Слишком рано уйти в детали UI или таблиц.
  • Не согласовать критерии, по которым решение будет принято.

What they're listening for

  • Умеет проводить discovery.
  • Отделяет цель от предлагаемого решения.
  • Фиксирует требования в проверяемой форме.

Related topics