реклама
Бургер менюБургер меню

Александр Бындю – Антихрупкость в IT (страница 5)

18

Результат работы нужно повесить у всех на виду. Если команда распределённая, то следует выложить Impact Mapping в общую базу знаний или повесить перед экраном, который видят все участники разработки. Главная цель – обеспечить видимость и достижимость задач, ведь мы опираемся на них при работе над проектом[18].

Фильтр входящих задач

Даже когда все согласились с целями проекта и способами их достижения, заказчик может добавить в проект фичу, которая ему очень нравится – pet feature. Мы можем отфильтровать её через цели, показать, что эта фича никаким образом не приведёт нас к достижению целей.

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

Обратите внимание, что мы двигаемся через прилаживание новых требований. Все входящие задачи должны пройти проверку на соответствие целям и должны «зацепиться» за одну из веток Impact Map. Такой подход даёт возможность обсуждать идеи: участники могут попробовать добавить свою задачу, видят проблему или ошибку в формулировке или в месте, куда они хотели её добавить, пробуют переформулировать и раскрывают новые грани своей идеи. Именно это обеспечивает антихрупкость нашей системы, потому что какие бы неожиданные требования или изменения не пришли извне, мы знаем, как их обработать и приладить к текущему видению.

Модернизация Kanban-доски

Какая колонка идёт последней на вашей Kanban-доске? Могу поспорить, что это Release, Deploy, Done или что-то в этом духе. Последней колонкой на доске должна стать – «Проверка достижения цели». Недостаточно просто залить фичу на сервер, нам нужно проверить, как эта фича повлияла на продвижение к цели.

FAQ по Impact Mapping

Как продать создание Impact Mapping бизнесу перед началом проекта?

Лучше всего идти от проблемы. Попросите заказчика вспомнить случаи, когда было сделано много фич, а бизнес от этого только пострадал. Почему так произошло? Может, надо чётко описать цели?

Должна ли эта работа оплачиваться?

Да, обязательно. Составление Impact Mapping может занять несколько дней и имеет ценность для бизнеса.

Что если заказчик не хочет этого делать?

Вы как профессионал должны предоставить бизнесу прогноз на будущее. Расскажите о возможных проблемах и рисках. После этого дайте клиенту выбрать. Если вы донесли возможное проблемное будущее и клиент принял его, отказался от Impact Mapping'а при полной ясности последствий, то теперь это не ваша проблема; просто делайте ему фичу.

Всегда ли бизнес чётко знает свои цели?

Часто бизнес сам не до конца понимает свои истинные проблемы и цели. В ходе обсуждений представители бизнеса начинают спорить друг с другом: оказывается, что все по-разному себе представляют цели. Это нормально. На этом этапе надо просто дать им выговориться, просто слушать и фасилитировать. В результате у всех проясняются мысли и синхронизируется понимание, что даёт толчок к развитию общих идей.

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

Глава 3. Углубление в Impact Map

Разбор нюансов создания Impact Map на примере притчи

Больше восьми лет я использую Impact Map для аналитики IT-продуктов. Я довольно активно делился знаниями об этой практике: писал статьи, выступал на конференциях с докладами и мастер-классами, рассказывал студентам в университетах и интернам в компании. Слушатели и участники мастер-классов легко улавливают, как создавать и использовать Impact Map – с теорией нет проблем. Тем не менее я вижу большие затруднения с применением этого подхода в реальной практике, когда нужно придумать и описать идеи для сложного IT-продукта.

Мы уже познакомились с этой техникой в прошлой главе, а сейчас я расскажу, каким образом формулируются идеи, которые являются самой сложной и самой ценной частью Impact Map. И ещё поделюсь своим ви́дением, как наиболее эффективно воспринимать каждую из частей Impact Map.

Нюансы Impact Mapping

В прошлой главе мы рассмотрели структуру Impact Map (рис. 5). Идея этого подхода в том, чтобы прорисовать связь от задач (Deliverable) к цели (Goal). По задумке, задачи оказывают воздействие (Impact) на какую-то группу (Actor), и это воздействие приводит бизнес к цели. Таким образом, нет бесполезных задач, и чётко видно, что и зачем мы собираемся делать.

