Привет, Хабр!
Сегодня рассмотрим метод, который может стать для вас интересным инсайтом в стратегическом планировании разработки — Wardley Mapping.
Если кратко, Wardley Map — это схема, где мы располагаем все компоненты нашего продукта или системы в двух измерениях: по оси «ценность для пользователя» (вертикаль) и по оси «эволюция/зрелость» (горизонталь).

Вертикальная ось отражает цепочку ценности (value chain) — насколько компонент близок к конечному пользователю или, наоборот, скрыт глубоко в инфраструктуре. Самый верх карты — это потребности пользователя, то, ради чего вообще существует ваш проектe. Ниже будут компоненты, которые эти потребности удовлетворяют, еще ниже — то, что нужно для работы этих компонентов, и так далее, вплоть до самых базовых технических услуг.
Горизонтальная ось показывает стадию эволюции каждого компонента — от совсем нового и сырого (слева) до общедоступного стандартизованного решения (справа). Выделяются четыре стадии развития вещей: генезис (идея или уникальная разработка), кастомное решение под задачи (Custom‑built), продукт/аренда (Product/Rental) и commodity/utility — то есть полностью утилитарная commodity‑компонента или услуга, доступная «как электричество из розетки».
На карте слева всякие новаторские штуки, которые встречаются редко, несут высокие риски и могут дать конкурентное преимущество. Справа — то, что уже стало рутиной и легко приобретается как готовый сервис с минимальными рисками (вспомним, например, облачные серверы сейчас). Верхний левый угол карты — это то, что очень ценно для пользователя, но пока ново и нестабильно. Нижний правый угол — незаметные для пользователя бэкэнд‑вещи.
Саймон Уордли (создатель методологи) утверждает, что ценность карт в том, что они выявляют наши предположения и позволяют их оспорить, создавая общее видение продукта.
Оси карты: ценность для пользователя и эволюция компонентов
Цепочка ценности показывает, как компоненты связаны в доставке пользы пользователю. Начинаем всегда с четко обозначенного пользователя и его потребности. Для продуктовой команды это может быть конечный пользователь приложения и его цель — например: «Получить заказ дронами за 30 минут» или «Хранить данные без потерь». Это ставим наверху. Далее спрашиваем себя: «Что нужно, чтобы удовлетворить эту потребность?». Ответы — это наши компоненты/сервисы. Их помещаем под пользовательской потребностью.
Потом для каждого из этих компонентов опять спрашиваем: «А что нужно, чтобы этот компонент работал?» — и добавляем еще уровни ниже. Так постепенно выстраивается цепочка: от очевидных для пользователя вещей — до бэкэнда и инфраструктуры.
Эволюция компонентов — это вторая ось, отражающая насколько зрелым и распространенным является решение на рынке. Тут нужна объективность: оценить, на каком этапе находится каждый компонент:
Genesis (зарождение) — уникальная разработка, аналоги отсутствуют. Например, ваш собственный экспериментальный алгоритм, про который в научных статьях еще не писали. Высокий риск, много неизвестностей.
Custom‑Built (кастомное) — решение есть, но делается под ваши специфические нужды. Аналоги есть, но вы пилите свое, потому что стандартных продуктов нет или они не подходят.
Product/Rental (продукт или аренда) — компонент доступен как готовый продукт или сервис. Можно купить лицензии или арендовать (SaaS, PaaS). Технология уже стандартизирована, хотя может обновляться.
Commodity/Utility (commodity или утилита) — полностью утилитарная вещь, доступная всем по очень низкой цене, зачастую как коммунальная услуга. Конкуренция идет за счет цены/объема. Та ж облачная вычислительная мощность, хранилище, интернет‑коннект — всё это commodity.
Каждый компонент из цепочки помещаем по горизонтали согласно его стадии. Новые или редкие технологии — ставим левее. То, что уже есть на каждом углу, сдвигаем вправо. Не нужно пытаться нанести точное числовое значение — позиция относительная. Главное, кто левее, а кто правее друг друга. Например, если вы используете PostgreSQL для хранения данных — это явно правее (готовый продукт с десятилетней историей), чем ваш самописный модуль машинного обучения, который пока сделан «на коленке» под ваши задачи (левее).
Но конечно же, карта Уордли — это не архитектурная схема. Она не про последовательность вызовов или сетевые диаграммы. Это про ценность и эволюцию. На ней не показываем временные потоки или масштаб, только относительную позицию компонентов. При этом на карте проводим линии зависимостей (обычно стрелки сверху вниз): кто чем пользуется. Верхние узлы зависят от нижних. Можно сказать, что стрелка означает «для работы X необходим Y». Например, фронтенд зависит от API, API зависит от базы данных. Пользовательская потребность удовлетворяется через ряд зависимостей вниз по цепочке.
Как составлять Wardley Map
Перейдем к практике. Как построить карту Уордли для проекта? Опишу пошагово на примере.
1. Определяем пользователя и его нужды. Начинаем я с того, что четко сформулировали, кто конечный пользователь нашего продукта и что ему надо. Без этого карта бессмысленна — она всегда должна быть привязана к тому, кому мы приносим ценность.
Например, предположим, разрабатываем сервис доставки дронами. Пользователь — допустим, клиент интернет‑магазина, его потребность — получить заказ как можно быстрее. Это и ставим на вершину карты как отправную точку. Иногда рисуют вверху значком человечка «User» и подписывают потребность рядом.
2. Расписываем цепочку ценности. Далее перечисляем все крупные вещи, которые нужны, чтобы удовлетворить эту потребность. Что должно произойти, чтобы дрон доставил посылку быстро? Ну, например: нужна сама платформа дронового сервиса — то есть флот дронов, которые могут летать с грузом; нужен софт для маршрутизации этих дронов; нужны какие‑то базовые данные — скажем, информация о погоде, чтобы не запускать дрон в шторм; карты и GPS для прокладки маршрута; связь для управления дроном и передачи данных, и т. д. Выписываем все такие элементы. Каждый из них — компонент цепочки. Затем связываем их: дроновый сервис (как ключевой компонент) опирается на флот дронов и на ПО маршрутизации. ПО маршрутизации в свою очередь зависит от данных погоды, картографического сервиса и от канала связи. Дроны зависят от связи (для управления) и от погоды (решение о вылете). И так далее.
В итоге получается дерево зависимостей, ориентированное на пользователя. Наверху — «доставка посылок дронами быстро» (потребность пользователя). Под ним — «платформа доставки дронами» (наш сервис, удовлетворяющий эту потребность). Еще ниже — основные компоненты: «флот дронов (hardware)» и «система маршрутизации (software)». Еще ниже — поддерживающие компоненты: «API погоды», «картографический сервис (GPS)», «сеть связи». Это и есть наша цепочка ценности сверху вниз.
3. Оцениваем стадию эволюции каждого компонента. Теперь для каждого узла думаем, насколько он нов или распространен. В примере:
Дроновый сервис доставки — вещь новая, мало у кого есть. Ставим ее ближе к левому краю (скажем, зона между Genesis и Custom). Пока что это уникальное предложение на рынке.
Флот дронов — сами по себе дроны уже продаются на рынке (товар), но дронов, способных безопасно доставлять грузы, не так много. Можно оценить это как ближе к продуктовой стадии, но не commodity. Ставим где‑то на границе Custom/Product.
Система маршрутизации дронов — специфичный софт, скорее всего разрабатываем на заказ под себя. Возможно, частично есть решения, но для нашей задачи кастомизируем. Значит, это Custom‑built — левее, но не совсем Genesis.
Погодный API — ну тут все ясно, погоду можно получить от кучи провайдеров. Это commodity‑сервис, доступный по запросу за копейки или бесплатно. Ставим далеко вправо.
Картографический сервис/GPS — тоже commodity (например, Google Maps API или открытые карты). Практически утилита.
Сеть связи — сама по себе интернет/мобильная связь — commodity. Если дроны используют сотовую сеть или спутниковую, для нас это утилита, мы просто платим за трафик.
4. Наносим все на карту. Рисую двумерное поле: горизонталь — эволюция (слева генезис, справа commodity), вертикаль — ценность (вверху пользователь). Расставляем компоненты по прикинутым координатам. Затем проводимлинии зависимостей: от потребности пользователя вниз к сервису, далее к подчиненным компонентам и так далее. Получается такая карта:

