JavaRush /Курсы /Claude code /Пользователь, JTBD и метрика успеха

Пользователь, JTBD и метрика успеха

Claude code
30 уровень , 2 лекция
Открыта

1. Идея без пользователя не работает

На старте очень легко увлечься красивой формулировкой. «Сделаю AI-помощника для поддержки», «умный сервис для ecommerce», «систему, которая улучшает клиентский опыт». Солидно — и для разработки бесполезно. Это как написать на посылке не адрес, а вдохновляющую фразу: курьер расчувствуется, но везти её некуда.

До этого user, pain, result и scope работали фильтрами идеи: они помогали понять, есть ли у проекта вообще рабочий угол. Теперь их надо зафиксировать жёстче — как поля спецификации. Назовите конкретного пользователя — и проект приземляется: появляются рабочая ситуация, ограничения, язык интерфейса, критерии пользы, будущие guardrails. Оператору поддержки нужен inbox, быстрый разбор тикетов и безопасная работа с возвратами; менеджеру магазина — dashboard, сводка, тренды. Снаружи одно «AI для поддержки». Внутри — два разных продукта.

Небольшая таблица это очень быстро показывает:

Размытая формулировка Почему не работает Рабочая формулировка
AI-помощник для интернет-магазинов Непонятно, кто именно будет пользоваться Инструмент для оператора поддержки небольшого интернет-магазина
Сервис для улучшения клиентского опыта Неясно, какое действие пользователь делает руками Помощник, который помогает оператору быстрее закрывать типовые обращения
AI-система для обработки возвратов Неясно, где человек, а где автоматизация Инструмент, который помечает рискованные refund-кейсы и не даёт пропустить high-value возврат

Очень полезно держать в голове простую цепочку:

flowchart TD
    A[Идея] --> B[Конкретный пользователь]
    B --> C[Конкретная боль]
    C --> D[JTBD]
    D --> E[Метрика успеха]
    E --> F[Demo-сценарий]

Если на первом шаге у вас не появляется реальный пользователь, вся цепочка дальше начинает шататься: JTBD абстрактный, метрика декоративная, demo превращается в показ случайных экранов «вот тут у нас тоже что-то есть». Частая ловушка: «мой пользователь — бизнес» или «все, у кого есть поддержка». Это не пользователь, это почти перепись населения. Чем уже фокус, тем легче не утонуть в фичах.

2. Persona — рабочая карточка, а не роман

Описание пользователя в MVP — не биография и не анкета из отдела маркетинга. Любимый цвет, знак зодиака и отношение к авокадо-тостам вам не нужны. Нужно то, что двигает инженерные решения: где он работает, что делает каждый день, каким инструментом пользуется сейчас, в какой момент начинается боль. Проверка: можете после persona назвать нужный интерфейс, данные и выигрыш — текст полезный. Хочется сказать только «интересный человек» — текст симпатичный, но бесполезный.

Вот какие поля обычно дают наибольшую пользу:

Поле Зачем нужно Пример для AI Support Agent
Роль Определяет, кто вообще открывает продукт Оператор поддержки интернет-магазина
День из жизни Показывает, в какой точке возникает задача Утром открывает inbox с 60–100 обращениями
Инструменты Помогает понять контекст работы Веб-интерфейс магазина, почта, шаблоны ответов
Текущий обходной путь Показывает, с чем ваш MVP конкурирует уже сейчас Копирует ответы из заметок и вручную ищет рискованные тикеты
Главная боль Помогает не расползтись по фичам Типовые вопросы съедают время, дорогие возвраты можно пропустить

Такой фрагмент уже можно положить в текущую спецификацию:

## Пользователь

Роль: оператор поддержки небольшого интернет-магазина  
Рабочий день: 60–100 тикетов в день  
Инструменты: inbox магазина, почта, заметки с шаблонами  
Текущий обходной путь: копирует типовые ответы вручную  
Главная боль: типовые обращения забирают время у сложных кейсов

Обратите внимание на одну важную вещь: на старте достаточно одной persona. Даже если продукт пригодится и менеджеру, и оператору, и владельцу магазина, — пока оставьте это в покое. MVP ломается не от «слишком мало пользователей», а от попытки угодить всем и в итоге — никому.

3. Старт — с workaround, а не с AI

Пользователь не просыпается с мыслью «как жаль, что у меня нет классификатора обращений на базе LLM». Он просыпается с мыслью «переполнен inbox, половина смены уходит на копипаст, а рискованный refund утонет среди вопросов про доставку». С этого и начинайте.

Поэтому хорошее описание проблемы почти всегда состоит из двух частей. Первая: что болит сейчас. Вторая: как человек выкручивается без вашего продукта. Вторую постоянно пропускают, а именно она показывает реального конкурента MVP — не «отсутствие решения», а заметки, Excel-таблицу, ручное копирование, пересылку письма коллеге, хаотичную память оператора и ещё десяток кустарных, но работающих способов.

Для нашего примера это можно оформить так:

## Проблема

Оператор тратит значительную часть смены на типовые вопросы
про статус заказа, доставку и правила возврата.

## Текущий обходной путь

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

Почему это так важно? Потому что без обходного пути проблема остаётся слишком гладкой — «поддержка работает медленно». Опишите текущий способ — пойдут практические вопросы: что опаснее, медленный ответ или пропущенный дорогой возврат? И выясняется: продукт нужен не для «автоматизации ответов», а для разделения типовых и рискованных случаев. Здесь же впервые появляется human-in-the-loop, хотя многие ждут его позже: с типовыми тикетами система помогает, а refund > $100 нельзя отдавать AI на автопилот. Границу указала сама проблема.

