Пользовательские истории. Искусство гибкой разработки ПО — страница 18 из 47

Если вы этого еще не сделали, расположите свои задачи слева направо так, чтобы действия, которые вы выполняете первыми, располагались слева, а выполняемые последними – справа.

Попробуйте изложить историю, начиная с первого стикера: «Сначала я делаю это…», а затем перейдя к следующему со словами «а потом это». Продолжайте таким образом двигаться слева направо и рассказывать свою историю. Вы можете рассматривать каждый стикер как один шаг и переходить от одного шага к другому с помощью простой конструкции «а затем я…».

Порядок слева направо я называю хроникой повествования, но это просто красивое название порядка изложения истории слева направо. То, что у нас получилось, можно назвать картой, и хроника повествования – ее горизонтальная ось слева направо.



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

Карты организуются слева направо согласно хронике повествования – порядка, в котором вы рассказываете историю.

Добавьте пропущенные детали. Приятная особенность составления карт с помощью стикеров заключается в том, что увидеть и оценить общую картину очень легко. А видя историю, организованную по порядку хроники повествования, вы обязательно заметите, что каких-то частей истории не хватает.

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

Я добавил всего несколько. Ниже уровня моря находится множество деталей, которыми я решил пренебречь: если попытаться записать их, получится несколько сотен стикеров.

3. Исследуйте альтернативные истории

Пока все довольно очевидно, правда? Знания, которые вы получили, вряд ли стоят использованных бумажек. Но подождите, сейчас будет кое-что интересное.

Задумайтесь на минуту о том, что вы делали вчерашним утром. Если найдутся какие-то действия, отличные от того, что вы делали сегодня утром, запишите их на стикерах и добавьте на карту.

Бывает, что утром все катится кувырком. Что вы будете делать, если у вас в доме внезапно отключат горячую воду? Если внезапно не окажется молока, или овсяных хлопьев, или чего-то еще, что вы привыкли есть на завтрак? Если дочка внезапно вспомнит о домашнем задании, которое нужно было обязательно сделать к сегодняшнему дню (у нас это происходит регулярно)? Что тогда? Запишите возможные действия и добавьте их на карту.

А сейчас подумайте об идеальном утре. Что бы сделало ваше утро безупречным? Мне, например, хотелось бы сделать небольшую зарядку, а затем не спеша позавтракать, читая что-то интересное. Но для этого пришлось бы вставать намного раньше и не переключать будильник.

Обратите внимание на то, что вы можете разместить некоторые задачи в столбик, во-первых, чтобы сэкономить место, а во-вторых, потому, что эти задачи аналогичны тем, которые вы решаете регулярно. Например, если вы добавили задачи по приготовлению изысканного завтрака, то можете их поместить в одну колонку с задачами приготовления быстрого завтрака, который едите обычно.



Мой друг Дэвид Хассман называет этот процесс игрой во «Что, если» – вы, наверное, помните эту фразу из глав 2 и 3. К сожалению, в эту игру можно играть бесконечно, в результате чего карта разрастется до невероятных размеров. Я добавил в свою карту только то, что когда-либо происходило на самом деле – я делал зарядку или позволял себе немного расслабиться за завтраком. Кроме того, добавил несколько распространенных вариантов развития событий, которые, как правило, могут наблюдаться по утрам.

Основная часть карты заполняется деталями, альтернативами, вариантами и исключениями.

Сохраняйте порядок. Наверное, вы обратили внимание на то, что, добавляя новые задачи, вам, скорее всего, пришлось переставить старые. Мне вот, например, пришлось: зарядку нужно было поместить между подъемом с кровати и утренним душем. Кроме того, еще раньше пришлось добавить «Надеть спортивную форму», ведь это не то же самое, что предусматривает задача «Одеться», стоящая после душа.

Если вы расслабитесь и интуитивно поставите все задачи на те места, где они выглядят наиболее естественно, то получите верную последовательность действий. Если попробуете рассказать свою историю сейчас, то сможете сделать это несколькими разными способами. Вы можете изложить историю типичного дня, историю потрясающего дня, а также историю дня, когда вы встали не с той ноги. В каждом из них по ходу продвижения слева направо будут использоваться разные стикеры. Попробуйте применить другие конструкции для объединения задач. Вы можете сказать: «Обычно я делаю это, а иногда – то» или «Я делаю это или это, а затем то» (вместо слов «это» или «то» подставьте реальные действия – я ведь не знаю, на что вы ссылаетесь в данный момент).

