Войти в почту

Impact Mapping: три первых этапа эффективного метода разработки

Что такое Impact Map? Смысл продуктового дизайна — найти и протестировать потенциальные решения, которые могли бы быть полезны. Здесь критически важны не столько сами по себе причины и вызываемые ими следствия, сколько проверка самих гипотез, их соединяющих. Реальную ценность удается создавать в тех случаях, когда предположения подтверждены данными неоднократных практических экспериментов. Impact maps — это, по сути, карты гипотез, связывающих причины со следствиями. Они помогут вам понять, какие вопросы следует задавать — и это гораздо труднее, чем находить верные ответы. Подобно тому, как карты автомобильных дорог показывают, какие дороги соединяют большие и малые населенные пункты, impact maps описывают, какой продукт мы хотим создать и как именно с его помощью мы собираемся облегчить жизнь пользователям. При этом следует иметь в виду, что основная цель автомобильной карты не столько давать подробную информацию о городах и других населенных пунктах, сколько четко указывать, как проехать от одного из них к другому. Ее дополнительная цель — помочь нам прокладывать альтернативные маршруты. Наглядно продемонстрированные на impact maps узлы и предположительные способы обеспечения переходов между ними позволяют вовлекать в обсуждение специалистов любого профиля. Impact maps создают понятный для всех контекст и в явном виде отражают те неопределенности, с которыми будет необходимо разобраться экспериментальным путем. Подобно дорогам, закрытым для проезда или находящимся в стадии строительства, определенные исходные предположения могут оказаться нежизнеспособными или попросту неправильными. Поэтому соответствующие карты и называются картами автомобильных дорог, а не «картами назначения». Impact maps помогают визуализировать исходные гипотезы, которые и проверяются впоследствии опытным путем. Бесчисленное множество программных продуктов не оправдывает вложенных инвестиций. Главная проблема — в неправильных заданиях и плохой коммуникации. Миллиарды тратятся впустую из-за того, что заказчик не может точно сформулировать цели, а исполнитель неверно воспринимает задачу. На выходе — продукт, который никому не нужен. Но должны же существовать эффективные методы работы! Таким мы считаем impact mapping — метод разработки, помогающий еще на стадии стратегического планирования организовать сотрудничество специалистов. С его помощью вы обеспечите соответствие разрабатываемого программного обеспечения исходным целям. Этот инструмент универсален и подойдет как для Agile-проектов, так и для классического проектного подхода. Четыре начальных этапа Impact Mapping 1. Цель Центральная часть impact map должна отвечать на самый важный вопрос: зачем мы это делаем? Это цель, которую мы стремимся достичь. Может показаться, что стремление в самом начале проекта получить ясный ответ на этот вопрос — всего лишь проявление здравого смысла. Однако мой опыт показывает, что лишь немногие из разработчиков точно знают, какие бизнес-цели преследует заказчик. Иногда их описывают в каком-либо формальном документе, но чаще всего бизнес-цели существуют лишь в головах заинтересованных лиц. Даже в тех редких случаях, когда бизнес-цели доводятся до разработчиков, они зачастую сформулированы весьма смутно. Исследование, проведенное Гэри Кляйном на материале аварийно-спасательных служб и армейских подразделений, показало, что при осуществлении любой деятельности люди на местах должны понимать конечные цели операции, иначе они не в состоянии правильно реагировать на непредвиденные проблемы. Если очередной релиз или проект в целом позволяет достичь поставленной бизнес-цели, то это успех с точки зрения бизнеса, даже если в итоге разработанный продукт будет отличаться от того, что было предусмотрено первоначально. В то же время, если программный продукт точно соответствует задуманным спецификациям, но при этом не позволяет решить поставленную бизнес-задачу, его следует признать провальным. Это верно даже тогда, когда разработчики не без оснований обвиняют клиента, что он сам толком не понимает, чего хочет. Поместив ответ на вопрос «ЗАЧЕМ?» в центр impact map, мы получаем возможность убедиться, что все знают, зачем они выполняют те или иные действия. Это помогает командам лучше соотносить свою текущую деятельность с конечной целью, точнее формулировать требования к функциональности и находить оптимальные с точки зрения дизайна решения. Рекомендации Обозначенная цель дает разработчикам инструмент для пересмотра первоначальных планов по мере поступления новой информации. Поэтому верно сформулированные цели, как правило, соответствуют критериям SMART: они конкретны, измеримы, ориентированы на совершение конкретных действий, достижимы и ограничены во времени. Цели не должны описывать сам продукт, процесс его создания или устанавливать границы проекта. Они обязаны объяснять, почему данный продукт будет полезен. Целям следует определять проблему, которую предстоит решить, а не воспроизводить решение. Избегаqте включать в описание цели какие-либо конструктивные ограничения, касающиеся готового продукта. Попробуйте сначала сформулировать, в чем состоит бизнес-ценность проекта, а затем объяснить, каким образом в результате осуществления задумки ситуация изменится, — обозначив при этом цели в качестве этапов постепенного приращения бизнес-ценности. Это особенно эффективно, если у вас уже есть набор ключевых показателей, по которым будет оцениваться эффективность данного продукта. Для коммерческих продуктов и организаций старайтесь формулировать цели таким образом, чтобы связь с зарабатыванием денег была очевидной. Примеры Открыть торговлю ценными бумагами в Бразилии в марте следующего года. За три месяца увеличить конверсию пользователей на 20%. Первый уровень impact map дает ответы на следующие вопросы: на чье поведение мы хотим воздействовать? Кто сможет произвести желаемый эффект? Кто способен помешать? Кто является потребителем или пользователем нашего продукта? На кого наш продукт повлияет? Это и есть те действующие лица, чье поведение может сказаться на результатах проекта. Джеральд ВайнбергiАвтор и преподаватель антропологии и психологии разработки ПО определяет качество как «ценность, предоставляемую кому-либо». Чтобы обеспечить высокое качество результатов, мы сначала должны выяснить, кто эти люди и какую ценность они хотят обрести, воспользовавшись продуктом или результатами нашего проекта. В дополнение к тем, кто непосредственно получит ценность от пользования нашим программным продуктом, мы также должны учитывать интересы множества других людей, чьи решения будут так или иначе влиять на успех продукта или исход проекта. Программное обеспечение работает не в вакууме, и редко когда изначально удается поставить под контроль поведение всех действующих лиц, так или иначе с ним связанных. У людей есть свои собственные потребности, цели и предпочтения, которые имеют значение, если мы действительно хотим достичь какой-либо бизнес-цели. И тем не менее большинство моделей управления акцентирует внимание на конкретных функциях программного обеспечения, а не на людях, для которых оно будет полезным. Затем где-то в середине работы из ниоткуда появляется новое действующее лицо, и все коренным образом меняется. Как вариант, кто-то с достаточными полномочиями может вообще неожиданно приостановить разработку. Impact maps заставляют задуматься обо всех, кто принимает решения, а также о разных группах пользователей и разных категориях клиентов. Определившись со списком действующих лиц, мы приобретаем способность лучше расставлять приоритеты в своей работе. Рекомендации К важным действующим лицам относятся конечные пользователи, а также внутренние или внешние по отношению к проекту люди, принимающие решения. Алистер Коберн советует искать действующих лиц трех типов: Первичные действующие лица, на удовлетворение потребностей которых направлен процесс разработки, например, игроки игровой системы. Вторичные действующие лица, которые предоставляют услуги, например, команда, занимающаяся предотвращением мошенничества. Закулисные действующие лица, которые имеют заинтересованность в проекте, но непосредственно не извлекают из него выгоду и не предоставляют услуги. Пример — государственные агентства, регулирующие данный вид деятельности, лица, принимающие решения на самых высоких уровнях в соответствующих компаниях. Необходима максимальная конкретность. Избегайте слишком общих терминов. Постарайтесь определять круг лиц в таком порядке: конкретные персоны, целевые пользователи, действующие лица, вовлеченные в проект в силу своей роли или занимаемой должности, группы или отделы. Примеры Майк Смит из отдела маркетинга. Пользователи в возрасте до 18 лет, приходящие на концерты, имея при себе мобильные устройства. Сотрудники Apple, утверждающие приложения, прежде чем разместить их в iTunes. 2. Примеры влияний На втором уровне нашей impact map необходимо соотнести действующих лиц с нашей бизнес-целью. При этом нужно получить ответы на следующие вопросы: как должно измениться поведение действующих лиц? Как они могут помочь нам достичь цели? Как они могут создать нам препятствия или помешать добиться успеха? Это и есть те влияния, которые мы стремимся осуществить. Энтони Ульвик писал, что ключом к успешной разработке продукта является понимание, какую именно работу клиенты хотят видеть выполненной при помощи вашего продукта. Это помогает рассмотреть различные технические варианты решений и проанализировать те из них, что могут привести к желаемым результатам. К тому же это позволяет сфокусировать разработку на решении задач, стоящих перед пользователями. Перечисляя на втором уровне impact map желательные влияния, мы указываем, каких изменений в поведении действующих лиц мы хотим добиться. Это способствует разработке более точных планов и четкой приоритизации. На нашем пути к достижению ключевых бизнес-целей разные действующие лица будут разными способами как помогать, так и мешать нам. Некоторые из влияний станут конкурировать друг с другом, между некоторыми обнаружатся противоречия, а какие-то из них дополнят друг друга. Мы вовсе не обязаны заниматься всеми влияниями без исключения; однако если их не учесть при определении границ проекта, то будет очень трудно определить приоритеты и сравнить разные варианты решений. Поскольку impact maps имеют иерархическую природу, то с их помощью становится очевидно, кто именно должен оказать необходимое влияние и как именно оно поспособствует достижению цели. Визуализация позволяет выявить, какие влияния будут наилучшим образом способствовать достижению цели и какие риски могут поджидать нас на этом пути; все это позитивно сказывается на расставлении приоритетов. Рекомендации Не стремитесь перечислить все возможные запросы данного действующего лица. В список должны войти только те влияния, которые действительно помогут вам продвинуться к основной цели. Список влияний — это не список функциональных возможностей будущего продукта. Избегайте перечисления исключительно «программистских» идей — на этом этапе в фокусе внимания должны находиться бизнес-аспекты проекта. В идеале следует описать те изменения, которые произойдут в поведении того или иного человека, а не просто его поведение после развертывания продукта. Опишите, чем его будущее поведение будет отличаться от возможного на данный момент. Поэтому вместо того, чтобы просто указать на impact map «продавать билеты», следует использовать иные формулировки, например, «продавать билеты в пять раз быстрее». Учитывайте не только позитивные, но и негативные или прямо препятствующие достижению цели влияния. У важных действующих лиц часто есть несколько способов помогать или препятствовать благополучному исходу проекта. После того как вы идентифицируете одно из вероятных влияний данного лица, не останавливайтесь и поймите, какие еще способы воздействия на исход проекта есть в его распоряжении. Примеры Возможность пригласить друзей принять участие в онлайн-игре. Возможность приобрести билеты без звонка в колл-центр. Более быстрая продажа билетов. 3. Поставляемый функционал Теперь можно переходить к обсуждению границ проекта. Третий уровень impact map призван ответить на следующий вопрос: что мы можем сделать, чтобы добиться необходимых влияний? Имеются в виду ожидаемые результаты проекта, поставляемые функциональные возможности и организационные изменения, которые могут потребоваться в этой связи. Планы разработки и документы, описывающие требования к готовому продукту, зачастую похожи на списки покупок и не содержат каких-либо внятных пояснений, почему тот или иной функционал будущего продукта является столь важным. Если не установить четких связей между бизнес-целями и списком желаемого функционала и не поддержать эти связи с помощью перечня необходимых влияний, то будет невероятно сложно договориться о том, в какой потенциально возможный функционал следует инвестировать, а в какой нет. Impact map показывает, какие именно желательные влияния должны быть оказаны при помощи заявленных функциональных характеристик. Это помогает разделить проект на независимые этапы, каждый из которых обладает самостоятельной бизнес-ценностью, тем самым позволяя получить ценные с точки зрения бизнеса результаты как можно раньше. Четкая иерархичность impact map позволяет объединить связанные между собой функциональные характеристики в группы, сравнить их и воздержаться от чрезмерного инвестирования в удовлетворение запросов наименее важных действующих лиц или наименее значительные влияния. Это также помогает отказаться от реализации тех частей проекта, которые на практике не способствуют достижению ни одной из важнейших целей. И, наконец, увязывая функциональные возможности продукта с желаемыми влияниями и бизнес-целями, impact map позволяет визуализировать цепочку рассуждений, в результате которых заинтересованные лица приняли решение включить в готовый продукт ту или иную функцию. Это делает логику принятия решений более очевидной. Рекомендации Не пытайтесь с самого начала отметить все до единого элементы. Вы сможете уточнить тонкости в несколько итераций по мере продвижения разработки. Рассматривайте свое первоначальное представление о готовом продукте в качестве факультативного: что не все желаемые функциональные возможности в итоге будут непременно реализованы. На ранних этапах проекта старайтесь не погружаться в излишние детали, вы сможете уделить им внимание позже. Поначалу вас интересует только функциональность самого высокого уровня. Позже вы всегда сумеете разложить эту функциональность на составляющие более низких уровней. Даже когда необходимость в новом программном обеспечении кажется очевидной, нередко есть альтернативные способы решить бизнес-задачу, не прибегая к разработке продукта. Так, для вовлечения в онлайн-игру новых игроков иногда оказывается дешевле разместить рекламу, чем потратить месяцы на переделку имеющейся платформы. Не отказывайтесь от любых вариантов, которые помогут оказать необходимое влияние. Примеры Продажа билетов онлайн. Размещение бланка заказа непосредственно на стартовой странице сайта. Оптимизация скриптов, по которым работают сотрудники колл-центра. Подписание контрактов с реселлерами. Мы создали полку на Bookmate, куда складываем книги, которые рекомендуют герои наших интервью и колумнисты. Туда же попадает полезный non-fiction, который упоминался на Rusbase по тегу #Books. Нашим читателям — месяц на Bookmate бесплатно: введите промокод RUSBASE по ссылке http://bookmate.com/code. Материалы по теме: 5 нестандартных праздников из мира ИТ Обратная связь в реальном времени: гибкий процесс разработки в Walmart Начать программировать для Alexa Skills – простой способ найти работу в «облачных» компаниях Российский разработчик создает ноутбук для экстремальных условий Фото на обложке: vska/Depositphotos.

Impact Mapping: три первых этапа эффективного метода разработки
© RB.ru