Методология User Story
User Story (пользовательская история) - это методология, используемая в разработке программного обеспечения для описания функциональных требований с точки зрения конечного пользователя.
Подход помогает командам сосредоточиться на потребностях пользователей и создавать более ценные и удобные продукты.
Также повышается прозрачность передачи информации от заказчика вперёд по цепочке производства вплоть до доставки функциональности на прод.
Проблемы ТЗ для продуктовой разработки
- Потеря ценности
- При передаче бизнес требований от одного человека к другому низкоописанные требования будут заполнены фантазиями и галюцинациями исполнителя.
- Трата времени
- Для повышения понимания поставленной задачи исполнителям нужно будет больше коммуницировать с заказчиком.
- Потеря качества
Основные компоненты User Story
Пользовательская история обычно включает следующие элементы:
- Роль пользователя
- Действие
- Что пользователь хочет сделать (например: купить товар со скидкой 11.11, повысить продажи во время акции 11.11).
- Цель
Дополнительно, каждая история должна содержать критерии приемки, которые определяют условия, при которых задача считается выполненной.
Принципы написания User Story
Для создания эффективных пользовательских историй часто используется акроним INVEST:
- Independent (Независимость)
- Negotiable (Обсуждаемость)
- Valuable (Ценность)
- Estimable (Оценимость)
- Команды должны быть в состоянии оценить время и усилия для реализации без доп консультаций во время реализации.
- Small (Маленькие)
- Testable (Тестируемость)
Процесс создания User Story
- Определение целевой аудитории
- Выявление потребностей пользователей
- Создание списка User Stories
- Приоритизация историй
- Определение наиболее важных задач для пользователей и бизнеса.
- Приоритизация должны строиться на основании одного из методов, исключая субъективизм.
- Список методов можно почитать тут
- Детализация описаний
Преимущества использования User Story
- Улучшение коммуникации
- User Stories способствуют лучшему пониманию требований между командами разработки и заинтересованными сторонами.
- Итеративная разработка
- Истории помогают разбить проект на управляемые части, что упрощает процесс разработки в рамках Agile-методологий.
- Фокус на пользователе
Хорошие пользовательские истории
- Я, как пользователь сайта, хочу иметь возможность детально принимать результат рассчёта скидок по акции 11.11
- Я, как пользователь, хочу иметь возможность добавлять товар в список избранных, для того чтобы в дальнейшем быстро находить его.
- Я, как пользователь панели с правами супер-админа, хочу иметь возможность посмотреть список администраторов системы, для того чтобы наглядно видеть тех, кто имеет к ней доступ.
Плохие пользовательские истории
- Создать страницу товара.
- Добавить функциональность поиска.
- Как пользователь, я хочу, чтобы продукт был лучше.
- Я, как администратор системы, хочу иметь возможность добавлять, редактировать и удалять категории товаров, фильтровать и сортировать их. Я также хочу настраивать права доступа к этим функциям для разных ролей.
Визуализация User Story
Для этого существуют несколько подходов, один из самых простых - User Story Mapping (Карта Пользовательских Историй).
USM - это метод визуализации, основанный на User Stories.
Какие действия необходимо выполнить:
- В любом удобном инструменте (Google Sheets, MS Excel, либо специализированных, подготовить шаблон, вот тут можно забрать пример);
- Перенести в строку Users ранее выявленные пользовательские роли;
- Перенести в строку Actions ранее выявленные действия: для каждой роли реализуемых действий может быть несколько;
- Для каждого действия заполнить историю;
- Декомпозировать реализацию истории на цепочку понятных неделимых действий;
- Разбить реализацию таким образом, чтобы действия умещались в возможности команды в рамках релизного цикла.
В результате получается понятный, хорошо декомпозированный план, который можно передать в команду производства для реализации без риска столкнуться с неоднозначным прочтением требований