Карты пользовательских историй в SAP – суть в масштабированииАндреа ШмиденКогда Джефф впервые представил свою концепцию карт пользовательских историй, мы сразу увидели, какую пользу она может принести SAP. Создалось впечатление, что этот простой, но мощный метод может помочь трансформировать видение продукта в бэклог, а также разобраться, что мы разрабатываем, для кого и зачем. Поэтому мы решили его опробовать.Однако, как мы вскоре убедились, то, что легко и просто для одиночного разработчика или отдельной команды, работающей по Scrum, совершенно иначе выглядит для группы по разработке продукта, состоящей из нескольких Scrum-команд. В SAP, огромной организации, где работают около 20 000 разработчиков, привычны огромные команды, работа которых зависит от других команд. Здесь это норма, а не исключение. Нам нужен был работающий способ масштабировать карты пользовательских историй для такой большой организации.ЗадачаСложная задача, стоящая перед нами, включала в себя два аспекта.• Как составить карты сложных продуктов и не утонуть в куче стикеров?• Как внедрить метод в организации по разработке и научить людей его использовать?1. Карты пользовательских историй для крупных продуктовВ поиске ответа на первый вопрос мы решили, что самым лучшим будет провести несколько пилотных семинаров по проработке существующих проектов. Начали с небольшой команды самых заинтересованных сотрудников и приблизительно десяти пилотных проектов, над самым большим из которых работали 14 Scrum-команд. В этой пилотной фазе мы опробовали метод по-разному в нескольких видах: формат проведения семинара, содержание, фазы проекта, формат карты и т. д. Проведя несколько раундов с получением обратной связи и определения итераций, мы выделили набор хороших практик, которые, как оказалось, неплохо работают при разработке проектов большого размера.Ключевые хорошие практикиЕсли команда пробует использовать карты историй в первый раз, мы рекомендуем привлечь к делу опытного тренера. На встрече с приглашающей стороной тренер обсуждает цели семинара, приглашенных, повестку дня, соответствующие вводные данные и т. д. Обычно он проводит однодневный семинар со всей командой, а затем при необходимости мы устраиваем более короткие сессии.Работу в день семинара мы, как правило, начинаем с упражнения по видению продукта вроде хорошо известных «речи в лифте» или «темы номера», когда члены команды описывают, что бы они хотели прочитать о своем продукте в статье отраслевого журнала через год. Таким образом становится хорошо видно, есть ли у команды общее понимание основного направления работы, или необходимы дополнительные исследования (например, дополнительные интервью, создание прототипов, тестирование прототипов и т. д.).На следующем шаге в фокусе оказываются типичные пользователи продукта. Если цель семинара – получить детализированный бэклог, пользовательские роли или персонажи должны быть получены на стадии пользовательского исследования. Если же проект находится на ранней фазе, команда записывает свои предположения, которые потом будут проверены при исследовании пользователей. Мы уже убедились в том, что это отличная подготовительная работа для исследования, – вот еще один аспект, когда дизайнерское мышление и практики составления карт пользовательских историй отлично дополняют друг друга.После этого переходим к составлению пользовательских историй, последовательно проходя три уровня.1. Сначала определяются высокоуровневые последовательности шагов по использованию продукта.2. Затем последовательности шагов разбиваются на более четкие операции согласно пользовательским ролям.3. Из пользовательских ролей выделяются конкретные пользовательские истории в формате «как <роль>, я хочу <функциональность>, что даст мне <выгоду>». Эти пользовательские истории включаются в первый вариант продуктового бэклога.Такой трехуровневый процесс особенно полезен для больших продуктов. На каждом уровне команда может решить, когда имеет смысл погрузиться в обсуждение деталей и где следует рассмотреть зависимости от других команд. Этот подход позволяет сконцентрироваться на ключевых задачах разработки, держа в уме общую картину.Чтобы читать карту было проще, мы используем стикеры определенных цветов для операций, а также для пользовательских историй, относящихся к определенным персонажу или роли, как вы можете видеть на графике.Часто во время работы команды над картой выявляются дополнительные аспекты, так называемые белые пятна – области, где нужно выполнить больше исследований, или вопросы без ответов, зависимости, пробелы. Чтобы выделить эти проблемы, мы используем стикеры определенного цвета или размера. На первый взгляд может показаться, что помещать открытые проблемы на карту неудобно, но, как мы убедились по опыту, это один из самых полезных аспектов в процессе составления карт историй: вы получаете ясное и осязаемое представление элементов, которые требуют дальнейшего уточнения. После того как все проблемы оказываются на доске, обрабатывать их становится намного проще.
Как только команда обработала все детали (в разумной степени), мы расставляем пользовательские истории в бэклоге по приоритету. В зависимости от размера проекта и его фазы иногда это делается скорее на уровне пользовательских операций, а не пользовательских историй. Обычно мы пользуемся простыми техниками голосования, например точечной техникой, но иногда применяем для голосования упрощенную модель Кано, согласно которой команды помечают пользовательские истории как «обязательно», «желательно» и «опционально». Результаты этого простого голосования также являются хорошей основой для окончательной расстановки историй с участием других заинтересованных сторон, конечных пользователей и заказчиков.Как прокомментировал один из владельцев продукта, «владельцы продукта часто сталкиваются со сложной задачей – им необходимо поместить множество требований в очень узкие временные рамки. Мы пригласили наших заказчиков на однодневный семинар по картам историй, и оказалось, что это очень эффективный и продуктивный способ выработки одинакового понимания наших приоритетов».Детали, подробные оценки затрат и другие мелочи обычно не входят в семинар, но, как правило, обсуждаются в меньших группах позднее.2. Масштабирование карт пользовательских историйЧтобы масштабировать и развернуть процесс, команда тренеров, которая начинала работу, приготовила материалы: шаблоны карт, сделанные в программе Excel, шаблоны для персонажей, стандартную повестку дня семинара, выдержки из документации, а также шпаргалки с описанием метода. Кроме этого, было разработано собственное внутреннее приложение для составления карт пользовательских историй.Но материалы – это одно, а проведение семинара – совершенно другое. Поэтому мы снова настоятельно рекомендуем привлечь к процессу опытного тренера. Чтобы обеспечить организацию достаточным количеством тренеров, первичная тренерская команда подготовила специалистов. Эти начинающие тренеры провели несколько семинаров под присмотром наставников, помогали на индивидуальных сессиях и наконец были готовы руководить семинаром абсолютно самостоятельно. Мы также проводили семинары и тренировки тренеров в других офисах SAP по всему миру. Чтобы обрести уверенность, что мы учимся друг у друга, и для обмена опытом мы запустили огромную сеть для хранения документации и общения, где тренеры могли опубликовать свои вопросы и полезные практики. И конечно, очень многое мы почерпнули из опыта Джеффа.Наши усилия по масштабированию пользовательских карт историй в конце концов принесли плоды. Мы провели более 200 семинаров под руководством тренеров в различных офисах во многих местах, и сейчас большинство команд способны продуктивно работать с картами пользовательских историй самостоятельно.