Для чего может служить карта пользовательских историй user story map
User Story Mapping – инструкция по применению
Четвертая статья из серии инструкций по инструментам, которые помогут сделать лучше ваши продукты и жизнь клиентов.
User Story Mapping (USM, карта пользовательских историй) – инструмент целостного проектирования продукта на основе пользовательского пути.
Для чего применяется USM?
Как построить User Story Mapping?
Для построения USM вам потребуется:
Ваша задача — спроектировать по шагам действия пользователя в продукте на основе его реального сценария.
Рассмотрим USM на примере
Магазин цветов решил запустить сайт. Визуализируем опыт клиентов с помощью техники USM.
Обратите внимание, что итоговый приоритет определяется сценарием пользователя. Мы идем слева направо, и только затем по версиям – ведь мы хотим принести больше ценности пользователю. А для пользователя, как правило, ценность тем выше, чем более полно наш продукт закрывает его сценарий.
User Story Mapping – мощный инструмент, позволяющий команде разработки за пару часов взглянуть на бэклог продукта глазами пользователя.
Гайд по User Stories для Junior BA / PO / PM
Статья будет полезная Junior-специалистам, которые так или иначе работают с документацией на проекте. В статье рассматриваются как сами пользовательские истории, так и критерии, по которым можно написать хорошую историю. Из статьи читатель сможет подчерпнуть и как писать истории, и как правильно дополнить их деталями, и какие детали важны, и как не перегрузить историю.
Содержание:
Вводная информация о User Stories
Что такое User Stories
Сейчас User Stories являются одним из главных приемов работы бизнес-аналитиков и Product Owner. Бизнес-стейкхолдеры рассказывают эти истории, чтобы показать команде разработки суть и ценность задачи, которую надо реализовать. Они короткие, написаны деловым языком и поэтому понятны всем заинтересованным лицам проекта.
Дать емкое определение этому приёму сложно. Его внешняя простота заставляет сводить его описание к внешним характеристикам. Поэтому я, как автор, хотел бы дать читателю несколько определений.
В качестве первого ответа приведем «официальное» определение из книги М. Кона «Пользовательские истории: гибкая методология разработки ПО».
Пользовательские истории — это краткое описание функциональности, детали которой должны уточняться в ходе устных обсуждений между заинтересованными лицами проекта.
Такое определение не помогает разобраться в сути приема и его распространенности среди пользователей. Неужели главное — это записи или то, что детали должны уточняться? Думаю, нет. Поэтому я не бросил копания и начал смотреть другие источники. Множество сайтов предлагает такое определение:
Этот ответ тоже не удовлетворил моё любопытство. Такое определение ставит во главу угла формат. Ведь User Story может существовать и без какой-то части (As a user, I want to save data) и быть написанной без обсуждения интровертным продакт-овнером. Но самое главное — об этом будет ниже — User Story может быть написана по совершенно иному формату!
Пройдя круг обсуждений с ментором, прочитав и посмотрев много статей и видео, я понял, что главное в пользовательской истории — это ценность, которую пользователь получит от функции. Поэтому я попытался сгенерировать определение:
Очень важно отметить, что история и ее ценность может быть направлена не только на какую-то группу пользователей. Она может быть направлена на команду разработки (обновить компонент, добавить компонент, переделать код. ), Product Owner или представителей бизнеса.
Далее в статье я использую однострочные примеры пользовательских историй: «Как Х, я хочу Y, чтобы Z«. Тем не менее, многие аналитики использую другой подход, который считается даже более каноничным.
Так, истории пишутся в три строки:
Job Stories
В целом Job Stories — схожая с US техника. Можно назвать их приёмом-субститутом, ведь обычно они не используются вместе и выполняют максимально похожую функцию. Job Stories представляют требование в виде действия, которое выполняет пользователь. Они не описывают саму функцию, а лишь концентрируют внимание команды на потребности.
Job Stories концентрируются на психологической части фичи, на эмоциях, тревогах и прочем, что может возникнуть во время использования функции.
«Тело» JS делится на три части:
Situation: дает контекст обо всей JS, который помогает dev-команде придумать возможное решение.
Motivation: описывает невидимую руку, которая ведет юзера к использованию данной функции.
Expected Outcome: описывает, что получит юзер после использования функции.
Job Stories могут писаться по двум форматам:
В одну строку:
When X I want to Y so I can Z» или «When X, actor is Y so that Z.
В три строки:
When X
I want to Y
So I can Z.
When I want to withdraw money from my bank account, I want to know I have enough money in my account to withdraw some now so that I can go out to dinner with my friends.
Вопросы, которые следует задавать во время написания стори
Решает ли это настоящую проблему юзера?
Есть ли у такого решения какие-либо side effects? Влияет ли это на продукт в целом?
Какие последствия от такого решения?
А при работе с другими стейкхолдерами и выяснении первопричин нужды у них аналитик может использовать знаменитый приём «5 почему?».
Пример работы техники «5 почему».
Три С в User Story
Первое определение говорит о коммуникации и карточках, но не упоминает согласие. Эти три понятия образуют «the 3 C’s of User Stories».
Card — по задумке автора метода истории пишутся на физических карточках. В реальности они пишутся в Jira и Confluence, поэтому мы не так ограничены в детальности.
Conversation — каждая стори — это множество митингов вокруг нее, которые и направлены на понимание деталей.
Confirmation — перед началом работы клиент дает согласие на данное решение, а команда полностью уверена в выполнимости решения.
User Personas
Этот метод представляет собой детализированное описание пользователя продукта. Описание пользователя должно быть конкретным и детальным, ведь по его описанию члены команды должны понять, что это целевая аудитория приложения, которое они делают.
Создавая четкого и детального персонажа, аналитик требований или Product Owner уменьшает вероятность того, что нужды пользователя будут забыты или заменены на нужды тех членов проектной команды, которые ставят себя на место пользователей.
Карточка персонажа не обязана быть полностью правильной, но она обязана содержать максимальное количество деталей.
Наиболее важными деталями персонажа являются его имя, место работы (роль в системе), место проживания. Причём имя и роль в будущем могут использоваться и при написании историй:
Как Георгий, я хочу печатать документы, чтобы я мог работать над ними вне компьютера.
Стоит также отразить маркетинговые характеристики персонажа такие как предпочитаемые бренды, блюда, увлечения и хобби. Эти характеристики важны не только, чтобы знать для кого мы создаем ПО, но и как его рекламировать и продавать. Описание должно также раскрывать и характер персонажа. Он веселый или чаще хмурится? Он делится информацией в соцсетях или вовсе не ведет их?
В описании следует отразить и задачи, которые наиболее важны для персонажа в его работе с системой. Это поможет всей команде увидеть нужды персонажа и поможет создать стимул для покупки премиум-версии или подписки.
Не стоит забывать и об еще одной важной детали. Персонажи не могут «гулять» из продукта в продукт, но человек, который создаёт их описание, может обращаться к давно созданным образам как за вдохновением, так и за шаблоном описания.
Создав одного персонажа, можно отдохнуть и насладиться проделанной работой. Однако не стоит останавливаться, так как именно набор персонажей (от 3 до 10) поможет в будущем выстроить систему, которая поможет приоритизировать истории, благодаря пониманию того, что нужно тому или другому персонажу. А если что-то нужно двум из трех персонажей, то следует бросить все силы на эту функцию.
Что же в сухой практике использования User Personas?
Отрицательный персонаж
Не все персонажи должны создаваться, чтобы показать пользователей системы. Задача некоторых указать, кому в приложении нет места.
Создавая любое приложение для такси, мы вспомним, что в процессе заказа традиционно есть 3 участника: клиент, водитель, оператор. Скорее всего, задачей нашего приложения будет автоматизация работы оператора так, чтобы клиент мог связаться с водителем напрямую. В таком случае самому оператору в системе не будет места.
Ключевой персонаж
Ключевыми персонажами являются те, для кого и будет проводиться проектирование решения. Такой персонаж олицетворяет группу пользователей, которая будет либо чаще всего пользоваться приложением, либо имеет какие-то особенности, из-за которых им следует пользоваться приложением иначе. Такие персонажи заслуживают отдельных интерфейсов в системе.
Давайте вернемся к приложению для саппорта. В нем оба персонажа, которые всё-таки будут пользоваться системой, будут ключевыми. Так, тому, кто будет устранять жалобы, нужен интерфейс, который показывает жалобы и помогает выстроить маршрут. В тоже время клиенту, скорее всего, нужно посмотреть все его жалобы и оставить новую.
INVEST
По критериям INVEST мы можем судить, хорошо ли написана User Story и можно ли над ней работать.
I — Independent — Независимый
Следует избегать зависимости между историями, так как иногда это приводит к проблемам во время имплементации. (пример: задача А не может быть реализована без задачи Б, однако задача А — очень важна, а Б лишь желательно иметь в готовом продукте).
На практике это стремление не всегда достижимо. Например, в случае зависимости нескольких историй друг от друга, следует искать другой способ разбить их.
Мы хотим добавить в наш продукт поддержку банковских карт MasterCard, Visa и третьей системы. Тогда проще всего разделить эту стори на три. В первой, самой большой, разработчик должен добавить поддержку банковских карт в целом и какую-то из списка. А остальные две могут пойти в другую стори, которая зависит от первой.
N — Negotiable — Обсуждаемый
После написания черновика истории следует обсудить ее со стейкхолдерами и, возможно, внести изменения, исправить ошибки. В ходе обсуждения команда ещё не говорит о том, как данная история будет реализована, а обсуждается лишь то, как будет удовлетворяться нужда пользователя.
V — Valuable — Ценный
Каждая User Story должна нести пользу как пользователю, так и продукту, а описание должно создаваться так, чтобы ценность была наиболее очевидна. Так команда разработки будет понимать, зачем это нужно реализовывать.
Если ценность историй, которые несут новый функционал или улучшают старый, очевидна, то с теми, которые завязаны на технической стороне продукта, не все так очевидно. Но и истории, в рамках которой команда избавляется от легаси-кода, делает рефакторинг или переносит старый функционал на новую инфраструктуру (например, в новую базу данных) несут ценность для как для продукта, так и для пользователя. Скорее всего, пользователь ощутит их благодаря улучшению отзывчивости или скорости работы системы. Это следует отразить в описании такой задачи.
E — Estimable — Оцениваемый
История должна быть настолько ясно написана, чтобы у разработчика было достаточно понимания ведь без него он сможет выдать оценку, близкую к правде. Есть три причины, почему dev не может выдать оценку:
история слишком большая;
в описании недостаточно данных;
разработчику нужно больше опыта.
Однако подробнее об оценках поговорим в отделе “Оценка историй”.
S — Small — Компактный
Этот пункт говорит не о самом описании под историей, а о ее размере, времени на реализацию. На многих проектах команды устанавливают рамки, в которые должна уместиться история. Так, часто можно услышать о правиле, согласно которому история должна укладываться в рабочий день. Однако на других же пользовательской историей может считаться функция, на реализацию которой нужно несколько месяцев времени разработчика.
T — Testable — Тестируемый
Суть этого пункта не только в том, что команда тестировщиков должна понимать, что проверять, но и в том, что пользовательская история должна обладать чем-то, что можно посмотреть, запустить.
Однако не стоит забывать, что стоит писать истории так, чтобы QA-команда могла понять, какие кейсы и сценарии ей тестировать. Для создания этого понимания аналитику требований следует пользоваться критериями приемки и описанием сценариев по Gherkin. Подробнее об этих приемах можно прочитать в разделе “Как добавить деталей к истории”.
Как добавить деталей к истории?
Очень важно понимать, что когда работа над «телом» стори закончена, начинается работа над деталями, которые и помогут команде понять, что надо реализовать. Среди способов добавить детали самыми знаменитыми являются Acceptance Criteria и сценарии по Gherkin.
Acceptance Criteria
Что такое АС
Элемент User Stories, который дополняет их так, что команда начинает видеть историю в деталях. Этот инструмент помогает понять, что должно быть сделано, чтобы удовлетворить потребность бизнеса.
АС помогают увидеть фичу с точки зрения конечного пользователя, установить границы фичи и создать понимание того, что должно быть сделано и что будет проверяться.
Их надо понимать максимально буквально, потому что это те критерии по которым мы понимаем, выполнена история или нет.
Для чего нужны
Показывают фичу с точки зрения конечного юзера.
Для понимания задач бизнеса.
Достижения консенсуса с бизнесом относительно какой-то стори.
Служат базой для тестов.
Помогают эстимировать стори.
Правила написания
Мы пишем их не в форме should, а в настоящем времени (суть в том, что человек читает и видит, какими «способностями» обладает юзер или система).
Должны быть измеримы.
Пишутся ДО работы над задачей.
Включают функциональные и нефункциональные критерии.
Пользователь может выбрать цвет. Пример: есть дропдаун с цветами.
Не слишком узкие (привязаны к одному юз-кейсу-примеру) и не слишком широкие (понятно где сделано и как работает).
Не содержат технического арго.
Что делать, когда надо выбрать одно из нескольких решений?
Тогда на помощь приходит Evaluation Criteria. Используются, чтобы оценить ценность нескольких решений и выбрать нужное.
Компания хочет пообедать в итальянском веганском ресторане, где играет живая испанская гитара. Тогда ресторан, который подойдёт, должен соответствовать трем критериям:
1. Ресторан должен быть итальянским.
2. Ресторан должен быть должен подавать вегетарианские блюда.
3. В ресторане играет живая испанская гитара.
Gherkin
Scenario: Dr Bill posts to his own blog.
GIVEN I am logged in as Dr Bill
WHEN I try to post to my blog
THEN I should see «Your article was published»
Базовый синтаксис Gherkin
1) Пишется сценарий-скелет.
Scenario Outline: Dr Bill posts to his own blog.
Given I Have published
When I try to post a new blog
Then I should see
2) Создается таблица с примерами.
В данном примере мы должны показать связь между количеством постов в блоге и тем, какое сообщение увидит пользователь.Например:
Для чего может служить карта пользовательских историй user story map
Создание карт пользовательских историй в Agile-проектах
Аудио перевод статьи
Карты пользовательских историй помогают Agile-командам определять приоритетные элементы для разработки, а также визуально отображать, как отдельные составляющие продукта сочетаются друг с другом. Они направляют итеративный процесс разработки продукта и помогают учитывать интересы пользователей при обсуждении идей, а также расставлять характеристики продукта в приоритетном порядке.
Однако такой подход чаще всего не слишком эффективен. Чтобы тщательно изучить документы, необходимо время, которого зачастую и так не хватает. Даже те члены команды, которые прочитали их от начала до конца, скорее всего, получат совершенно разное представление о том, что им следует разрабатывать. Вместо того, чтобы способствовать повышению продуктивности команды, сложная для восприятия документация изначально подавляет творчество, мешает коммуникации и взаимодействию, а также препятствует креативному мышлению. В таком случае более эффективной альтернативой являются карты пользовательских историй — это упрощенное представление цифрового продукта, созданием которого занимается Agile-команда.
1. Что такое карты пользовательских историй
Определение: Карты пользовательских историй (также известные как карты историй) — это метод бережливого UX для описания пути пользователя, популярный среди Agile-команд. Данный метод предполагает использование стикеров для обозначения ожидаемых взаимодействий пользователя с цифровым продуктом в процессе достижения его целей.
Данный метод получил свою известность благодаря Джеффу Паттону. Карты пользовательских историй способны заменить длительный процесс составления списка технических требований и этапов доработки продукта, требующих особого, характерных для каскадной модели разработки. Карты историй стимулируют взаимодействие между членами Agile-команды, а также позволяют им увидеть более полную картину того, как функционирует цифровой продукт в целом и как его элементы сочетаются друг с другом. Последнее особенно важно в Agile-проектах, поскольку потеря общего представления о продукте — распространенная проблема, возникающая в командах, которые работают со списком отдельных пользовательских историй.
Карта пользовательской истории отображает 3 типа действий разной степени детализации: действия (в общем смысле), шаги и детали (конкретные действия). Действия и шаги пользователя отображаются горизонтально в верхней части карты, а детали — вертикально, под соответствующими шагами в приоритетном порядке. Чтобы показать каждый уровень карты истории, мы будем использовать в качестве примера функцию депонирования чеков (внесение средств с чека на счет) в мобильном приложении.
2. Почему карты пользовательских историй называются именно так
Пользовательские истории представляют собой сформулированные простым языком описания функций, элементов пользовательского интерфейса или задач. Это необходимо для того, чтобы члены команды могли обсудить друг с другом возможные решения, учитывая потребности конечных пользователей и выгоды, которые они могут получить. Подобные обсуждения помогают добиться общего понимания в команде намного быстрее, чем чтение документации, которая содержит требования к продукту. Пользовательские истории могут быть как общими (описывают продукт или какую-то функцию целиком), так и более конкретными (относятся к определенному элементу интерфейса). Например:
Agile-команды обычно создают краткие, но ценные пользовательские истории и используют их, чтобы спланировать и определить приоритеты для работы в каждом спринте. В карте пользовательской истории действия, шаги и детали обозначаются с помощью коротких, точных глагольных словосочетаний. На их основе создается первая половина пользовательской истории, в которой описывается то, какие потребности есть у пользователя и что он хочет сделать. Затем история может быть расширена за счет добавления ключевых преимуществ, которые составляют вторую ее часть. Таким образом, данный инструмент получил название “карта пользовательских историй” за счет того, что он позволяет преобразовывать глагольные словосочетания, записанные на карте, в настоящие подробные пользовательские истории, которые могут стать предметом дальнейшего обсуждения. В конце концов они будут снабжены критериями приемки и добавлены в перечень работ по продукту для определения приоритетности и оценки важности.
3. Как и когда создаются карты пользовательских историй
Карты историй можно использовать на любом этапе процесса разработки продукта, чтобы стимулировать обсуждение и выработать у команды единое понимание. Можно создать карту истории сразу после проведения первичных исследований, чтобы отобразить опыт взаимодействия пользователя с новым продуктом, а если продукт уже существует, то необходимо проведение юзабилити-тестирования. В любом случае карта историй показывает решения проблем, выявленных в ходе исследований. После создания карты историй команды будут продолжать работу и обращаться к ней: добавлять в нее пункты, а также менять карту таким образом, чтобы она отражала текущее состояние продукта и позволяла определить, над чем работать и что выпускать в последующих спринтах.
Карты историй наиболее эффективно создавать небольшой командой, в которой представители продукта, UX-специалисты, разработчики и тестировщики работают вместе, сообща обсуждая и разрабатывая план продукта. Перед началом работы важно обсудить следующие моменты:
При создании карты историй команды, работающие в одном помещении, используют стикеры и специальные доски. В то время как специалисты, работающие удаленно, могут воспользоваться видеосвязью, цифровыми таблицами с возможностью совместной работы, онлайн-презентациями или веб-приложениями. В работе над картой должен принимать участие каждый сотрудник.
Обозначьте каждый вид действий стикерами определенного цвета (реальными или виртуальными), чтобы карта историй выглядела организованно. Важно сформулировать действия, шаги и детали таким образом, чтобы они отражали то, чем занят пользователь в конкретный момент времени в ходе взаимодействия с продуктом. Например, если бы вы создавали цифровой продукт, использующий искусственный интеллект и машинное обучение, шаг в карте истории был бы обозначен как “Поделиться предпочтениями”, а не “Обучить искусственный интеллект”.
4. Карты пользовательских историй или карты пути клиента
Когда идет речь о картах пользовательских историй многие задаются вопросом, чем этот инструмент отличается от карты пути клиента. Ключевые различия заключаются в том, что при создании карт используются разные подходы, и каждая из них имеет свое назначение. Карта пути клиента определяет точку зрения пользователя, показывая шаги, которые он проходит для достижения цели, описывает его мысли, эмоции, каналы взаимодействия и устройства, которые он использует на этом пути.
Карта пользовательской истории подходит к вопросу с точки зрения продукта. Ее предназначение — направлять процесс планирования, внедрение характеристик и функций продукта для решения проблем пользователей. Проще говоря, карта пользовательской истории связывает те особенности, которые мы выявляем при составлении карты пути клиента, с теми решениями, которые мы собираемся реализовать в создаваемом продукте. Кроме того, она включает в себя общие идеи и возможности, возникающие в ходе работы над продуктом.
Если добавить в карту пути пользователя действия, шаги и детали, то она может легко превратиться в карту пользовательской истории. Точно так же карта пользовательской истории трансформируется в карту пути клиента, когда в нее добавлены контекст, мысли и чувства пользователей. Эти два типа карт могут эффективно применяться как вместе, так и по отдельности, ведь используемые для их создания методы исследования зачастую одинаковы.
5. Карты пользовательских историй в Agile
Карты пользовательских историй делают Agile-разработку более эффективной по нескольким причинам:
Заключение
Карты историй побуждают членов команды к продуктивным, ориентированным на интересы пользователей дискуссиям о создании продукта, делают идеи для бэклога более наглядными и позволяют командам увидеть общую картину. Если все сделано правильно, карты пользовательских историй помогают выявить логические и готовые к выпуску инкременты продукта (промежуточные результаты), которые соответствуют потребностям пользователей. Они также позволяют увидеть возможные последствия и области риска еще до начала разработки. Такой подход позволяет командам уже на ранних этапах иметь понимание того, что работает, а что нет. Опытные команды используют полученные знания, чтобы принимать решения о том, на каких задачах стоит сосредоточиться, чтобы максимально повысить удобство использования и ценность продукта.
И, наконец, самое главное: поскольку идея Agile заключается в том, чтобы принимать изменения и реагировать на них, а не следовать конкретному плану, карты историй способствуют более эффективной адаптации. Ведь намного проще заменить несколько стикеров, чем переписывать объемную документацию с требованиями к продукту и процессу его разработки.