Impact mapping: Как повысить эффективность программных продуктов и проектов по их разработке - Гойко Аджич
Шрифт:
Интервал:
Закладка:
Impact maps делают применение этого процесса еще проще и даже выводят его на более высокий уровень. Вместо того чтобы в начале очередного этапа или проекта просто обозначить связь между конкретной функциональной возможностью и целью, impact maps позволяют нам поддерживать динамическую дорожную карту, которая изменяется по мере поступления новой информации, не упуская при этом из вида конечную цель; в такой системе вещей конкретная функциональность и границы проекта являются вторичными. Мы визуализируем исходные гипотезы, и это помогает нам скорректировать направление, как только эти гипотезы получают подтверждение или отбрасываются.
Рассмотрим пример игровой онлайн-платформы, приведенный в первой части книги. Добавляя полуавтоматическую рассылку, мы преследуем цель помочь игрокам рассылать друзьям приглашения присоединиться к игре. Мы предполагаем, что, добавив эту возможность, мы изменим поведение пользователей. После того как этот функционал будет реализован, мы поймем, было ли наше исходное предположение верным или нет. Если игроки станут приглашать друзей, то нам нужно продолжать инвестировать в это направление. Если нет, то следует остановиться, проанализировать ситуацию и попробовать подойти к решению этой задачи каким-либо иным способом.
На impact map также показана исходная гипотеза более высокого уровня: если игроки начнут рассылать приглашения, то в соответствии с нашими предположениями их друзья будут присоединяться к нашей игре. После добавления соответствующего функционала мы сможем оценить, действительно ли они присоединяются в том количестве, на которое мы рассчитывали. Если да, то нам стоит и дальше расширять эту функциональность. Если нет, то продолжать разрабатывать все новые способы рассылки приглашений было бы неправильно. Мы должны переосмыслить свою стратегию, найти способ улучшить результаты рассылки или вообще сфокусироваться на чем-то ином.
И наконец, когда связь между функциональностью и бизнес-целями представлена в явном виде, мы получаем дополнительные аргументы в пользу ограничения числа бизнес-задач и влияний, работа над которыми ведется параллельно. Это хорошо согласуется с идеологией ограничения одновременного количества незавершенных процессов, принятой в бережливых подходах.
Недостаточно просто заявить, что мы будем фокусироваться на бизнес-целях, – важно быть уверенными, что это правильно выбранные цели. Многие проекты терпят неудачу не потому, что они не имеют бизнес-целей, а потому, что цели сформулированы нечетко, конфликтуют с другими задачами или же они не были сообщены людям, которым поручена их реализация. Для обозначения верно выбранных бизнес-целей Скотт Беркун использует обозначение SMART: такие цели конкретны, измеримы, ориентированы на совершение конкретных действий, достижимы и должны быть реализованы в течение определенного срока.
Ключевым признаком здесь является измеримость – если цель измерима, то легче определиться и с остальными обязательными элементами. Например, формулировка «рост числа пользователей» является некорректной. Очевидно, что решение, позволяющее в течение года увеличить количество пользователей на 50 %, будет радикально отличаться от решения, которое позволит увеличить их количество на 200 % в течение двух месяцев. После того как мы договоримся, чего именно, в каком количестве и как быстро мы хотим достичь, становится гораздо легче оценить, является ли данная задача вообще осуществимой. В книге «Конкурентный инжиниринг» (Competitive Engineering) Том Гилб показывает, каким образом выбор измеримых целей помогает убедиться в их правильности и сфокусироваться на их реализации. Именно акцент на измеримости позволил мне остановить несколько обреченных на провал проектов прежде, чем они начались; в конечном итоге удалось синхронизировать ожидания всех заинтересованных сторон и сформулировать новые цели, которые были одновременно и измеримыми, и реалистичными.
Impact maps хорошо вписываются в идеологию SMART, потому что они помогают нам подвергнуть тесту на измеримость не только основную бизнес-цель, но и влияния, которые мы стремимся поддержать.
Постановка целей и выбор влияний, соответствующих критериям SMART, дополняет стремление к целостному видению процесса разработки, которое лежит в основе impact mapping. Обе методологии помогают обнаруживать нереалистичные ожидания, отказываться от шагов, не приближающих нас к цели, и находить более простые решения.
В своей книге «Как измерить все, что угодно»[7] Дуглас Хаббард предупреждает о распространенной психологической тенденции скорее отслеживать то, что легко поддается измерению, вместо того, что могло бы реально способствовать принятию качественных решений. Он отмечает, что информация имеет вес, если она уменьшает неопределенность при принятии решений, а также что «экономическая стоимость результатов измерения переменной обычно обратно пропорциональна тому, какое значение придается ее оценке». Поскольку нам необходимо понимать, следует ли продолжать инвестировать в ту область, над которой мы в данный момент работаем, мы должны сконструировать для себя именно те измерения, что помогут нам принять это решение.
Эрик Рис в книге «Бизнес с нуля. Метод Lean Startup для быстрого тестирования идей и выбора бизнес-модели»[8] предостерегает от использования «тщеславных метрик», чья единственная цель состоит в том, чтобы заставить людей чувствовать себя хорошо. По его мнению, это самая серьезная проблема, препятствующая успешной разработке программных продуктов. Он советует фокусироваться на показателях, которые стимулируют к конкретным действиям. Поскольку impact maps обязывают нас думать о влиянии на поведение действующих лиц и о том, как это влияние отследить, они помогают выбирать действительно полезные параметры.
Параметры – чрезвычайно острый инструмент. Они отлично помогают нам фокусироваться, но могут принести и огромный вред, если мы сделаем акцент не на том, на чем нужно. Распространенная проблема с измерениями состоит в том, что они способны превратиться из средства контроля в самоцель. Джеймс Скотт, автор книги «Благими намерениями государства»[9], предупреждает, что между параметрами разных уровней возможен конфликт: например, конфликт между показателями, обеспечивающими понимание и контроль со стороны людей, находящихся «снаружи» измеряемого процесса, и показателями, имеющими важное значение для людей «внутри» процесса, на которых они влияют напрямую. Приводя примеры из разных областей – от строительства крупных городов до научного лесоводства, Скотт показывает, что использование отдельных параметров для целей внешнего контроля часто делает систему слишком сложной и непонятной для тех, кто находится «внутри» проекта, приводя к серьезным неудачам. Например, несколько экономических катастроф при организации крупных ферм были вызваны тем, что основное внимание уделялось показателям, связанным с размерами участков и посевными квотами, а также разделению участков на более мелкие для того, чтобы правительственным организациям было их легче контролировать. Оказалось, что планы зачастую были просто нереализуемыми, поскольку на бумаге сельскохозяйственная земля выглядела как аккуратные участки прямоугольной формы, в то время как в действительности на ней могли быть реки и болота, а также различные типы почв. «Внешние» параметры были не в состоянии учесть факторы, важные для фермеров, например, такие как потенциальная урожайность, выживаемость различных сортов и потребности разных культур в разном уходе. Скотт также показывает, как проекты с преобладанием «внешних» параметров терпят неудачи, поскольку участники, занятые решением своих частных задач, продолжают фокусироваться на этих показателях даже в тех случаях, когда это наносит прямой ущерб достижению главной цели.