Impact mapping: Как повысить эффективность программных продуктов и проектов по их разработке

Аджич Гойко

Для кого предназначена эта книга?

 

 

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

• Бизнесмены, чья роль состоит в управлении проектами по разработке ПО, научатся более четко выражать свои идеи.

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

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

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

 

Отдавая должное предшественникам

Impact maps – это разновидность карт бизнес-эффектов, которые предложили Мийо Балич и Ингрид Домингес (Оттерстен) в рамках своего метода InUse, скомбинированные с картами эффектов Роберта Бринкерхоффа для образовательных учреждений, идеями Криса Мэттса по поводу добавления функциональности («введения фич»), а также принципами измеримости и итеративной разработки Тома Гилба. Моя методика в значительной степени опирается на их работы – здесь достаточно сказать, что все ключевые идеи принадлежат им, а я лишь связал их вместе и поместил в контекст современных методов разработки программного обеспечения. В конце данного издания приведены ссылки на источники, откуда взяты эти концепции. Соединить их вместе и прояснить многие аспекты того, о чем пойдет речь в этой книге, мне помогли вдохновляющие и весьма непростые дискуссии с Крэгом Ларманом, Томом и Мэри Поппендик, Дэном Нортом, Гордоном Вейром, Джеффом Паттоном и Маттиасом Эдингером (перечисляю их не в порядке важности).

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

В книге описано, как лично я применяю impact maps. В более ранних публикациях я называл их effect maps (картами эффектов), поскольку между ними и картами эффектов по методу InUse действительно имеется значительное сходство. Но в моем подходе также есть и существенные отличия. Он гораздо ближе к тому, что в своей модели HET Бринкерхофф называет roadmaps (дорожными картами) и итерационными планами отдельных этапов. Кроме того, я обнаружил, что надо внести некоторые изменения в список используемых ключевых вопросов – это повысило полезность impact maps (по крайней мере в тех проектах, которыми мне приходилось заниматься). Карты эффектов InUse скорее ориентированы на содействие инновационному дизайну продуктов и дизайну пользовательского опыта. Однако наиболее распространенными проблемами в компаниях, с которыми я работаю в качестве консультанта, являются недостатки в применяемых методах разработки, расползание границ проекта, тенденция упускать из вида общую картину, недостаточная ориентация разработчиков на достижение бизнес-целей. Эти организации бесполезно тратят массу времени и усилий на создание не того программного обеспечения, которое им нужно. Impact mapping представляет собой фантастический способ свести эти страдания к минимуму.

Когда ранее я называл свои impact maps картами эффектов, это приводило к определенным недоразумениям. Дело дошло до того, что известный консультант однажды сказал одному из моих клиентов, что «Гойко совершенно не понимает, что такое карты эффектов. Хотя и в его подходе что-то есть». После нескольких моих выступлений на конференциях в Швеции (кстати, именно Швеция – родина метода InUse), некоторые участники пожаловались, что я неправильно интерпретирую само понятие «карты эффектов». Дабы избежать дальнейшей неразберихи, в этой книге я решил прибегнуть к термину impact maps.

Сам термин impact maps был предложен Крэгом Ларманом. Он похож на термин «карты эффектов», но вместе с тем в достаточной степени от него отличается, чтобы не вызывать путаницы. Да, Бринкерхофф тоже называет свою визуализацию планирования impact maps, но все равно использование мной этого понятия в целом выглядит оправданно. Карты Бринкерхоффа применяются в основном образовательными учреждениями для управления учебными планами, поэтому я надеюсь, что риск недоразумений минимален.

Введение термина, отличающегося от термина «карты эффектов», позволило мне целиком сосредоточиться на обсуждении вопросов, связанных с управлением границами проектов, а также использовать для обозначения элементов impact maps названия, которые в контексте разработки программного обеспечения выглядят более уместно.