← Назад к вопросам

Как часто используешь User Story?

2.0 Middle🔥 251 комментариев
#Методологии разработки#Требования и документация

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Как часто использую User Story

Отвечу прямолинейно: ВСЕГДА. User Story — это основной инструмент моей работы как BA. Буквально каждый день я пишу, уточняю или переписываю user stories.

Зачем использовать User Story?

User Story — это не просто документирование. Это:

  1. Фокусирование на пользователе — не на технологии, а на том что нужно ЧЕЛОВЕКУ
  2. Краткость — max 3 предложения, не томов документации
  3. Разговор — это не приказ, а начало диалога
  4. Тестируемость — можно написать тесты на основе AC
  5. Оценка — разработчики могут прикинуть сложность

Стандартный формат User Story

As a [type of user]
I want [action]
So that [value/benefit]

Реальные примеры из моей практики

Пример 1: Простая фча

As a customer
I want to save my payment method
So that I don't have to enter it every time

Acceptance Criteria:
✓ User can click "Save card" checkbox at checkout
✓ Card is saved to user's account
✓ On next purchase, saved card appears in dropdown
✓ User can delete saved card from profile
✓ Only card last 4 digits are shown (security)
✓ Card is encrypted in database

Story Points: 5
Dependencies: Payment API v2
Risks: PCI compliance

Пример 2: Сложная фча

As a shop owner
I want to see analytics of my sales
So that I can understand what's selling and optimize inventory

Acceptance Criteria:
✓ Dashboard shows total sales for selected period
✓ Can filter by product category
✓ Can filter by date range (custom or preset: today, week, month)
✓ Shows top 10 products by revenue
✓ Shows top 10 products by quantity
✓ Can export data as CSV
✓ Data updates in real-time (max 5 min delay)
✓ Mobile view is readable
✓ Load time < 2 seconds

Story Points: 13
Technical Notes:
- Use existing analytics DB
- Create aggregation job (run hourly)
- Cache results for performance
Dependencies: Analytics data pipeline (done)
Risks: Large data sets might be slow

Пример 3: User story с множественными personas

As a [moderator]
I want to [filter comments by date or author]
So that [I can find and remove spam/inappropriate comments faster]

OR

As a [content creator]
I want to [see all comments on my posts]
So that [I can respond to feedback and engage with audience]

Acceptance Criteria:
✓ Moderator can filter comments by date range
✓ Moderator can filter comments by author username
✓ Moderator can sort by newest/oldest/most liked
✓ Creator gets notification for new comments
✓ Creator can disable comments on specific post
✓ Both can delete comments with reason
✓ Deleted comments show as "[deleted by moderator]"

Story Points: 8

Как часто я пишу User Story?

В день (типичный день):

  • Новые stories: 2-4 шт (когда приходят требования)
  • Уточнения: 1-3 шт (когда разработчики задают вопросы)
  • Переписывание: 1-2 шт (когда нашёл ошибку в требований)
  • Удаление: 0-1 шт (когда требование потеряло актуальность)

Итого: 4-10 stories в день

В спринт (2 недели):

  • Подготовка к спринту: 15-20 новых stories
  • Груминг: уточнение 30-40 stories
  • Во время спринта: правки 5-10 stories

Итого: примерно 50+ stories за спринт

Жизненный цикл User Story в моём процессе

Этап 1: Создание (День 1-2)

Стейкхолдер приносит требование:

Клиент: "Нам нужна фича для рефералов"
Я: "Отлично. Давайте уточним..."

Я пишу первый черновик:

As a customer
I want to refer friends and get reward
So that I can get discount on my purchases

[AC not yet defined]
[Story Points: TBD]

Худший вариант — остановиться здесь. Но я продолжаю.

Этап 2: Уточнение (День 3-4)

Меетинг с PM, дизайнером, TL:

Вопрос: "Какой reward? Деньги или скидка?"
Ответ: "Скидка 10% максимум"

Вопрос: "Может ли друг отказать реферал?"
Ответ: "Да, может. Нужна ссылка для отказа."

Вопрос: "Сколько друзей можно пригласить?"
Ответ: "Неограниченно, но одну скидку в месяц."

