Пользовательские истории

Пользовательские истории или User Case - это короткая формулировка намерения, которая описывает, что система должна делать для пользователя.

Надо запомнить, что user case - это не требования! Прежде всего, это шанс увидеть различные варианты реализации, чтобы потом можно было воспользоваться открывшимися возможностями. А требования - это решить все наперед.

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

Нюансы пользовательских историй

  • Они короткие и понятны всем
  • Они представляют функциональность, которая может быть быстро реализована
  • Они не слишком детализированы
  • Они требуют минимум или не требует сопровождения

Этапы пользовательских историй

  1. Написание историй
  2. Обсуждение историй
  3. Определение критерий готовности
  4. Повтор пунктов при необходимости

Проверка user case

  • История не зависит от выполнения других историй
  • Обсуждение истории происходили несколько раз
  • Реализованная история принесет реальную бизнес-ценность
  • Возможно оценить трудозатраты, необходимые для выполнения истории
  • Историю можно реализовать за одну итерацию
  • Есть понятные критерии приемки и тестовые сценарии для проверки реализации

Написание пользовательских историй

Текст должен объяснять действия пользователя, его потребность и пользу, которую он получит, когда история реализуется.

Основные компоненты:

  1. Роль (персона)
    1. Разделить всех пользователей по группам
    2. Писать истории с точки зрения этих групп
  2. Действие
    1. Что нужно сделать, в этом и есть суть истории. Главное в истории указывать Что делает, а не Как делает.
    2. Описывать проблема, а не ее решение.
  3. Влияние (ценность)
    1. Отказаться от формулировки "чтобы".
    2. История обязательно должна оказывать влияние на указанную роль.

Лучший образец истории

Как, <роль пользователя>, я <что-то хочу получить>, <с такой-то целью>.

Советы для написания историй

  • Лучше много историй поменьше, чем несколько больших
  • Избегать привязки к интерфейсу
  • История должна быть протестирована до написания кода
  • История должна приводить к конкретному результату
  • Писать истории командой, менеджер, клиент, стейкхолдер

Примеры

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

После написания историй, когда все обсудили и утвердили, то остается перейти к их реализации.