Потратив девять лет и миллиарды фунтов, правительство Великобритании недавно отказалось от завершения одного из своих IT-проектов, потому что он «утратил актуальность». Подобные примеры (правда, в менее эпических масштабах) можно найти повсюду. Только в 2004 году на неудавшихся IT-проектах компании стран ЕС потеряли €142 миллиарда (в основном из-за плохого согласования бизнес-целей или устаревания бизнес-стратегий к моменту выхода готового программного обеспечения). Это примерно равно стоимости программы МКС, включая все уже совершенные полеты, и в два раза превышает стоимость программы Apollo, в рамках которой астронавты шесть раз успешно высаживались на Луне.
Сегодня программное обеспечение повсюду. И тем не менее бесчисленное множество программных продуктов и проектов продолжает медленно загибаться, так и не принеся никакой пользы. В результате огромное количество времени и денег тратится впустую из-за неправильных исходных допущений, несфокусированности, плохой коммуникации, недоразумений и расхождений с глобальными целями организаций. Но должны же существовать и более эффективные методы работы!
Для кого предназначена эта книга?
Основная целевая аудитория этой книги – руководители, непосредственно занимающиеся созданием программных продуктов или проектным менеджментом – как со стороны бизнеса, так и со стороны разработки. Она включает в себя как тех, кто платит за услуги, так и различных специалистов, выполняющих роль «владельцев» продукта, осуществляющих контроль за ходом проектов, управляющих проектным портфелем, занимающихся архитектурой программного обеспечения, бизнес-анализом и контролем качества готового продукта. Мои задачи связаны в основном с итеративной разработкой, поэтому книга написана, исходя из этого опыта. Вы извлечете из нее максимум пользы, если вы заняты в сходной среде. Итак:
• Бизнесмены, чья роль состоит в управлении проектами по разработке ПО, научатся более четко выражать свои идеи.
• Менеджеры компаний, выступающих в роли заказчиков, научатся правильно сообщать командам разработчиков о своих исходных установках, продуктивнее вовлекать их в принятие стратегических решений и оптимизировать управление своим проектным портфелем.
• Команды разработчиков, уже применяющие в решении задач гибкие или бережливые подходы либо появившиеся недавно методы экономичного управления стартапами, смогут эффективнее настраивать разрабатываемые программные продукты на достижение бизнес-целей заказчиков и добиваться большей вовлеченности заказчиков и пользователей в процесс разработки.
• Разработчики, находящиеся в процессе перехода к гибким или бережливым подходам, получат представление о том, как адаптировать эти подходы под свои конкретные потребности, не упускать из вида общую картину, разбивать работу на небольшие фрагменты, каждый из которых будет обладать собственной бизнес-ценностью, и осуществлять действенный контроль за ходом разработки.
Отдавая должное предшественникам
Impact maps – это разновидность карт бизнес-эффектов, которые предложили Мийо Балич и Ингрид Домингес (Оттерстен) в рамках своего метода InUse, скомбинированные с картами эффектов Роберта Бринкерхоффа для образовательных учреждений, идеями Криса Мэттса по поводу добавления функциональности («введения фич»), а также принципами измеримости и итеративной разработки Тома Гилба. Моя методика в значительной степени опирается на их работы – здесь достаточно сказать, что все ключевые идеи принадлежат им, а я лишь связал их вместе и поместил в контекст современных методов разработки программного обеспечения. В конце данного издания приведены ссылки на источники, откуда взяты эти концепции. Соединить их вместе и прояснить многие аспекты того, о чем пойдет речь в этой книге, мне помогли вдохновляющие и весьма непростые дискуссии с Крэгом Ларманом, Томом и Мэри Поппендик, Дэном Нортом, Гордоном Вейром, Джеффом Паттоном и Маттиасом Эдингером (перечисляю их не в порядке важности).
Объединив все перечисленные выше концепции, impact maps делают проверенные стратегии разработки и управления проектами еще более удобными и ускоряют достижение результатов. Они помогают эффективнее учитывать обычно имеющиеся в таких проектах ограничения, а также воспользоваться полезными идеями из других предметных областей.
В книге описано, как лично я применяю impact maps. В более ранних публикациях я называл их effect maps (картами эффектов), поскольку между ними и картами эффектов по методу InUse действительно имеется значительное сходство. Но в моем подходе также есть и существенные отличия. Он гораздо ближе к тому, что в своей модели HET[3] Бринкерхофф называет roadmaps (дорожными картами) и итерационными планами отдельных этапов. Кроме того, я обнаружил, что надо внести некоторые изменения в список используемых ключевых вопросов – это повысило полезность impact maps (по крайней мере в тех проектах, которыми мне приходилось заниматься). Карты эффектов InUse скорее ориентированы на содействие инновационному дизайну продуктов и дизайну пользовательского опыта. Однако наиболее распространенными проблемами в компаниях, с которыми я работаю в качестве консультанта, являются недостатки в применяемых методах разработки, расползание границ проекта, тенденция упускать из вида общую картину, недостаточная ориентация разработчиков на достижение бизнес-целей. Эти организации бесполезно тратят массу времени и усилий на создание не того программного обеспечения, которое им нужно. Impact mapping представляет собой фантастический способ свести эти страдания к минимуму.