Два самых популярных способа описать функциональность: user story (коротко, для гибкой команды) и use case (подробный сценарий). На собесе часто просят написать то и другое прямо на встрече.
User story
Шаблон: Как <роль>, я хочу <действие>, чтобы <ценность>.
Как покупатель, я хочу сохранить карту при оплате, чтобы следующие покупки оплачивать в один клик.
Часть «чтобы» обязательна: без неё непонятно, зачем делать, и нельзя предложить решение проще.
История сама по себе это обещание разговора. Детали живут в критериях приёмки и обсуждении (принцип 3C: Card, Conversation, Confirmation).
INVEST
Хорошая история:
- Independent: независима от других, можно делать в любом порядке.
- Negotiable: детали обсуждаются.
- Valuable: несёт ценность пользователю или бизнесу.
- Estimable: команда может оценить.
- Small: влезает в спринт.
- Testable: можно проверить.
Критерии приёмки
Формат Gherkin: Given (дано) / When (когда) / Then (тогда).
Сценарий: сохранение карты
Дано покупатель авторизован
И в корзине товар на 1500 рублей
Когда он оплачивает картой с отметкой «Сохранить карту»
Тогда платёж проходит
И в профиле появляется карта с последними 4 цифрами
Критерии описывают поведение, а не реализацию: «появляется карта» вместо «в таблицу cards вставляется строка».
Альтернатива Gherkin: список правил («Сохраняется не больше 5 карт», «Полный номер карты не показывается»).
Нарезка больших историй (эпиков)
Эпик «Оплата картой» режут:
- по шагам процесса (оплата, сохранение, удаление карты);
- по правилам бизнеса (обычная оплата, оплата с 3-D Secure);
- по вариантам данных (рубли, другие валюты);
- по ролям;
- «сначала простой путь, потом исключения».
Резать по слоям («бэкенд», «фронт») плохо: ни одна часть не несёт ценности отдельно.
Use case
Подробный сценарий по Коберну:
- Название: Оформить возврат.
- Актор: покупатель. Заинтересованные: склад, бухгалтерия.
- Предусловия: заказ доставлен не более 14 дней назад.
- Основной сценарий: 1. Покупатель открывает заказ. 2. Выбирает товар и причину. 3. Система рассчитывает сумму. 4. Покупатель подтверждает. 5. Система создаёт заявку и показывает номер.
- Альтернативные потоки: 3a. Товар из акции: сумма считается с учётом скидки.
- Исключения: 2a. Прошло больше 14 дней: система показывает отказ и контакты поддержки.
- Постусловия: заявка в статусе «Создана», складу пришло уведомление.
Story или use case
- User story: Scrum, частые итерации, продукт развивается.
- Use case: сложная логика с ветками, интеграции, регламент, нужна полнота.
- Часто сочетают: эпик описан use case, внутри него набор историй.
Частые ошибки
- «Как система, я хочу…»: система не пользователь, ценности нет. Исключение: технические истории, но их лучше формулировать через пользу.
- Нет «чтобы».
- Критерии приёмки непроверяемы: «удобно», «быстро».
- История на месяц работы.
Что спросят на собесе
- Напиши user story и критерии приёмки для функции «восстановить пароль».
- Что такое INVEST?
- Чем use case отличается от user story? Когда что выбирать?
- Как нарезать эпик?
- Что такое Definition of Ready и Definition of Done?