Перейти к основному контенту
Tech Path Finder
КурсыИнтервьюКод-ревьюБлог
Tech Path Finder

Персонализированный путеводитель в IT. Квизы, мок-интервью, код ревью и аналитика прогресса.

@potapov_me

Платформа

  • Курсы
  • Прогресс
  • Мок-интервью
  • Код ревью
  • Живое ревью с ИИ
  • Тренажёр переговоров
  • Закладки

Контент

  • Блог
  • Главная
  • Обратная связь

Компания

  • О проекте
  • Тарифы
  • Условия использования
  • Конфиденциальность
  • Согласие на обработку данных
  • Cookie
  • Реквизиты

Аккаунт

  • Войти
  • Зарегистрироваться
  • Профиль

© 2026 Tech Path Finder. Все права защищены.

·ИП Потапов К.С.·Политика конфиденциальности·
Сделано с ❤️ в России
  1. User Stories
user_stories

User Stories

Критерии INVEST, критерии приемки, Gherkin

Учебник: Пользовательские истории (User Stories)

Время освоения: ~40 минут
Цель: Научиться писать качественные пользовательские истории, разбивать эпики и использовать их для эффективной разработки


#Быстрый справочник

#Формат User Story

Как [роль пользователя],
я хочу [конкретное действие / функция],
чтобы [ценность / результат].

#Критерии INVEST

БукваКритерийЧто проверить
IIndependent (Независимая)Можно взять в спринт без других историй?
NNegotiable (Переговариваемая)Детали обсуждаемы, не высечены в камне?
VValuable (Ценная)Даёт ценность реальному пользователю?
EEstimable (Оцениваемая)Команда может оценить сложность?
SSmall (Маленькая)Умещается в один спринт?
TTestable (Проверяемая)Есть чёткие критерии приёмки?

#Форматы Acceptance Criteria

ФорматПример
Список условийПользователь может войти с email и паролем
Gherkin (BDD)Given / When / Then
Given пользователь на странице входа When вводит корректный email и пароль Then система перенаправляет на главную

#Методы разбиения эпиков

МетодПрименение
По CRUDСоздание / Чтение / Обновление / Удаление
По ролямПользователь / Админ / Гость
По сценариямОсновной поток → Альтернативы → Ошибки
По приоритетуMVP сначала, остальное потом

#Хорошая vs плохая история

ПлохаяПроблемаХорошая
"Как разработчик, хочу написать API"Нет ценности для пользователя"Как покупатель, хочу войти в систему, чтобы видеть свои заказы"
"Как пользователь, хочу базу данных"Техническая, не оцениваемая"Как менеджер, хочу экспортировать отчёт в Excel"

#Введение (5 минут)

Пользовательские истории (User Stories) — это краткие описания функциональности с точки зрения пользователя, которые помогают команде фокусироваться на ценности для конечного пользователя.

Зачем нужны user stories:

  • Связь между бизнесом и разработкой
  • Фокус на ценности, а не на технической реализации
  • Упрощение коммуникации между заказчиком и командой
  • Основа для планирования спринтов и оценки работы

Основные принципы:

  • Пишутся от имени реального пользователя
  • Фокусируются на ценности, а не на реализации
  • Должны быть измеримыми и проверяемыми
  • Являются основой для акцепт-критериев и тестов

💡 Помните: User story — это не требование, а напоминание для разговора. Подробности обсуждаются во время разработки.


#Основные концепции пользовательских историй (25 минут)

#1. Стандартный формат

Формула: "Как [роль], я хочу [цель], чтобы [ценность]"

Примеры:

  • Хорошо: "Как пользователь, я хочу войти в систему, чтобы получить доступ к своим данным"
  • Плохо: "Как разработчик, я хочу написать API для входа" (техническая задача, не пользовательская история)

Ключевые требования:

  • Роль должна быть реальным пользователем (не "админ", а "менеджер по продажам")
  • Цель — конкретное действие
  • Ценность — четкая польза для пользователя

#2. Критерии INVEST

I - Independent (Независимая): Минимальные зависимости между историями
N - Negotiable (Переговариваемая): Детали обсуждаются, а не задаются жестко
V - Valuable (Ценная): Приносит ценность конечному пользователю
E - Estimable (Оцениваемая): Можно оценить сложность
S - Small (Маленькая): Помещается в один спринт
T - Testable (Проверяемая): Имеет четкие критерии приемки

Пример плохой истории: "Как пользователь, я хочу базу данных"

  • Не ценная для пользователя
  • Не оцениваемая
  • Не проверяемая
  • Слишком большая

Пример хорошей истории: "Как покупатель, я хочу найти товар по названию, чтобы быстро найти нужный продукт"


#3. Акцепт-критерии (Acceptance Criteria)

Что это: Конкретные условия, которые должны быть выполнены для того, чтобы история считалась завершенной.

