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 теж працює краще — перестає гадати, про яке «покращення підтримки» йшлося, і допомагає в межах зрозумілого завдання з конкретним користувачем і приземленим результатом.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