Impact mapping: Как повысить эффективность программных продуктов и проектов по их разработке - Гойко Аджич
Шрифт:
Интервал:
Закладка:
Impact maps являются мостиком между этими двумя мирами: они не только облегчают стратегическое планирование и мышление, позволяя создать представление об общей картине и ключевых бизнес-задачах, но и способствуют интеграции получаемых в ходе разработки данных, помогая нам корректировать дорожные карты. Они дают возможность отображать границы проекта таким образом, что ими становится легче управлять – развивать, расширять, сужать или вносить изменения в приоритеты, по мере необходимости реагируя на открывшиеся новые возможности или свежую важную информацию.
Impact mapping является отличным способом привлечь к совместной работе руководителей технического и бизнес-направлений с самого начала проекта или этапа. Это позволяет сформировать одинаковое понимание границ проекта с обеих точек зрения.
Благодаря визуальным методам проведения совещаний и совместной работе у лиц, принимающих решения, также формируется одинаковое представление об основных исходных гипотезах. В результате действия всех заинтересованных сторон приводятся в соответствие с общим видением проблемы.
Эффективному обсуждению трудностей способствует и сама структура impact maps, помогающая воспользоваться «мудростью толпы». В результате часто удается найти варианты решений, которые можно реализовать моментально, или как минимум выдвинуть оригинальные альтернативные предложения, позволяющие добиться необходимого результата быстрее и дешевле.
При стратегическом планировании для эффективного использования impact maps требуется выполнение следующих двух условий:
• наличие стратегических целей – impact maps неприменимы для управления проектами, связанными с поддержанием уже существующей функциональности;
• участие руководителей технического и бизнес-направлений.
Impact map наглядно показывает, какие влияния с точки зрения бизнеса должны быть реализованы при помощи разрабатываемого программного продукта. Благодаря визуализации можно определить требования к ожидаемому качеству на уровне продукта как единого целого и гарантировать, что все участники проекта понимают эти требования одинаково.
Impact map помогает разработчикам оставаться сфокусированными на приоритетах и действиях, направленных на обеспечение или улучшение качества. При этом новая роль тестирования – проверить, что создаваемый функционал поддерживает нужное нам поведение действующих лиц, а не просто сравнить готовый функционал со спецификацией. В случае, когда готовый продукт не поддерживает необходимое влияние, даже если с технической точки зрения он работает правильно, можно считать, что в этой части проект закончился неудачей. Имеющаяся проблема должна быть либо устранена, либо от продолжения работ в данном направлении следует отказаться.
Чтобы эффективно использовать impact maps для определения требований к качеству, необходимо согласие заинтересованных сторон о том, что:
• цель разработки – поддержка желательных изменений в поведении действующих лиц;
• контрольные показатели действительно выражают ожидания заинтересованных сторон в части этих изменений.
На impact maps отображаются не только границы проекта, цели и приоритеты, но и исходные гипотезы двух уровней. Гипотеза первого уровня состоит в том, что функциональный элемент окажет необходимое влияние и вызовет желаемые изменения в поведении соответствующего действующего лица. Гипотеза второго уровня – данное лицо совершит действия, способствующие достижению бизнес-цели.
Когда функциональный элемент готов, мы получаем возможность измерить, какие изменения в поведении действующих лиц по существу произошли и насколько они способствуют достижению глобальных целей проекта на практике. На этом фоне мы можем переоценить свою стратегию и решить, стоит ли продолжать работу над той же частью impact map или же следует перейти к следующему элементу.
Чтобы использовать impact map для управления дорожными картами, необходимы следующие условия:
• заинтересованные стороны согласны, что необходимо достичь определенной бизнес-цели, а не просто предоставить в распоряжение пользователей некоторый набор функционала;
• осуществление регулярных итеративных релизов, позволяющих отслеживать продвижение к цели;
• согласие заинтересованных сторон, что используемые контрольные параметры верно отражают их ожидания, касающиеся основной бизнес-цели проекта.
Одна из уникальных особенностей метода impact mapping, отличающая его от остальных подходов, – возможность с его помощью избежать наиболее распространенных проблем, возникающих как на стадии планирования, так и в ходе разработки.
Поскольку impact maps ясно показывают связь между конкретным функционалом, который предполагается включить в данный продукт, и достижением бизнес-целей, мы можем вовремя отследить момент, когда основная цель уже достигнута и разработку стоит остановить. Точно так же она дает четкое представление о том, какое именно влияние надо осуществить при помощи того или иного запланированного функционала. После того как необходимое влияние реализовано, следует остановить работу над остальными идеями, относящимися к данной области impact map, и перейти к другим аспектам продукта.
Поскольку impact maps увязывают функциональность с достижением определенных целей, максимально упрощается задача выявления «решений в поисках проблемы» или же решений, которые ориентированы на какие-то иные бизнес-задачи, а не на ту, что была заявлена в начале.