КЛЮЧЕВЫМИ ИНСТРУМЕНТАМИ ДЛЯ ЭФФЕКТИВНОЙ ТРАНСФОРМАЦИИ ЯВЛЯЮТСЯ СИСТЕМНОЕ МЫШЛЕНИЕ, МЕТРИКИ И КОНЦЕПЦИИ РАЗВИТИЯ.
При переходе от одного периода стабильности к другому лучшие изменения часто остаются незамеченными, хотя при этом команды и организации чувствуют себя комфортно. Ключевыми инструментами для эффективной трансформации являются системное мышление, метрики и концепции развития. Когда этапы перемен слишком затягиваются, команды дестабилизируются, кто-то может уйти. В такие моменты именно менеджеры должны поддерживать стабильность, становиться связующим звеном. Мы выступаем в качестве продакт-менеджеров, руководителей портфелей проектов, рекрутеров или продавцов, чтобы сохранить и укрепить команду, пока нас не сменит эксперт из конкретной области.
В этой главе представлен набор инструментов, помогающий руководить изменениями. Они сориентируют вас по части интуитивной роли связующего звена в переходные периоды.
3.1. Введение в системное мышление
Многие успешные лидеры, с которыми я работал, обладают сверхъестественной способностью решать вопросы с помощью различных технологических рычагов (1). В некоторых проблемных областях чрезвычайно эффективен набор навыков управления продуктом (2), но системное мышление – самый универсальный инструмент, который я находил.
Если вы действительно хотите получить четкое представление об основах системного мышления, вам следует прочитать «Азбуку системного мышления» (3) Донеллы Х. Медоуз[8]. Я постараюсь описать основы и проработать сценарий из недавнего опыта, когда системное мышление оказалось весьма полезным.
3.1.1. Запасы и потоки
Фундаментальное наблюдение относительно системного мышления состоит в том, что связи между событиями часто тоньше, чем кажется на первый взгляд. Мы стремимся описать события, используя причинно-следственные связи. Например: менеджеры перегружены, потому что мы пытаемся запустить важный проект, – но событие само по себе не уникально.
Кажется, что большие перемены происходят мгновенно, но если присмотреться, скорее всего, вы зафиксируете медленное накопление маленьких изменений. В данном примере, возможно, менеджеры заняты, потому что никто не нанял и не обучил менеджеров, необходимых для соблюдения сроков реализации проекта в этом году. Такие накопления называются запасами и являются памятью об изменениях во времени. В качестве запаса может выступать количество обученных менеджеров в вашей компании.
КАЖЕТСЯ, ЧТО БОЛЬШИЕ ПЕРЕМЕНЫ ПРОИСХОДЯТ МГНОВЕННО, НО ЕСЛИ ПРИСМОТРЕТЬСЯ, СКОРЕЕ ВСЕГО, ВЫ ЗАФИКСИРУЕТЕ МЕДЛЕННОЕ НАКОПЛЕНИЕ МАЛЕНЬКИХ ИЗМЕНЕНИЙ.
Рисунок 3.2. Системная схема для повышения производительности разработчика.
Изменения в запасах называются потоками. Они представляют собой притоки и оттоки. Обучение нового менеджера – это приток, а обученный менеджер, который уходит из компании, – отток. На диаграммах в этой главе потоки изображены сплошными темными линиями.
Другая связь, представленная на рисунке 3.1 пунктирной линией – информационная. Она демонстрирует, что:
1. Ценность запаса является фактором, влияющим на размер потока.
2. Время, доступное для разработки функций, зависит от количества обученных менеджеров.
Часто запас за пределами области действия диаграммы представлен в виде облака. Оно показывает: там произошло что-то сложное, что мы в настоящее время не анализируем. Лучше всего маркировать каждый поток и помнить, что он измеряется скоростью, тогда как каждый запас – количеством.
3.1.2. Скорость разработчика
Когда я начал думать о примере полезности системного мышления, мне на ум сразу же пришла работа «Ускоряйся! Наука DevOps: Как создавать и масштабировать высокопроизводительные цифровые организации» Джина Кима, Джез Хамбл и Николь Форсгрен[9] (4).
Авторы сосредоточились на четырех показателях скорости разработки:
1. Время выполнения заказа на поставку от создания кода до его использования в производстве.
2. Частота развертывания – это то, как часто вы развертываете код.
3. Частота сбоев изменений.
4. Время восстановления сервиса, затраченное на устранение ошибок.
Авторы проанализировали опросы десятков тысяч организаций, чтобы оценить общую производительность каждой из них и показать, как она соотносится с эффективностью работы по этим четырем измерениям.
Эти показатели производительности интуитивно понятны. Попробуем на их основе смоделировать систему, которую можно использовать для оценки продуктивной работы разработчиков:
• Пул запросов преобразуется в готовые коммиты в зависимости от нашей скорости проверки кода.
• Готовые коммиты преобразуются в развернутые коммиты со скоростью развертывания.
• Развернутые коммиты преобразуются в ошибки со скоростью возникновения ошибок.
• Ошибки исправляются с помощью отмененных коммитов с определенной скоростью восстановления.
• Отмененные коммиты превращаются в новые запросы со скоростью отладки.
Собрав эти фрагменты воедино, мы увидим петлю обратной связи, в которой нисходящее поведение системы влияет на ее восходящее поведение. При достаточно высокой частоте ошибок или медленном темпе восстановления вы можете легко увидеть область, в которой каждое развертывание отбрасывает вас все дальше назад.
Если модель хорошо работает, варианты оптимизации должны быть очевидны с первого взгляда. Полагаю в вашем случае именно так. Однако чтобы верно определить, куда инвестировать ресурсы, необходимо отметить истинную ценность запасов и потоков! Например, если у вас нет накопившихся готовых коммитов, то увеличение скорости развертывания может оказаться бесполезным. Аналогично, если скорость возникновения ошибок очень низкая, то сокращение времени восстановления мало повлияет на систему в целом.
ЕСЛИ У ВАС НЕТ НАКОПИВШИХСЯ ГОТОВЫХ КОММИТОВ, ТО УВЕЛИЧЕНИЕ СКОРОСТИ РАЗВЕРТЫВАНИЯ МОЖЕТ ОКАЗАТЬСЯ БЕСПОЛЕЗНЫМ. АНАЛОГИЧНО, ЕСЛИ СКОРОСТЬ ВОЗНИКНОВЕНИЯ ОШИБОК ОЧЕНЬ НИЗКАЯ, ТО СОКРАЩЕНИЕ ВРЕМЕНИ ВОССТАНОВЛЕНИЯ МАЛО ПОВЛИЯЕТ НА СИСТЕМУ В ЦЕЛОМ.
Создание арены для быстрой проверки гипотез о том, как все работает, без необходимости проделывать всю работу от начала до конца, – это аспект системного мышления, который я ценю больше всего.
3.1.3. Программы для системного мышления
Начинаешь думать о системах, и остановиться уже трудно. Практически любую сложную проблему можно представить в виде комплекса более простых. Даже оставив в стороне конкретные показатели, я нахожу системный подход самым мощным.
Если вы действительно хотите обрести полноценный опыт, существует всего несколько подходящих платформ. Stella (5) – золотой стандарт, но она дорога: неучебная лицензия стоит больше, чем новый ноутбук. Лучшая дешевая альтернатива, которую я нашел, – это InsightMaker (6). Там есть свои особенности пользовательского интерфейса, но при этом модель оплаты основана на добровольных пожертвованиях.
3.2. Управление продуктом: Исследование, отбор, проверка
Большинство инженерных организаций разделяют руководство разработкой и производством, поручая их разным людям. Это идеальный вариант не только потому, что нужны люди с различными навыками, но и потому, что они вынуждены действовать исходя из разных перспектив и приоритетов. Довольно трудно одновременно преуспевать и в том, и в другом.
Я встречал много продакт-менеджеров, которые отлично справляются с оперативной работой. Не все из них способны работать на высоком уровне и в то же время глубоко вникать в потребности пользователей. Так же сотрудничал с ведущими инженерами, что работают исходя из потребностей пользователей. Но мало кто может сохранить фокус на пользователях, когда в команде возникают проблемы.
Рисунок 3.3. Повторяющийся процесс разработки продукта.
Реальные условия не всегда соответствуют идеальной установке. Предположим, продакт-менеджер уходит из вашей команды разработчиков или формируется новый отдел (7), и вам как руководителю необходимо выполнять две роли в течение нескольких месяцев. Для одного лидера это будет «захватывающе», для другого – «ужасающе».
Управление продуктами – сложная профессия, и овладение ею требует многолетней практики. Я разработал простую структуру, когда мне пришлось исполнять еще и обязанности продакт-менеджера для команды. Это не идеальное решение, но, надеюсь, оно станет для вас полезным.
УПРАВЛЕНИЕ ПРОДУКТОМ – МНОГОУРОВНЕВАЯ ИГРА НА ВЫБЫВАНИЕ, КАЖДЫЙ РАУНД КОТОРОЙ СОСТОИТ ИЗ ОБНАРУЖЕНИЯ И ВЫБОРА ПРОБЛЕМ И ПРОВЕРКИ ПРАВИЛЬНОСТИ ИХ РЕШЕНИЯ.
Управление продуктом – многоуровневая игра на выбывание, каждый раунд которой состоит из обнаружения и выбора проблем и проверки правильности их решения. Обнаружение – лишь выявление возможных спорных вопросов для проработки. Выбор – этап фильтрации этих аспектов до приемлемого подмножества. А проверка правильности решения – гарантия того, что ваш подход оптимален.
Если вы хорошо справитесь со всеми тремя этапами, то сможете позволить себе роскошь повторить все снова, на этот раз с большей сложностью и масштабом. Если вы не преуспеете, то в конечном итоге проиграете или же вас попросят выйти из игры (9).
3.2.1. Обнаружение проблем
Первая фаза цикла планирования – изучение различных проблем, за решение которых вы могли бы взяться. Люди удивительно часто пропускают этот этап, что ведет лишь к локальной оптимизации, основанной на инерции. Время, потраченное на оценку проблем и способов их решений, – один из лучших предикаторов долгосрочной эффективности команды.
Чтобы понять, какие проблемы у вас есть, нужно ответить на следующие вопросы:
Боль пользователей. С какими проблемами сталкиваются ваши пользователи? Чтобы получить ответ, полезно проводить масштабные опросы, а также опрашивать более мелкие группы активных юзеров разных сегментов.
Цель пользователей. Что побуждает пользователей обращаться к вашему продукту? Как помочь им достичь их целей?
Сравнительные показатели. Посмотрите, как ваша компания работает по сравнению с конкурентами из той же или смежной отрасли. Есть ли области, в которых вы отстаете? Это те проблемные участки, возможность инвестирования в которые стоит рассмотреть в первую очередь. Некоторые при проведении сравнительного анализа намеренно сужают угол зрения, облегчая себе задачу. Однако, рассматривая не только похожие, но и отличающиеся компании, можно узнать много интересного.
ВРЕМЯ, ПОТРАЧЕННОЕ НА ОЦЕНКУ ПРОБЛЕМ И СПОСОБОВ ИХ РЕШЕНИЙ, – ОДИН ИЗ ЛУЧШИХ ПРЕДИКАТОРОВ ДОЛГОСРОЧНОЙ ЭФФЕКТИВНОСТИ КОМАНДЫ.
Когорты. Что скрывается за вашей чистой дистрибуцией? Изучение данных в поисках когорт, скрытых за верхнеуровневым анализом, – эффективный способ обнаружить новые типы пользователей с неожиданными потребностями.
Конкурентные преимущества. Знание ваших сильных сторон обеспечит вам превосходство над другими компаниями.
Главное конкурентное преимущество. Самая экстремальная версия конкурентного преимущества. Это устойчивое положение, позволяющее создавать такие предложения, которые не смогут выдвинуть другие игроки. Определять такие козыри можно по трем аспектам:
• Что нынешние главные конкретные преимущества позволяют вам делать сегодня?
• Какие потенциальные главные конкретные преимущества вы могли бы создать в будущем?
• Какие главные конкретные преимущества есть у ваших конкурентов?
Укрепление рычагов. Есть составные блоки, что при проектировании уже сегодня, со временем превратятся в крупный продукт или технический рычаг (10)? В конечном итоге, это возможность получить выгоду по крайней мере дважды. Такие задачи изначально не кажутся достаточно важными, чтобы сосредоточиться исключительно на них, но совокупная ценность возводит их в ранг приоритетных.
• Пример из сферы разработки: внедрение в приложение новой системы навигации, которая обеспечивает более качественную поддержку расширенного набора функций и режимов, имеющихся у вас сегодня, и способствует дальнейшему росту популярности приложения. (Вы получите дополнительное преимущество, если с помощью новой системы удастся предотвратить будущие споры о позиционировании новых функций относительно существующих!)
• Пример инфраструктуры (создание софта): использование нового стандарта для отказавшей части технологии. Это решает проблему надежности, снижает стоимость технического обслуживания, а также уменьшает затраты на будущие переводы персонала из одного подразделения в другое (11).
3.2.2. Выбор проблем
Итак, вы определили достаточное количество возможных проблем, теперь нужно сузить круг до конкретного и компактного списка. Вот пара советов, которые я счел полезными на этом этапе:
Старайтесь пережить текущий период. Вспомните многоуровневый отборочный турнир: что вам нужно, чтобы продержаться в текущем раунде? Например, доход, который продукт должен принести, чтобы проект не закрыли и не выставили на продажу.
Старайтесь пережить следующий период. Что вам нужно сделать в следующем раунде, чтобы избежать выбывания? Существует несколько способов (многие из них связаны с компромиссами в отношении качества) снизить долгосрочную пропускную способность в угоду скорости в краткосрочной перспективе. (Победа приводит к значительному увеличению ресурсов позже, так что иногда компромисс вполне уместен!)
Старайтесь выигрывать. Нужно выживать в каждом раунде, но также важно в конечном итоге выиграть раунд! Что обеспечит вам однозначную победу?
Рассматривайте различные временные рамки. Когда люди расходятся во мнениях о том, над какими проблемами работать, я нахожу, что конфликт чаще всего коренится в различных предположениях о правильных временных рамках для оптимизации. Что бы вы сделали, если бы у вашей компании закончились деньги через шесть месяцев? Что если бы не было никаких внешних факторов, заставляющих вас показывать результаты в течение двух лет? В течение пяти лет?
Следите за отраслевыми тенденциями. Как вы думаете, куда движется отрасль? Что позволит вам воспользоваться преимуществами этих тенденций или, по крайней мере, избежать необходимости переделывать продукт в ближайшем будущем?
Стремитесь вернуть инвестиции. Я считаю, что люди часто недооценивают важность быстрых и легких побед. Если вы находитесь в нестандартной ситуации и осознаете как выхлоп, так и затраты на реализацию небольших проектов, тогда найдите время, чтобы попытаться упорядочить проблемы касательно ожидаемой отдачи от инвестиций. На этом этапе вы вряд ли знаете точное решение, поэтому вычислить стоимость трудно. Но для категорий проблем, с которыми вы сталкивались раньше, вероятно, можно сделать точный прогноз. (Если у вас нет соответствующего опыта, поспрашивайте окружающих.) В тех случаях, когда победы накапливаются, они могут оказаться удивительно ценными в среднесрочной и долгосрочной перспективах.
Экспериментируйте, чтобы узнавать новое. Какой навык, который можно прокачать прямо сейчас, облегчил бы выбор проблем в будущем?
3.2.3. Проверка правильности решения
Как только вы сузили круг задач, которые хотите решить, легко сразу перейти к глобальным действиям, но в итоге вы наверняка застопоритесь. Я обнаружил, что вместо этого стоит обратиться к этапу проверки решения.
Подходы, которые я нашел эффективными для проверки решения, следующие:
Напишите письмо клиенту. Напишите сообщение об обновлении, которое хотели бы отправить после успешного решения проблемы. Способны ли вы написать что-то захватывающее, полезное и реальное? Лучше протестировать предполагаемое решение на реальных пользователях, чем полагаться на свою интуицию.
Найдите аналог. Как коллеги по отрасли подходят к решению этой проблемы? Тот факт, что другие прибегли к определенному способу, не гарантирует, что этот способ хорош, но, по крайней мере, свидетельствует о его доступности. Небольшое предостережение: лучше полагаться на людей, с которыми у вас есть какие-то личные связи, а не на общение на конференциях и тому подобное, поскольку в мире удивительно часто встречается дезинформация.
Найдите референсных пользователей. Можете ли вы найти пользователей, которые готовы стать подопытными кроликами для испытания вашего решения? Если нет, вам стоит серьезно пересмотреть вашу задумку.
Выбирайте эксперименты, а не анализ. Гораздо лучше добиться результата дешевой проверкой, чем потратить время на последовательный выбор правильного решения. Даже если вы гениальны, на этапе проектирования вам почти всегда недостает данных. Да, при анализе можно восполнить недостаток знаний, но это будет зависеть от ваших навыков и наличия информации в открытом доступе, в то время как эксперименты позволят выявить неожиданные недостатки вашего решения.
Ищите самый быстрый и дешевый способ. Наиболее затратный способ проверки решения – это его полное осуществление. Плюсом такого подхода является то, что вы не теряете времени даром. Если выбрали хорошее решение. Недостаток же в том, что вы впустую потратите огромное количество времени. Если решение себя не оправдает. Попробуйте найти самый дешевый способ проверки.
Аргументируйте затраты на переход. Чем пожертвуют те, кто начнет пользоваться новым продуктом? Даже если люди захотят, но затраты окажутся высоки, они просто не смогут ничего сделать. Обсудите с потенциальными пользователями, готовы ли они оплатить полную стоимость перехода на ваше решение.
Кроме того, я обнаружил, что большинство аспектов успешного технологического перехода (12) пересекается с проверкой правильности решения! Это важный навык, применение которого многократно окупит потраченное время.
Внедрение этих трех элементов сегодня – исследования, отбора и проверки – не превратит вас в исключительного продакт-менеджера. Но они станут надежной отправной точкой для развития навыков и улучшат ваши перспективы в следующий раз, когда на вас свалятся обязанности продакт-менеджера.