Анализируем получившуюся карту. Теперь самое интересное — что нам говорит эта картина? На что сразу смотреть:
Несоответствия. Ищем компоненты, которые очень высоко по ценности, но при этом сидят слева в незрелых стадиях. Это потенциально опасно: пользователь этого требует, а технология еще сырая — риски, сбои, неудовлетворенность клиентов.
Возможности для инноваций. Смотрим на левую часть карты: там зоны Genesis и Custom. Эти компоненты еще не стали массовыми — возможно, тут наше конкурентное преимущество. Тимлиду стоит задать вопрос: не упускаем ли мы что‑то? Может, стоит вложиться именно в эти области, пока конкуренты спят?
Где можно сэкономить за счет commodity. Правый край карты — все, что уже стандартизовано. Здесь зачастую выгоднее купить или взять в аренду, чем развивать свое. Если какой‑то важный для цепочки компонент сидит далеко справа, стоит рассмотреть аутсорс, облако, готовые продукты.
Взаимосвязанные движения. Продумываем, как изменения одного компонента влияют на другие. Карта помогает видеть расклад сил: если, скажем, появятся десятки конкурентов в доставке дронами, наш верхний левый компонент (сервис) поедет резко вправо. Тогда нынешний козырь станет базовой необходимостью, и придется придумывать новые фишки слева, чтобы выделяться.
Ограничения и инерция. Стоит подумать, что может мешать сдвигать компоненты так, как хотелось бы. Инерция в компаниях — страшная сила: даже понимая, что компонент уже commodity, люди могут продолжать тянуть с миграцией из‑за «мы всегда так делали». На карте можно помечать факторы инерции или внешние ограничения. Например, для наших дронов серьезное ограничение — регулирование авиации.
6. Действуем на основе карты. Наконец, имея карту и анализ, можно набросать варианты стратегий. Что мы делаем с этой информацией? Например, видим риск: важный компонент незрелый — решаем вложиться в его развитие, может быть, привлечь экспертов, увеличить команду, написать больше тестов, чтобы повысить надежность. Видим возможность сэкономить на commodity — выносим план миграции на облачный сервис, закрываем свой дата‑центр (классический пример: когда‑то собственные сервера давали конкурентное преимущество, а сейчас это commodity и разумно переехать в AWS или аналог). Видим возможность для инновации — убеждаем бизнес выделить время на R&D по компоненту слева, который может через год‑два выстрелить. Например, начинаем экспериментальный проект по новой технологии, которая пока генезис.
7. Обсуждаем и пересматриваем. Wardley Map — не статичная картинка для отчета, ее сила именно в совместном обсуждении. Нужно приглашать все важные лица к этому диалогу. Главное — регулярно сверяться с реальностью и не бояться поправить карту. Мир меняется — карта тоже.
Так же есть несколько подходов визуализации карты:
Рисование «вручную» на электронных досках или диаграммах.
Специализированные онлайн‑инструменты. Самый известный — Online Wardley Maps.
Заключение
Wardley Map — мощный инструменТ. Он не решит за вас всех проблем, но здорово прокачает ваше стратегическое зрение. Попробуйте на своем проекте: возьмите час досуга, нарисуйте карту — и, может быть, вы увидите то, что раньше ускользало от внимания. Без преувеличений, это интересный процесс, который к тому же приносит прямую пользу делу. Удачного картирования, и пусть ваши самые рискованные затеи окажутся в верхнем левом углу карты (а затем благополучно переедут вправо, став вашей заслуженной победой).
Если по вашей Wardley-карте видно, что команде не хватает зрелости в паре критичных узлов, это закрывается адресным обучением: корпоративные треки OTUS по программированию, DevOps/инфраструктуре, аналитике и управлению процессами, в форматах от участия в открытых группах до кастомных программ. Вечерние живые занятия с практикой и доступом к записям помогают встроить обучение в рабочий ритм без простоя. Это понятный способ точечно усилить нужные компоненты вашей цепочки ценности без лишней бюрократии.
А чтобы оставаться в курсе актуальных трендов управления в IT и первыми узнавать новости о бесплатных мероприятиях, подписывайтесь на Telegram‑канал OTUS4Business.