В этой, казалось бы, понятной схеме кроется много нюансов, которые вызывают ступор. Я приведу свою интерпретацию каждой части Impact Map и подскажу, что конкретно надо вписывать в каждую из них.

Goal – здесь нужно описать измеримый результат. Ключом к этой части будет ответ на вопрос, который вы зададите себе и заказчику: «По каким критериям мы поймём, что достигли успеха?» Такой вопрос помогает перенестись в будущее и подумать, как мы собираемся оценивать результат. Формулировка выбрана так, чтобы человек начал рефлексировать, и это не то же самое, что спросить «какая у вас цель?». Цели могут быть разные, а вот конечный результат в будущем оценят по каким-то критичным для бизнеса параметрам. Это и есть Goal.

Actor – на кого мы собираемся оказывать воздействие. Обычно сюда предлагают[19] писать тех, кто нам может помочь или помешать в достижении цели. Так можно делать, это неплохой совет, но он недостаточно нас фокусирует. Я предлагаю думать о том, чью жизнь мы хотим поменять с помощью воздействия, чтобы это изменение жизни привело нас к цели. Трюк в том, что мы не просто собираемся воздействовать, а надеемся, что сможем изменить поведение людей в нужную сторону. Такой взгляд заставляет точнее очерчивать границы для Actor и приходится тщательно обдумывать Impact.

Impact – воздействие, которое мы собираемся сделать. Это самая сложная часть, которая мало кому даётся. Я сравниваю её с созданием гипотезы в научном методе или рождением идеи в ТРИЗ, то есть техника понятна, но откуда берётся идея, как она рождается в голове, как научить человека эти идеи создавать, решительно неясно. Здесь ключом может стать понимание, что в этой колонке мы описываем ключевые идеи нашего продукта – то, что в итоге принесёт деньги. Если собрать все импакты из итоговой карты, то у нас должно получиться уникальное торговое предложение. Об этой части Impact Map будет вся остальная глава, где я расскажу на примере притчи, как описываются идеи.

Deliverable – это список задач или историй. В этой области все отлично умеют действовать.

Типичные ошибки Impact Mapping

Impact Map обычно не получается по следующим причинам.

Цели неизмеримы или неясны. Это тот случай, когда хочется сделать много чего, но непонятно зачем. Антипаттерном будет закрыть глаза на отсутствие цели и накидать задач в работу, как делали во времена «плоских» ТЗ.

Описаны абстрактные юзеры, но неясно, как наши воздействия поменяют их поведение. Антипаттерном будет указать просто «пользователей», потому что потеряется связь с реальностью, в этих «пользователях» нет жизни и настоящих потребностей. Это приведёт к тому, что мы опишем идеи, но не будем понимать, как они повлияют на мир.

Вместо идей и гипотез (Impact), написаны user story или задачи. Эта самая частая проблема. Ещё раз: это очень (!) частая проблема, которая убивает всю идею Impact Map! В этом случае происходит подмена идей задачами, аналитики по привычке пишут to-do list вместо продуктовых гипотез.

Приведу пример, который поможет вам во всём разобраться.

Impact Mapping гончара

Я взял старую и известную притчу о гончаре. Гончар столкнётся с проблемой, сформулирует цель и попробует придумать идею, как ему достигнуть цели.

Притча о гончаре и мальчишках

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

У гончара были три основные идеи и две группы людей, на которых он надеялся воздействовать, чтобы достичь своей цели. Изначально его Impact Map мог выглядеть как на рис. 10.

Рис. 10. Первые гипотезы и задачи гончара по достижению своей цели

Обратите внимание, что у каждой идеи есть блок «чтобы», который открывает практическую ценность идеи, показывает её основу.

Как следует из притчи, гончар проверил все три гипотезы и не добился результата. Не всегда гипотезы приводят к цели, это обычное дело, когда мы создаём продукты. Поэтому гончар продолжил поиск идей:

…Тогда он позвал мальчишек к себе во двор и сказал, что за каждый разбитый горшок будет платить им рубль. Мальчишки обрадовались, перебили все горшки, получили деньги и убежали. На следующий день гончар сказал, что денег у него мало, платить он может только 50 коп.

Мальчишки опять перебили все горшки, получили свои деньги и убежали. Следующий день опять повторилось то же самое, только за каждый разбитый горшок гончар заплатил всего 20 коп.