В моем детстве была популярна серия книг для детей под названием «Выбирай свое приключение». Может быть, и вы их помните. Идея книжек заключалась в том, что, дочитав до конца главы, вы получали набор вариантов действий, которые мог предпринять герой в продолжении истории. Каждому варианту соответствовал номер страницы. Сделав выбор, нужно было пролистать книгу до этой страницы и продолжать чтение с этого места. Мне эти книги не особенно нравились: независимо от того, что я выбирал, я всегда оказывался в одном и том же месте, да и вариантов по-настоящему крутого приключения было маловато. Карта работает почти так же, как эта книга, только лучше. У вас бесконечное количество способов прохождения карты, особенно если говорить об использовании вашего продукта реальными людьми для решения реальных задач.

Если вы хотите сделать это упражнение по-настоящему сложным и интересным, выполните его вместе с парой коллег. Уверяю: вы узнаете о них больше, чем когда-либо хотели, а кроме того, составлять хронику повествования, которая устроит каждого, будет очень интересно. Я имею в виду, вам будет интересно, если вы любитель подискутировать. Всегда найдутся те, кто сперва завтракает, а потом принимает душ, и те, кто поступает наоборот. Широкие возможности для спора открывает чистка зубов – вот вы, например, чистите зубы до или после завтрака? А может, и до и после?

Расслабьтесь.

То, о чем вы спорите, скорее всего, не имеет особого значения. К примеру, разместите вы завтрак до или после душа, зависит только от ваших предпочтений. Остановитесь на том, что привычно для большинства в вашей группе. О том, что на самом деле важно, люди, как вы убедитесь, не спорят. Не понадобится даже говорить о том, что задача «Одеться» должна находиться после душа – если, конечно, никто еще не приходил в ваш офис в мокром насквозь костюме.

4. Уберите всё лишнее, чтобы выделить каркас

К этому этапу ваша карта должна была здорово увеличиться в ширину, а если вы продумали некоторое количество вариантов – еще и в глубину. Скорее всего, в ней около 30 задач и выглядит она как скелет с ребрами, принадлежащий какому-то доисторическому животному.

Если вы, сделав шаг назад, оглядите свою карту слева направо, то заметите, что там есть пачки задач, которые можно объединить между собой, – к примеру, все, что вы проделываете в ванной, чтобы собраться, или все операции по приготовлению завтрака на кухне, или другие мелкие действия: заглянуть в прогноз погоды, прихватить плащ, приготовить сумку с ноутбуком или другими вещами – словом, все, что вы делаете перед выходом из дома. Выделяются ли подобные действия, помогающие достичь более крупной цели, в вашей карте?

Если да, поместите над каждой пачкой стикеров с группирующимися действиями стикер другого цвета. Напишите на нем глагольную фразу, коротко формулирующую то, что объединяет задачи, находящиеся в этой пачке.

Если у вас не оказалось под рукой стикеров другого цвета, вот маленькая хитрость: на самом деле в каждой пачке стикеров находятся листки двух различных форм! Просто поверните стикер на 45°, и – оп! – он из квадрата превратится в ромб. Вы можете использовать этот простой способ всегда, когда нужно заставить стикер выглядеть иначе.

Стикеры, где записаны более высокоуровневые задачи, представляют на карте операции. Операции составлены из набора задач, которые похожие люди выполняют примерно в одно и то же время, чтобы достичь определенной цели. Если вы прочтете список операций, расположенный вдоль карты, то тоже получите хронику повествования. Строка с этими наклейками представляет собой каркас карты. Если у вас есть карта с множеством стикеров и вы хотите с кем-то ею поделиться, лучше всего для начала изложить высокоуровневую историю. Просто прочитайте каркас карты, вставляя связку «а потом они…» между соседними операциями.

Операции объединяют задачи, которые направлены на одну и ту же цель.



А вот и моя разросшаяся карта с добавленными операциями, составившими ее каркас. Таким образом карту проще читать и находить в ней нужные элементы, по крайней мере для меня. Кроме того, теперь есть цельная картина того, что происходит со мной в течение утра.

Операции и высокоуровневые задачи формируют каркас карты историй.

Часто смысл операций, в отличие от задач, нелегко передать простым языком. Как, например, вы назовете тот набор мелочей, которые проделываете перед выходом из дома: приготовить сумку, захватить список покупок, заглянуть в прогноз погоды и при необходимости взять зонтик? Я, например, условно называю это «собраться перед выходом». Можете придумать собственное название.

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

5. Выделите задачи, необходимые для достижения особенных целей