Очень частая ошибка на этом шаге — писать проблему уже языком решения. «Система должна автоматически классифицировать тикеты и генерировать ответы» — это не проблема, это кусок implementation. Проблема звучит со стороны пользователя; решение появится потом. Перепутаете слои — влюбитесь в фичу раньше, чем докажете, что она кому-то нужна.

4. JTBD: одна формула, которая убирает туман

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

Каноническая формула выглядит так:

Когда [ситуация],
я хочу [сделать работу],
чтобы [получить результат].

В нашем примере это может звучать так:

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

Секрет силы этой формулы в том, что она очень быстро ловит фальшь. Пустой «когда» — не понимаете момент использования. В «я хочу» вылезла AI-фича — снова уехали в решение. В «чтобы» стоит «чтобы всё было лучше» — результат не сформулирован.

Удобно проверять JTBD по такой маленькой таблице:

Часть формулы Что здесь должно быть Пример
Когда Конкретная рабочая ситуация Утром открываю inbox с 60+ тикетами
Я хочу Действие пользователя, а не функции AI Быстро закрывать типовые обращения
Чтобы Результат для пользователя или его работы Освобождать время для сложных и дорогих кейсов

Есть ещё один полезный трюк. Попробуйте подставить в JTBD другого пользователя — и посмотреть, как поедет продукт:

Пользователь JTBD Что получится как MVP
Оператор поддержки Быстро разбирать типовые тикеты Классификация + draft ответа + audit trail
Менеджер поддержки Понимать, где тонут обращения и сколько их Dashboard + очереди + аналитика
Финансовый администратор Не пропускать дорогие возвраты Risk review + approval flow

Это очень отрезвляет. Внешне тема одна — поддержка интернет-магазина, — а продукт каждый раз другой. JTBD полезен не для красоты документа: он вовремя ловит момент, когда вы незаметно строите уже не тот MVP.

5. Метрика успеха: видимая польза MVP

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

Для учебного MVP метрика не обязана быть сверхсложной аналитикой с красивыми графиками — вполне достаточно, чтобы она была наблюдаема и воспроизводима на demo. Не декоративная, а проверяемая. Reviewer после demo не понимает, стало ли пользователю лучше, — метрика слишком туманная.

Сравните формулировки:

Слабая метрика Сильная метрика
Оператору стало удобнее На 10 sample tickets минимум 8 классифицируются правильно
AI пишет хорошие ответы На 3 типовых обращениях оператор вносит не более 2 правок в draft
Система безопасно работает с возвратами Возврат выше порога не проходит без ручного approval
Интерфейс понятный Новый пользователь проходит core flow без подсказок за 3–5 минут

Для AI Support Agent хороший набор метрик может выглядеть так:

## Метрика успеха

- На 10 sample tickets точность классификации не ниже 80%
- На типовых вопросах AI draft требует не более 2 правок оператором
- Возврат выше $100 не может быть отправлен без ручного approval
- В audit trail видно, что предложил AI и что сделал оператор

Здесь важно, что метрика проверяет не только «умность» модели, но и пользу, безопасность и наблюдаемость результата. Это важно, потому что начинающие разработчики очень любят сводить success metric к одной цифре качества модели. Но MVP редко проваливается из-за точности классификации — чаще потому, что не вписался в рабочий день, не дал безопасного сценария или не показал понятный результат на demo.

Именно отсюда потом естественно вырастает демонстрация. Метрика про 10 sample tickets — их и показываете; метрика про блокировку возврата выше порога — в demo обязательно кейс с таким возвратом. Хорошая метрика экономит силы дважды: при проектировании и при показе.

6. Сборка фрагмента MVP_SPEC.md

Когда пользователь, проблема, JTBD и метрика описаны по отдельности, их уже легко собрать в рабочий фрагмент документа. Ещё не весь MVP_SPEC.md, но уже его самая живая середина: часть, после которой идея перестаёт быть красивым облаком и становится понятным продуктовым срезом.

Вот как это может выглядеть для нашего AI Support Agent:

## Пользователь
Оператор поддержки небольшого интернет-магазина.
За смену обрабатывает 60–100 обращений и работает в inbox магазина.

## Проблема
Типовые вопросы о доставке и статусе заказа занимают слишком много времени,
из-за чего сложные и дорогие refund-кейсы можно пропустить.

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

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

## Метрика успеха
На 10 sample tickets система верно классифицирует не менее 8,
а refund выше $100 всегда требует ручного approval.

Если ваш capstone — чистый MVP, фрагмент живёт в MVP_SPEC.md. Если нет — не выносите его в отдельный параллельный файл: встройте тот же блок в существующий SPEC.md как уточнение продуктовой части. Логика не меняется: честно ответьте, кто получает пользу, в какой ситуации и по какому наблюдаемому признаку вы поймёте, что проект облегчает жизнь.

И тут приятная магия без всякой мистики. Четыре блока написаны нормально — и дальше проще решать: какие данные нужны, что входит в проект, что лишнее, где нужен человек в контуре, что показывать на demo. Claude Code тоже работает лучше — перестаёт гадать, о каком «улучшении поддержки» шла речь, и помогает в рамках понятной задачи с конкретным пользователем и земным результатом.

1
Задача
Claude code, 30 уровень, 2 лекция
Недоступна
JTBD через Claude CLI с чистым контекстом
JTBD через Claude CLI с чистым контекстом
1
Задача
Claude code, 30 уровень, 2 лекция
Недоступна
Документ user / workaround / JTBD / metric
Документ user / workaround / JTBD / metric
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