Если вы думаете, что создание карты историй – это сложный, загадочный или в каком-нибудь еще смысле трудный процесс, то разрешите мне прямо сейчас доказать, что это не так. На самом деле у вас уже сейчас есть все, чтобы разобраться в базовых понятиях, необходимых для создания карты. Давайте прямо сейчас рассмотрим пример, взятый из обычной жизни. А чтобы было интереснее, возьмем его из вашей жизни. По ходу дела я познакомлю вас с самыми важными понятиями процесса составления карт, суть которых вы уже понимаете.
Приготовьте пачку стикеров, ручку – и начнем. Не спешите, приступим, когда у вас будет достаточно времени. Я подожду.
Готовы?
1. Запишите свою историю по одному шагу за раз
Закройте глаза и вернитесь к моменту пробуждения сегодня утром. Вы же проснулись сегодня утром, правда? Что вы сделали прежде всего? А сейчас откройте глаза и запишите это действие на стикере. Я тоже сделаю это: мое первое действие сегодня утром было «Переключил будильник», что я и написал на бумажке. Не слишком интересно, правда? Хотя бывают дни, когда мне приходится переключать будильник два или три раза.
А сейчас оторвите этот стикер и приклейте его на стол перед собой. Затем подумайте о следующей вещи, которую вы сделали. Вспомнили? Теперь запишите ее на следующем стикере и приклейте его, поместив справа от предыдущего. Продолжайте в том же духе. На моих следующих стикерах написано: «Выключил будильник» и «Поплелся в ванную».
Продолжайте записывать свои действия на бумажках, пока не доберетесь до выхода из дома на работу или куда-то еще, куда вы собирались сегодня. Я обычно заканчиваю на «Подошел к машине» и перехожу к пути на работу. Думаю, вам понадобится не больше трех-четырех минут, чтобы написать все эти стикеры.
Задачи – это то, что мы делаем
Посмотрите на то, что у вас получилось. Вы заметили, что все или почти все стикеры начинаются с глагола? Короткие глагольные фразы, вроде «почистил зубы» или «принял душ» – это задачи, или попросту действия, необходимые для достижения какой-то цели. Когда мы описываем задачи людей, использующих наше ПО и выполняющих по порядку какие-то действия, чтобы достичь определенной цели, мы называем их пользовательскими задачами. Это самое важное понятие в создании хорошей карты историй, не говоря уже о написании и изложении хороших историй. Вы убедитесь, что почти все стикеры в картах историй содержат короткие глагольные фразы, обозначающие действия, которые делают люди при использовании вашего ПО.
А сейчас остановимся на минуту – подумайте, было ли это сложно? Я попросил вас записать то, что вы делали, и задачи легко возникли у вас в голове. Не правда ли, хорошо, что самое важное в процессе происходит так естественно?
Поэтому не стоит бояться слова «задача». Если вы менеджер проекта, то должны знать, что проектные планы полностью состоят из задач. Если вы когда-либо использовали истории в разработке Agile, то знаете, что планирование включает в себя написание большого количества задач на разработку и тестирование. Если же вы не менеджер и не программист, то будьте осторожны, употребляя слово «задача»: другие люди могут понимать под ним то, что привычно для них, как в примерах, приведенных ранее, и могут сказать, что вы ошибаетесь.
Пользовательские задачи – основной строительный материал для карты историй.
А сейчас посчитайте, сколько задач вы записали.
Большинство людей в этом упражнении записывают от 15 до 25 задач. Если вы записали больше, это поразительно. Если меньше – что ж, можно позавидовать простоте вашей жизни, я бы тоже хотел собираться по утрам так быстро. Но, может быть, вам стоит еще раз посмотреть на свой список и проверить, не пропустили ли вы чего.
Мои задачи отличаются от ваших
Думаю, для вас не станет новостью то, что люди отличаются друг от друга. Эти различия хорошо заметны в способах, которые люди выбирают, чтобы чего-то добиться.
Например, многие достаточно мотивированы и дисциплинированны, чтобы каждое утро делать зарядку. Если у вас есть хоть один стикер, связанный с физкультурой, жму вам руку! Я все еще работаю над собой в этом смысле.
У других людей больше утренних обязанностей по сравнению с вами из-за условий, в которых они живут. Например, если у вас есть дети, могу поспорить, что вы записали несколько задач, которые людям бездетным и в голову не придут. Если есть собака, то, должно быть, найдется задача-другая, связанная с заботой о животном.
Не забывайте об этом, думая о людях, которые будут использовать ваше ПО. Они могут работать с приложением, имея различные цели. Они могут применять его в разных обстоятельствах, из-за чего им приходится учитывать интересы других людей или процессов.
Я ориентирован на детали
Как правило, выполняя это упражнение, некоторые люди записывают больше деталей, чем другие. Вместо краткого «Приготовил завтрак» они могут написать нечто вроде «Положил хлеб в тостер», «Налил сок в стакан» или, если это моя жена, «Добавила в смузи кале», что создает некоторые проблемы в наших отношениях.
Задачи похожи на камни. Если вы возьмете большой камень и стукнете по нему молотком, он разобьется на кучку осколков, но эти осколки – такие же камни. То же самое происходит с задачами. Я не сумею определить, достаточно ли камень велик, чтобы считать его валуном, или достаточно мал, чтобы считать его галькой, но способ отличить крупные задачи от мелких существует.
Мой друг Алистер Коберн описал концепцию целевых уровней в книге «Написание эффективных пользовательских ситуаций» (Cockburn Alistair, Writing Effective Use Cases, издательство Addison-Wesley Professional). Не волнуйтесь, расписывать пользовательские ситуации мы сейчас не будем – это просто концепция, очень полезная при обсуждении поведения людей.
Алистер пользуется метафорой уровней высоты: уровень моря находится в середине, а все остальное – выше или ниже его. Задача на уровне моря – это то, что мы собираемся сделать, прежде чем намеренно остановимся и перейдем к чему-то еще. В ваших задачах наверняка есть «Принял душ». Это и есть задача на уровне моря – вы же не выключаете воду, думая: «Этот душ, похоже, затягивается, пойду-ка я выпью чашечку кофе, а потом закончу мыться». Алистер называет такие вещи задачами функционального уровня и помечает их значком океанской волны. Но я их называю просто задачами.
Задача «Принять душ» может быть разбита на множество маленьких подзадач вроде «Настроить температуру воды» или «Вымыть голову», а также, как у моей жены, чего-нибудь включающего надраивание мочалкой из люфы. Помните, что люди разные, и вы заметите различия в их поведении, касающиеся того, как они подходят к решению задач. Алистер помечает такие вещи маленькой рыбкой, потому что они находятся ниже уровня моря.
И наконец, мы переходим к ряду задач итогового уровня. Принять душ, побриться, почистить зубы и все остальное, что вы проделываете по утрам, поднявшись с постели, в конце концов сводятся к одной задаче-итогу. Я не уверен, как точно сформулировать ее название. «Стать чистым»? «Утренняя гигиена»? Мне не очень нравится слово «гигиена». Не будем его использовать.
2. Организуйте свою историю
Если вы этого еще не сделали, расположите свои задачи слева направо так, чтобы действия, которые вы выполняете первыми, располагались слева, а выполняемые последними – справа.
Попробуйте изложить историю, начиная с первого стикера: «Сначала я делаю это…», а затем перейдя к следующему со словами «а потом это». Продолжайте таким образом двигаться слева направо и рассказывать свою историю. Вы можете рассматривать каждый стикер как один шаг и переходить от одного шага к другому с помощью простой конструкции «а затем я…».
Порядок слева направо я называю хроникой повествования, но это просто красивое название порядка изложения истории слева направо. То, что у нас получилось, можно назвать картой, и хроника повествования – ее горизонтальная ось слева направо.
Оказывается, мое повествование получилось довольно длинным. Я также начал собирать вместе события, которые происходят примерно в одно и то же время. По мере выкладывания стикеров в последовательную историю я понял, что пропустил несколько деталей, и сейчас пытаюсь решить, стоят ли они того, чтобы их добавить.
Карты организуются слева направо согласно хронике повествования – порядка, в котором вы рассказываете историю.
Добавьте пропущенные детали. Приятная особенность составления карт с помощью стикеров заключается в том, что увидеть и оценить общую картину очень легко. А видя историю, организованную по порядку хроники повествования, вы обязательно заметите, что каких-то частей истории не хватает.
Посмотрите на свою карту и подумайте, не пропустили ли вы какие-нибудь шаги.
Я добавил всего несколько. Ниже уровня моря находится множество деталей, которыми я решил пренебречь: если попытаться записать их, получится несколько сотен стикеров.
3. Исследуйте альтернативные истории
Пока все довольно очевидно, правда? Знания, которые вы получили, вряд ли стоят использованных бумажек. Но подождите, сейчас будет кое-что интересное.
Задумайтесь на минуту о том, что вы делали вчерашним утром. Если найдутся какие-то действия, отличные от того, что вы делали сегодня утром, запишите их на стикерах и добавьте на карту.
Бывает, что утром все катится кувырком. Что вы будете делать, если у вас в доме внезапно отключат горячую воду? Если внезапно не окажется молока, или овсяных хлопьев, или чего-то еще, что вы привыкли есть на завтрак? Если дочка внезапно вспомнит о домашнем задании, которое нужно было обязательно сделать к сегодняшнему дню (у нас это происходит регулярно)? Что тогда? Запишите возможные действия и добавьте их на карту.
А сейчас подумайте об идеальном утре. Что бы сделало ваше утро безупречным? Мне, например, хотелось бы сделать небольшую зарядку, а затем не спеша позавтракать, читая что-то интересное. Но для этого пришлось бы вставать намного раньше и не переключать будильник.
Обратите внимание на то, что вы можете разместить некоторые задачи в столбик, во-первых, чтобы сэкономить место, а во-вторых, потому, что эти задачи аналогичны тем, которые вы решаете регулярно. Например, если вы добавили задачи по приготовлению изысканного завтрака, то можете их поместить в одну колонку с задачами приготовления быстрого завтрака, который едите обычно.
Мой друг Дэвид Хассман называет этот процесс игрой во «Что, если» – вы, наверное, помните эту фразу из глав 2 и 3. К сожалению, в эту игру можно играть бесконечно, в результате чего карта разрастется до невероятных размеров. Я добавил в свою карту только то, что когда-либо происходило на самом деле – я делал зарядку или позволял себе немного расслабиться за завтраком. Кроме того, добавил несколько распространенных вариантов развития событий, которые, как правило, могут наблюдаться по утрам.
Основная часть карты заполняется деталями, альтернативами, вариантами и исключениями.
Сохраняйте порядок. Наверное, вы обратили внимание на то, что, добавляя новые задачи, вам, скорее всего, пришлось переставить старые. Мне вот, например, пришлось: зарядку нужно было поместить между подъемом с кровати и утренним душем. Кроме того, еще раньше пришлось добавить «Надеть спортивную форму», ведь это не то же самое, что предусматривает задача «Одеться», стоящая после душа.
Если вы расслабитесь и интуитивно поставите все задачи на те места, где они выглядят наиболее естественно, то получите верную последовательность действий. Если попробуете рассказать свою историю сейчас, то сможете сделать это несколькими разными способами. Вы можете изложить историю типичного дня, историю потрясающего дня, а также историю дня, когда вы встали не с той ноги. В каждом из них по ходу продвижения слева направо будут использоваться разные стикеры. Попробуйте применить другие конструкции для объединения задач. Вы можете сказать: «Обычно я делаю это, а иногда – то» или «Я делаю это или это, а затем то» (вместо слов «это» или «то» подставьте реальные действия – я ведь не знаю, на что вы ссылаетесь в данный момент).
В моем детстве была популярна серия книг для детей под названием «Выбирай свое приключение». Может быть, и вы их помните. Идея книжек заключалась в том, что, дочитав до конца главы, вы получали набор вариантов действий, которые мог предпринять герой в продолжении истории. Каждому варианту соответствовал номер страницы. Сделав выбор, нужно было пролистать книгу до этой страницы и продолжать чтение с этого места. Мне эти книги не особенно нравились: независимо от того, что я выбирал, я всегда оказывался в одном и том же месте, да и вариантов по-настоящему крутого приключения было маловато. Карта работает почти так же, как эта книга, только лучше. У вас бесконечное количество способов прохождения карты, особенно если говорить об использовании вашего продукта реальными людьми для решения реальных задач.
Если вы хотите сделать это упражнение по-настоящему сложным и интересным, выполните его вместе с парой коллег. Уверяю: вы узнаете о них больше, чем когда-либо хотели, а кроме того, составлять хронику повествования, которая устроит каждого, будет очень интересно. Я имею в виду, вам будет интересно, если вы любитель подискутировать. Всегда найдутся те, кто сперва завтракает, а потом принимает душ, и те, кто поступает наоборот. Широкие возможности для спора открывает чистка зубов – вот вы, например, чистите зубы до или после завтрака? А может, и до и после?
Расслабьтесь.
То, о чем вы спорите, скорее всего, не имеет особого значения. К примеру, разместите вы завтрак до или после душа, зависит только от ваших предпочтений. Остановитесь на том, что привычно для большинства в вашей группе. О том, что на самом деле важно, люди, как вы убедитесь, не спорят. Не понадобится даже говорить о том, что задача «Одеться» должна находиться после душа – если, конечно, никто еще не приходил в ваш офис в мокром насквозь костюме.
4. Уберите всё лишнее, чтобы выделить каркас
К этому этапу ваша карта должна была здорово увеличиться в ширину, а если вы продумали некоторое количество вариантов – еще и в глубину. Скорее всего, в ней около 30 задач и выглядит она как скелет с ребрами, принадлежащий какому-то доисторическому животному.
Если вы, сделав шаг назад, оглядите свою карту слева направо, то заметите, что там есть пачки задач, которые можно объединить между собой, – к примеру, все, что вы проделываете в ванной, чтобы собраться, или все операции по приготовлению завтрака на кухне, или другие мелкие действия: заглянуть в прогноз погоды, прихватить плащ, приготовить сумку с ноутбуком или другими вещами – словом, все, что вы делаете перед выходом из дома. Выделяются ли подобные действия, помогающие достичь более крупной цели, в вашей карте?
Если да, поместите над каждой пачкой стикеров с группирующимися действиями стикер другого цвета. Напишите на нем глагольную фразу, коротко формулирующую то, что объединяет задачи, находящиеся в этой пачке.
Если у вас не оказалось под рукой стикеров другого цвета, вот маленькая хитрость: на самом деле в каждой пачке стикеров находятся листки двух различных форм! Просто поверните стикер на 45°, и – оп! – он из квадрата превратится в ромб. Вы можете использовать этот простой способ всегда, когда нужно заставить стикер выглядеть иначе.
Стикеры, где записаны более высокоуровневые задачи, представляют на карте операции. Операции составлены из набора задач, которые похожие люди выполняют примерно в одно и то же время, чтобы достичь определенной цели. Если вы прочтете список операций, расположенный вдоль карты, то тоже получите хронику повествования. Строка с этими наклейками представляет собой каркас карты. Если у вас есть карта с множеством стикеров и вы хотите с кем-то ею поделиться, лучше всего для начала изложить высокоуровневую историю. Просто прочитайте каркас карты, вставляя связку «а потом они…» между соседними операциями.
Операции объединяют задачи, которые направлены на одну и ту же цель.
А вот и моя разросшаяся карта с добавленными операциями, составившими ее каркас. Таким образом карту проще читать и находить в ней нужные элементы, по крайней мере для меня. Кроме того, теперь есть цельная картина того, что происходит со мной в течение утра.
Операции и высокоуровневые задачи формируют каркас карты историй.
Часто смысл операций, в отличие от задач, нелегко передать простым языком. Как, например, вы назовете тот набор мелочей, которые проделываете перед выходом из дома: приготовить сумку, захватить список покупок, заглянуть в прогноз погоды и при необходимости взять зонтик? Я, например, условно называю это «собраться перед выходом». Можете придумать собственное название.
Когда будете делать карту для своих продуктов, назовите операции так, как их называют ваши заказчики, которые пользуются этими продуктами.
5. Выделите задачи, необходимые для достижения особенных целей
А сейчас перейдем к действительно интересному этапу – вы попытаетесь использовать карту для того, чтобы представить себе что-то, чего не случилось.
Например, в созданной вами карте в левом верхнем углу наверняка имеется нечто вроде «Прихлопнуть будильник» или «Переключить будильник». Представьте, что было бы, если бы сегодня утром вы пропустили этот шаг? Это могло произойти, к примеру, если вы забыли включить будильник накануне вечером. Вы открываете глаза, смотрите на часы и с ужасом понимаете, что вам нужно прибыть куда-то уже через несколько минут! Вы страшно опаздываете! Не нужно, впрочем, по-настоящему впадать в панику – пока все происходит только в воображении.
Запишите на листке «Приготовиться к выходу за пару минут» и приклейте его слева от карты чуть ниже верхней части. А сейчас представьте себе проходящую слева направо примерно посередине карты линию наподобие разделительной ленты. Переместите ниже этой линии все задачи, которые вы не будете выполнять, чтобы достичь указанной цели. Но не трогайте операции, даже если не осталось никаких связанных с ними задач. Наличие операции без задач позволяет вам понять, чего вы не собираетесь делать, чтобы достичь цели сегодня утром.
Скорее всего, в верхнем срезе останется всего несколько задач. Теперь снова пройдитесь по всему процессу и добавьте пропущенные задачи: что-то, что вы делаете, только когда сильно опаздываете. Например, если при нормальном ходе вещей вы принимаете душ, то в случае опоздания можете добавить задачи «Плеснуть водой в лицо» или «Протереть салфеткой самые грязные части тела». Кстати, когда это упражнение выполняют группы программистов, я часто вижу задачу «Побрызгать побольше дезодоранта». Я никого не осуждаю, если что – просто рассказываю.
Это моя карта с задачами, выполнив которые я за считаные минуты оказываюсь готов к выходу.
Можете опробовать этот прием на различных целях, которые могут оказаться с левой стороны. Например, «Провести утро мечты» или «Утро в середине двухнедельного отпуска». Как вы убедитесь, хроника повествования останется практически неизменной, но вам придется добавлять или убирать задачи, чтобы обеспечить достижение различных целей.
Используйте срезы, чтобы выделить все задачи и детали, соответствующие достижению определенного результата.
Вот и всё! Теперь вы знаете всё, что важно
Было ведь несложно, правда? По мере построения карты вы должны были усвоить следующее.
Задачи – это короткие глагольные фразы, описывающие то, что делают люди.
• Всем задачам соответствуют разные уровни целей.
• На карте задачи образуют хронику, изложенную слева направо.
Глубину карты создают различные варианты и альтернативные задачи.
• Задачи образуют операции на протяжении всей карты.
• Операции формируют каркас карты.
• Вы можете выделить на карте срезы, куда войдут задачи, необходимые для достижения какого-то особого результата.
На самом деле попробуйте – дома или на работе
Не думайте, что вам удалось меня провести. Я прекрасно знаю: большая часть из вас просто прочитали эту главу, а составлять карту даже не пробовали. Если вас тоже одолела лень и вы не составили карту своего утра, обещайте мне, что сделаете это. Это мой самый любимый и очень простой способ обучения составлению карт. Если вы хотите опробовать методику составления карт в своей организации, соберите небольшую группу людей и попробуйте выполнить упражнение вместе – таким образом вы изучите основные понятия. А кроме того, заложите основы умения составлять карту чего угодно.
А ты принимаешь душ перед работой?
Рик Кьюзик, Reading Plus, Winooski, Vermont
Мы проделали упражнение с утренней картой в таком составе: четверо программистов, владелец продукта, тестировщик, начальник группы UX, а также два менеджера. Разделившись на две команды, мы быстро выяснили, что включает в себя утро каждого, а затем многократно тасовали карточки, пока не пришли к усредненному утру. Всем очень понравилась работа по составлению карты, несмотря на то что раньше они никогда не делали ничего подобного или рассматривали этот процесс лишь как работу владельца продукта.
С моей точки зрения, целями этого упражнения было показать эффективность визуализации нашей работы, продемонстрировать, как составление карты помогает развитию одинакового понимания, а также доказать полезность видения пользовательского опыта в удобном формате. Кроме того, обнаружился такой приятный побочный эффект, как сплочение команды, – при совместной работе над проектом это получается само собой, работа вызывает интерес и усиливает чувство сопереживания друг другу. «Я и не знал, что перед работой тебе приходится отвозить детей в школу!» «Ты каждое утро занимаешься йогой?» «А я не могу выйти из дома без завтрака, от меня просто не будет никакого толку!»
Некоторые затруднения вызвали случаи, когда несколько событий происходили одновременно или одно событие зависело от другого: «Если я пью кофе и читаю газету – это один стикер или два?» Или: «По пятницам детей в школу отвозит жена, как я должен это отразить в истории?» Кроме того, учитывая линейный характер времени, на карте, располагающейся слева направо, оказалось затруднительно отразить все варианты – это также привело к замешательству. Как координатору мне было приятно видеть, что процесс размышления идет прямо во время упражнения, даже если у меня не было готовых ответов на эти вопросы.
После того как мы расставили операции по приоритету, принятие некоторых сложных решений привело к комическим ситуациям. Звучали, например, такие «серьезные» вопросы: «А что, душ перед работой действительно необходим?» «Независимо от того, что еще мы выбросим, нужно просто подняться с кровати, одеться и поехать на работу, – рассуждал один из участников. – Хотя… можно ведь просто работать из дома!»
Вскоре после выполнения этого упражнения карты историй стали нашим любимым способом обсуждать пользовательский опыт взаимодействия, расставлять пользовательские истории по приоритету, а также планировать итерации и релизы. Эта практика прочно вошла в культуру разработки в компании и в профессиональный жаргон, и мы пользуемся ею до сих пор.
Один из уроков, которые я усвоил, выполнив это упражнение несколько раз со многими командами в нашей организации, – необходимо замечание, снимающее скованность, какое-то средство, способное запустить мыслительный процесс у участников. Обычно в начале сессии я прошу каждого участника записать что-то одно, что он или она делает по утрам между пробуждением и приходом на работу. Потом я спрашиваю каждого, почему именно он (-а) делает это. Как я убедился, это закладывает основу мыслительного процесса, который позднее проявляется в сессиях по планированию: «В чем ценность этой истории? Что заставляет наших пользователей это делать?»
На карте настоящее, а не будущее
Думаю, что для многих из вас это очевидно, но на всякий случай подчеркну: карта, которую мы только что составили, имеет фундаментальное отличие от карт, упомянутых в первых четырех главах. Карты Гэри, Globo.com, Эрика и Майка с Аароном представляют собой воображаемые способы работы пользователей с продуктом в будущем, после того как его выпустят. Они записывали задачи и операции, которые, по их предположению, пользователи будут выполнять, работая с продуктом. А карта, которую вы создали, касается ваших теперешних задач – тех, которые вы выполняли этим утром. И оказывается, что основа и концепция одинаковы в обоих случаях. Поэтому будьте уверены: вы потратили время не зря.
Одно из самых крутых преимуществ составления карт историй настоящего заключается в том, что, построив их, вы гораздо лучше осознаете, как люди работают сейчас. Вот вы только что тщательно изучили, как собираетесь на работу по утрам. А можете открыть для себя еще больше, если добавите на карту кое-что еще. Это могут быть, например:
• проблемы – что-то, что не работает, вызывает трудности, что люди ненавидят;
• выгоды или радости – то, что доставляет удовольствие и вдохновляет;
• вопросы – «Почему люди делают это?», «Что происходит, если они делают это?»;
• идеи – то, что люди могли бы сделать, или возможные способы устранить проблему либо увеличить эффекты удовольствия и радости.
Этот метод уже довольно давно используют многие специалисты UX, чтобы лучше понять своих пользователей. Иногда они называют его картами взаимодействия, но основная идея абсолютно та же.
Испробуйте метод в реальности
В начале 2000-х я руководил небольшой компанией по разработке продуктов под названием Tomax. Мы работали над программой для розничных магазинов – тех самых, куда ходили за покупками, прежде чем с головой погрузились в Интернет. У нас появился новый клиент – крупная сеть магазинов лакокрасочной продукции и предметов интерьера. Мы немного разбирались в розничной торговле, а также в людях, которые обслуживают покупателей в магазине и работают с оборудованием, но совсем ничего не знали о многих вещах – в основном о деталях, характерных для торговли красками и предметами интерьера. Например, нам были неизвестны особенности продажи краски индивидуальных оттенков или жалюзи на заказ. А учиться нужно было быстро.
Чтобы ускорить процесс, мы попросили этих трех дам нам помочь. Они не имели никакого отношения к разработке программного обеспечения – они дизайнеры интерьеров, работающие в компании, которая хотела заказать у нас программу. С их помощью мы от начала до конца изучили процесс продажи жалюзи на заказ. Мы попросили их записать все, что они обычно делают, от появления клиента до установки готовых жалюзи к его удовольствию. Вероятно, вы уже догадались: мы попросили их сделать то же самое, что делали вы, составляя карту своего утра. Все происходило точно так же. Они легко называли все, что делали в процессе продажи жалюзи, так же, как вы перечисляли свои утренние действия при сборах на работу. А когда мы расположили их задачи на карте, оказалось, что существует не единственный способ достижения цели: все трое выполняли задачи немного по-разному или в разном порядке. Вы заметите то же самое, если попробуете составить карту сборов на работу вместе с небольшой группой разных людей.
После выполнения несложного упражнения по составлению историй и организации их в карту все мы сформировали единое понимание того, как происходит процесс сейчас. Теперь можно было приступать к преобразованию этой карты в программное обеспечение, где точно такой же процесс должен был происходить в будущем.
С программами труднее
Я не хочу вас обманывать. Если вы профессионал в области разработки программного обеспечения, возможно, вам потребуется некоторое время, чтобы перейти от обсуждения экранов и функций к записи коротких глагольных фраз, которые формулируют то, что пытаются в реальности проделать люди. Продолжайте практиковаться. У вас получится.
Но если вы не знаете, кто ваши пользователи, чего они хотят достичь и как с этим справляются, будет гораздо труднее. К сожалению, попытка построить карту в этих условиях приведет лишь к выявлению того, что вам неизвестно. Если вы оказались в такой ситуации, лучшее, что вы можете сделать, – это изучить пользователей, их цели и задачи. Еще лучше, если вам удастся напрямую поработать с ними и построить карту вместе.
Шесть простых шагов к составлению карты историй
Я хочу свести главное из предыдущих четырех глав в шесть простых шагов. Вы можете задаться вопросом: «Почему он не сделал этого с самого начала?» Что ж, я мог бы пропустить все эти рассуждения и истории и просто перечислить требования. Но толку от этого не было бы никакого.
Мне известно множество работающих способов построения и использования карты историй, поэтому я вывел такой шестишаговый процесс, лучше всего подходящий для меня.
1. Сформулируйте проблему: для кого вы это делаете, зачем вы это делаете?
2. Обрисуйте общую картину. Концентрируйтесь на широте, а не на глубине, продвигайтесь на милю вперед и на дюйм вглубь (или на километр вперед и на сантиметр вглубь – для моих неамериканских друзей). Если у вас нет готового решения или даже если, как вам кажется, оно есть, попробуйте построить карту по состоянию на сегодня, включая проблемы и преимущества, которые отмечаются у ваших пользователей.
3. Исследуйте. Углубляйтесь и обсудите другие типы пользователей и то, как еще они могут выполнять свои задачи, а также варианты их действий, если (или, скорее, когда) что-то пойдет не так. Для пущей уверенности нарисуйте эскизы, составьте прототипы, протестируйте их, усовершенствуйте идеи решений, по ходу дела меняя и расширяя карту.
4. Выделите релизную стратегию. Помните: времени и ресурсов всегда не хватает. Концентрируйтесь на том, чего хочет достичь ваш бизнес, а также на людях, для которых создаете продукт. Выбросите вон все, что не нужно для реализации минимальных решений, которые, с одной стороны, удовлетворят нужды людей, с другой – помогут вашей организации достичь ее целей.
5. Выделите исследовательскую стратегию. Можете сформулировать то, что, по вашему мнению, является минимально жизнеспособным решением, но не забывайте, что это только гипотеза, пока не убедитесь в обратном. Используйте карту и обсуждения, чтобы выявить самые рискованные элементы. Разделите карту на совсем маленькие срезы минимально жизнеспособных продуктов-экспериментов. Вы сможете показать их группе пользователей и выяснить, что на самом деле для них полезно.
6. Выделите стратегию разработки. Если вы отбросите все, что не должны предъявить пользователям, останется то, что должны . Теперь разделите минимально жизнеспособное решение на части с точки зрения последовательности разработки. Сконцентрируйтесь на реализации пораньше – так вы быстрее обнаружите технические проблемы и риски разработки.
Карта только начало
Построение карты помогает вам охватить взглядом общую картину, иными словами, увидеть лес за деревьями. Это одно из самых больших преимуществ построения карты историй. Но если вы один из ответственных за посадку леса, у вас нет иного пути, кроме как сажать одно дерево за другим. Вы уже знаете два важных правила работы с картами историй.
• При изложении историй используйте как слова, так и рисунки, для того чтобы выработалось одинаковое понимание.
• Не говорите только о том, что нужно разработать, – обсуждайте, кто будет использовать продукт и почему таким образом вам удастся минимизировать объем работы и обеспечить максимальный реальный результат.
Держите это в уме, и все мало-помалу получится.
Мы уже обсудили несколько тактик использования историй, чтобы избежать ошибок. Поговорим еще о нескольких моментах, которые помогут вам правильно применять истории.
Карты пользовательских историй в SAP – суть в масштабировании
Андреа Шмиден
Когда Джефф впервые представил свою концепцию карт пользовательских историй, мы сразу увидели, какую пользу она может принести SAP. Создалось впечатление, что этот простой, но мощный метод может помочь трансформировать видение продукта в бэклог, а также разобраться, что мы разрабатываем, для кого и зачем. Поэтому мы решили его опробовать.
Однако, как мы вскоре убедились, то, что легко и просто для одиночного разработчика или отдельной команды, работающей по Scrum, совершенно иначе выглядит для группы по разработке продукта, состоящей из нескольких Scrum-команд. В SAP, огромной организации, где работают около 20 000 разработчиков, привычны огромные команды, работа которых зависит от других команд. Здесь это норма, а не исключение. Нам нужен был работающий способ масштабировать карты пользовательских историй для такой большой организации.
Задача
Сложная задача, стоящая перед нами, включала в себя два аспекта.
• Как составить карты сложных продуктов и не утонуть в куче стикеров?
• Как внедрить метод в организации по разработке и научить людей его использовать?
1. Карты пользовательских историй для крупных продуктов
В поиске ответа на первый вопрос мы решили, что самым лучшим будет провести несколько пилотных семинаров по проработке существующих проектов. Начали с небольшой команды самых заинтересованных сотрудников и приблизительно десяти пилотных проектов, над самым большим из которых работали 14 Scrum-команд. В этой пилотной фазе мы опробовали метод по-разному в нескольких видах: формат проведения семинара, содержание, фазы проекта, формат карты и т. д. Проведя несколько раундов с получением обратной связи и определения итераций, мы выделили набор хороших практик, которые, как оказалось, неплохо работают при разработке проектов большого размера.
Ключевые хорошие практики
Если команда пробует использовать карты историй в первый раз, мы рекомендуем привлечь к делу опытного тренера. На встрече с приглашающей стороной тренер обсуждает цели семинара, приглашенных, повестку дня, соответствующие вводные данные и т. д. Обычно он проводит однодневный семинар со всей командой, а затем при необходимости мы устраиваем более короткие сессии.
Работу в день семинара мы, как правило, начинаем с упражнения по видению продукта вроде хорошо известных «речи в лифте» или «темы номера», когда члены команды описывают, что бы они хотели прочитать о своем продукте в статье отраслевого журнала через год. Таким образом становится хорошо видно, есть ли у команды общее понимание основного направления работы, или необходимы дополнительные исследования (например, дополнительные интервью, создание прототипов, тестирование прототипов и т. д.).
На следующем шаге в фокусе оказываются типичные пользователи продукта. Если цель семинара – получить детализированный бэклог, пользовательские роли или персонажи должны быть получены на стадии пользовательского исследования. Если же проект находится на ранней фазе, команда записывает свои предположения, которые потом будут проверены при исследовании пользователей. Мы уже убедились в том, что это отличная подготовительная работа для исследования, – вот еще один аспект, когда дизайнерское мышление и практики составления карт пользовательских историй отлично дополняют друг друга.
После этого переходим к составлению пользовательских историй, последовательно проходя три уровня.
1. Сначала определяются высокоуровневые последовательности шагов по использованию продукта.
2. Затем последовательности шагов разбиваются на более четкие операции согласно пользовательским ролям.
3. Из пользовательских ролей выделяются конкретные пользовательские истории в формате «как < роль >, я хочу < функциональность >, что даст мне < выгоду >». Эти пользовательские истории включаются в первый вариант продуктового бэклога.
Такой трехуровневый процесс особенно полезен для больших продуктов. На каждом уровне команда может решить, когда имеет смысл погрузиться в обсуждение деталей и где следует рассмотреть зависимости от других команд. Этот подход позволяет сконцентрироваться на ключевых задачах разработки, держа в уме общую картину.
Чтобы читать карту было проще, мы используем стикеры определенных цветов для операций, а также для пользовательских историй, относящихся к определенным персонажу или роли, как вы можете видеть на графике.
Часто во время работы команды над картой выявляются дополнительные аспекты, так называемые белые пятна – области, где нужно выполнить больше исследований, или вопросы без ответов, зависимости, пробелы. Чтобы выделить эти проблемы, мы используем стикеры определенного цвета или размера. На первый взгляд может показаться, что помещать открытые проблемы на карту неудобно, но, как мы убедились по опыту, это один из самых полезных аспектов в процессе составления карт историй: вы получаете ясное и осязаемое представление элементов, которые требуют дальнейшего уточнения. После того как все проблемы оказываются на доске, обрабатывать их становится намного проще.
Как только команда обработала все детали (в разумной степени), мы расставляем пользовательские истории в бэклоге по приоритету. В зависимости от размера проекта и его фазы иногда это делается скорее на уровне пользовательских операций, а не пользовательских историй. Обычно мы пользуемся простыми техниками голосования, например точечной техникой, но иногда применяем для голосования упрощенную модель Кано, согласно которой команды помечают пользовательские истории как «обязательно», «желательно» и «опционально». Результаты этого простого голосования также являются хорошей основой для окончательной расстановки историй с участием других заинтересованных сторон, конечных пользователей и заказчиков.
Как прокомментировал один из владельцев продукта, «владельцы продукта часто сталкиваются со сложной задачей – им необходимо поместить множество требований в очень узкие временные рамки. Мы пригласили наших заказчиков на однодневный семинар по картам историй, и оказалось, что это очень эффективный и продуктивный способ выработки одинакового понимания наших приоритетов».
Детали, подробные оценки затрат и другие мелочи обычно не входят в семинар, но, как правило, обсуждаются в меньших группах позднее.
2. Масштабирование карт пользовательских историй
Чтобы масштабировать и развернуть процесс, команда тренеров, которая начинала работу, приготовила материалы: шаблоны карт, сделанные в программе Excel, шаблоны для персонажей, стандартную повестку дня семинара, выдержки из документации, а также шпаргалки с описанием метода. Кроме этого, было разработано собственное внутреннее приложение для составления карт пользовательских историй.
Но материалы – это одно, а проведение семинара – совершенно другое. Поэтому мы снова настоятельно рекомендуем привлечь к процессу опытного тренера. Чтобы обеспечить организацию достаточным количеством тренеров, первичная тренерская команда подготовила специалистов. Эти начинающие тренеры провели несколько семинаров под присмотром наставников, помогали на индивидуальных сессиях и наконец были готовы руководить семинаром абсолютно самостоятельно. Мы также проводили семинары и тренировки тренеров в других офисах SAP по всему миру. Чтобы обрести уверенность, что мы учимся друг у друга, и для обмена опытом мы запустили огромную сеть для хранения документации и общения, где тренеры могли опубликовать свои вопросы и полезные практики. И конечно, очень многое мы почерпнули из опыта Джеффа.
Наши усилия по масштабированию пользовательских карт историй в конце концов принесли плоды. Мы провели более 200 семинаров под руководством тренеров в различных офисах во многих местах, и сейчас большинство команд способны продуктивно работать с картами пользовательских историй самостоятельно.