Обновляю story:

As a customer
I want to generate a referral link and share it with friends
So that they can sign up and both of us get 10% discount

Acceptance Criteria:
✓ User can generate unique referral link from profile
✓ Link contains tracking code (e.g., ?ref=abc123)
✓ User can copy link or share via email/SMS/social
✓ Friend can click link and gets pre-filled referral code at signup
✓ When friend completes first purchase, both get 10% discount
✓ Discount applies to next purchase, not current
✓ Maximum 1 referral discount per customer per month
✓ Friend can opt-out if referred before signup
✓ Referral history visible in user account

Этап 3: Оценка (Груминг сессия)

Разработчики дают estimate:

Dev 1: "Это 8 points. Нужна работа в backend, email отправка, analytics."
Dev 2: "Я говорю 5. Ссылка это просто параметр URL."
Lead: "Давайте сначала 5 (MVP), потом доделаем email и SMS (13)."
Я: "Согласен. Разбиваем на две story:"
  - Story 1: Basic referral link (5 points)
  - Story 2: Share via email/SMS (8 points)

Этап 4: Разработка (Спринт)

Оперативные уточнения:

Dev: "А если друг уже зарегистрирован? Что показывать?"
Я: "Хороший вопрос. Добавляю AC: 'If friend already registered, show error message'"

QA: "Нужно ли тестировать с реальной рефералом?"
Я: "Да, создам тестовый аккаунт для юз-кейса"

Этап 5: Демо и Feedback

После разработки:

Cliente: "Отлично! Но пользователи просят видеть сколько друзей они уже пригласили"
Я: "Создаю новую story: 'As a customer, I want to see list of my referrals'"

Этап 6: Архив

Завершённые story переходят в "Done" но остаются в системе. Я ссылаюсь на них когда возникают похожие требования.

Ошибки которые я раньше делал

❌ Ошибка 1: Слишком подробные stories

Цвет кнопки: #FF6B6B
Шрифт: Inter, 14px, weight 600
Margin: 12px
Border radius: 4px
...
[ещё 20 пунктов]

Проблема: Это не user story, это specification. Разработчик должен иметь свободу в реализации.

Исправил на: Только поведение, не implementation details.

❌ Ошибка 2: Слишком абстрактные stories

As a user
I want to see better UX
So that I'm happy

Проблема: Что такое "лучше"? Это нетестируемо.

Исправил на: Конкретные AC с измеримыми критериями.

❌ Ошибка 3: Forget о negativen cases

As a customer
I want to add items to cart
So that I can purchase them

Проблема: Что если item нет в наличии? Что если price изменился?

Исправил на: Добавляю AC для всех случаев:

  • ✓ Item added when available
  • ✓ Show error if out of stock
  • ✓ Price updates if changed before checkout

Инструменты для управления User Stories

Я использую:

  1. Jira — основной инструмент для tracking
  2. Confluence — для документирования complex requirements
  3. Figma — для примеров UI
  4. GitHub — для связи с техническим бэклогом

Шаблон User Story который я использую

## [Feature Name]

### User Story
As a [persona]
I want [action]
So that [benefit]

### Context / Background
- Why this feature matters
- Business metrics
- User pain points

### Acceptance Criteria
✓ [Testable requirement 1]
✓ [Testable requirement 2]
✓ [Negative case]
✓ [Edge case]
✓ [Performance requirement]
✓ [Security requirement]

### Technical Notes
- Dependencies
- Potential risks
- Implementation hints
- Architecture changes if needed

### Design Reference
[Link to Figma]
[Screenshot]

### Acceptance
Done when:
- Code review approved
- Tests pass
- QA verified all AC
- Product owner signed off

### Story Points: [5]
### Priority: [High/Medium/Low]
### Sprint: [Sprint XX]

Вывод

User Story — это DNA моей работы. Это не просто формальность, это способ:

  • Фокусировать команду
  • Договариваться о требованиях
  • Тестировать готовность
  • Отслеживать прогресс

Я пишу user stories постоянно. Может быть это звучит скучно, но для меня это самая интересная часть работы — преобразовать размытые требования в ясные, выполнимые истории.