Как писать:

  • Измеримые и тестируемые
  • Написаны до начала разработки
  • Согласованы с заказчиком
  • Фокусируются на поведении системы

Форматы:

  • Список условий: "Пользователь может...", "Система должна..."
  • Given-When-Then (Gherkin): "Given пользователь на странице входа, When вводит корректный email и пароль, Then система перенаправляет на главную страницу"

Пример для истории "Как пользователь, я хочу войти в систему":

  • Пользователь может ввести email и пароль
  • Система проверяет учетные данные
  • При неверном пароле показывается сообщение об ошибке
  • При успешном входе пользователь перенаправляется на главную страницу

#4. Разбиение эпиков на user stories

Эпик — крупная функциональность, которую нельзя реализовать за один спринт.

Методы разбиения:

  • По функциональности (CRUD): Создание, Чтение, Обновление, Удаление
  • По ролям пользователей: Админ, Пользователь, Гость
  • По сценариям использования: Основной поток, Альтернативные потоки, Ошибки
  • По техническим слоям: Frontend, Backend, Интеграции
  • По приоритету: MVP сначала, затем дополнительные функции

Пример: Эпик "Управление заказами"

  • Как пользователь, я хочу просмотреть свои заказы
  • Как пользователь, я хочу оформить новый заказ
  • Как пользователь, я хочу отменить заказ
  • Как админ, я хочу просмотреть все заказы
  • Как админ, я хочу изменить статус заказа

#5. Gherkin и BDD

Gherkin — формат описания сценариев тестирования в виде Given-When-Then.

Пример:

Feature: Вход в систему
  Scenario: Успешный вход с корректными данными
    Given пользователь находится на странице входа
    When пользователь вводит корректный email и пароль
    Then система перенаправляет на главную страницу
    And показывается приветствие с именем пользователя

Как используется:

  • Для автоматизации тестов
  • Для документации требований
  • Для улучшения коммуникации между заказчиком и командой
  • В рамках BDD (Behavior-Driven Development)

#Практическое применение и адаптация (10 минут)

#1. Анти-паттерны пользовательских историй

Основные анти-паттерны:

  • Истории без ценности для пользователя ("Как разработчик...")
  • Слишком большие эпики вместо маленьких историй
  • Отсутствие акцепт-критериев
  • Технические задачи вместо пользовательских историй
  • Истории с абстрактными ролями ("админ", "пользователь")

Решения:

  • Применять INVEST критерии
  • Разбивать эпики на маленькие истории
  • Совместная работа с заказчиком над акцепт-критериями
  • Использовать вопросы для улучшения качества

#2. Адаптация для разных типов проектов

B2C (потребительские продукты):

  • Фокус на пользовательском опыте и эмоциях
  • Пример: "Как покупатель, я хочу быстро найти товар, чтобы сэкономить время"

B2B (бизнес-решения):

  • Фокус на бизнес-процессах и ROI
  • Пример: "Как менеджер по продажам, я хочу импортировать клиентов из Excel, чтобы сократить время на ввод данных на 80%"

Внутренние системы:

  • Фокус на эффективности и интеграции
  • Пример: "Как HR-специалист, я хочу автоматически генерировать отчеты по сотрудникам, чтобы сократить время подготовки отчетов с 4 часов до 15 минут"

#Типичные ошибки

ОшибкаПочему это плохоКак исправить
История от имени разработчика: «Как разработчик, хочу написать API...»Нет ценности для пользователя, нельзя приоритизировать относительно бизнес-целейРоль = реальный пользователь, ценность = бизнес-результат
Нет Acceptance CriteriaКоманда угадывает, что значит «готово», PO переделывает работуAC пишутся до разработки, согласовываются с PO на Refinement
Acceptance Criteria пишут после разработкиРазработчик сделал «как понял», AC подгоняют под результатAC = контракт, подписанный до начала работы
Эпик берут в спринт без разбивкиЭпик не завершается, velocity = 0, Sprint Goal не достигнутаЛюбая история > 8 SP должна быть разбита на меньшие
Абстрактная роль «пользователь» без конкретикиНет контекста, непонятно что важно для этого типа пользователя«Менеджер по продажам», «новый покупатель», «admin корпоративного аккаунта»
История описывает решение, а не потребностьКоманда реализует конкретное решение, упуская лучшие вариантыОписывать «зачем», а не «как»: что хочет достичь пользователь

#Практические упражнения

#Упражнение 1: Анализ историй

Оцените следующие истории по INVEST критериям:

  1. "Как разработчик, я хочу написать API для входа"
  2. "Как пользователь, я хочу войти в систему"
  3. "Как менеджер, я хочу видеть отчеты по продажам"

Что можно улучшить?

#Упражнение 2: Разбиение эпика

Эпик: "Управление профилем пользователя" Разбейте его на 5-7 маленьких user stories с акцепт-критериями.

Далее: Масштабирование Agile