DX vs Developer Productivity vs DPE — Лаборатория DX
Easy Авторский

DX vs Developer Productivity vs DPE

Чем Developer Experience отличается от Developer Productivity Engineering и Platform Engineering

Зоопарк терминов

Вокруг Developer Experience крутится десяток похожих ярлыков: Developer Productivity, Developer Productivity Engineering, Platform Engineering, Developer Enablement, Developer Effectiveness. У каждого свои конференции, свои евангелисты и свои вакансии на LinkedIn. На практике термины тасуют как синонимы, хотя за каждым стоит отдельный угол зрения на одну большую задачу — как сделать так, чтобы разработчик мог делать свою работу хорошо.

Дальше — где границы и где они расплываются.

Developer Experience — зонтик

DX — самый широкий из всех терминов в этом списке. Под него попадает всё, что влияет на работу разработчика: инструменты, процессы, архитектура, документация, культура, оргструктура, когнитивная нагрузка, эмоциональное состояние. Если коротко — DX отвечает на вопрос «каково быть разработчиком в этой компании», и ответ собирается из десятков факторов: от скорости CI до количества внеплановых встреч в неделю.

DX — это не практика и не инструмент, а линза. Когда вы выбираете между двумя архитектурными подходами и учитываете не только производительность системы, но и то, разберётся ли в коде новичок за неделю — это и есть DX-мышление в действии.

Developer Productivity — измеримая часть

Developer Productivity сужается до измерения и улучшения производительности. В центре — метрики: DORA (deployment frequency, lead time, change failure rate, MTTR), cycle time, throughput, количество PR в неделю и прочие числа, которые достаются из инструментов и кладутся на график.

Соотношение между DX и Developer Productivity такое же, как между UX и Conversion Rate. Конверсия — важная цифра, но она не описывает весь опыт; высокую конверсию можно получить тёмными паттернами и манипулятивными интерфейсами. Точно так же бывает высокая productivity по графикам — много деплоев, быстрый CI — и при этом выгоревшие разработчики, которые пишут первое попавшееся решение, лишь бы закрыть тикет.

Productivity — следствие хорошего DX, но не единственное. Retention, качество кода, способность к инновациям, скорость онбординга — тоже следствия, и они часто весят больше чистой производительности.

Developer Productivity Engineering — узкая дисциплина

Developer Productivity Engineering (DPE) — термин, который продвигает Gradle (создатели Gradle Build Tool и Gradle Enterprise, теперь Develocity). DPE — конкретная инженерная дисциплина про ускорение и стабилизацию build/test pipeline. Базовый набор практик: build caching, чтобы не пересобирать неизменившееся; predictive test selection, чтобы запускать только релевантные тесты; flaky test detection, чтобы вылавливать нестабильные тесты; build scan analysis, чтобы видеть, на чём именно теряется время.

Если DX — это весь опыт, а Developer Productivity — его измеримая часть, то DPE сидит ещё глубже: набор инженерных практик для оптимизации одной области — build/test pipeline. Аналогия: «здоровье» (DX), «физическая форма» (Productivity), «кардиотренировки» (DPE). Чем дальше — тем уже и специализированнее.

При всей узости DPE решает дорогую проблему. По данным Gradle, в крупных организациях разработчики тратят в среднем неделю в месяц на ожидание сборок и разбирательства с упавшими тестами. Инвестиции в DPE-практики окупаются быстро и видимо.

Platform Engineering — реализация через продукт

Platform Engineering — способ улучшать DX через внутреннюю платформу как продукт. Платформенная команда строит инструменты, абстракции и self-service интерфейсы, через которые остальные команды деплоят и обслуживают свои приложения, не разбираясь в деталях инфраструктуры.

DX отвечает на вопрос «что хотим получить» — хороший опыт разработчика. Platform Engineering отвечает на вопрос «как этого добиться» — строим платформу. Классика жанра: вместо того чтобы каждая продуктовая команда сама настраивала Kubernetes, мониторинг, CI/CD и работу с секретами, платформенная команда даёт golden paths — проверенные дорожки для типовых задач. Нужен новый микросервис? Шаблон, одна команда, на выходе репозиторий с настроенным CI, мониторингом, базовыми алертами и документацией.

Важная деталь. Platform Engineering без DX-мышления превращается в новый источник боли. Если платформенная команда строит инструменты, удобные ей самой, а не пользователям-разработчикам — DX от этого только проседает. Поэтому в Platform Engineering и появилась мантра platform as a product: внутренняя платформа — это продукт со своими пользователями, исследованиями и итерациями.

Как всё это связано

На диаграмме получается так: DX — самый большой круг; Developer Productivity — круг поменьше внутри него; DPE — ещё меньший круг внутри Productivity; Platform Engineering — отдельный круг, который пересекается со всеми, потому что платформа влияет и на опыт, и на производительность, и на скорость сборки одновременно.

На практике границы плывут, и это нормально. Если компания нанимает «Head of Developer Experience», такой человек может одновременно отвечать за платформу, метрики и процессы — потому что всё это части одного целого.

Что выбрать в своём контексте

Если в компании только начинается разговор о DX, не стоит вязнуть в терминологии. Важнее посмотреть на конкретные проблемы конкретных разработчиков. Опрос, разговоры один на один, метрики — три инструмента, которые быстро покажут, где болит. Может оказаться, что больнее всего сборка идёт сорок минут (тогда нужны DPE-практики). Может — что инфраструктура сложнее самого продукта (тогда нужна платформенная команда). Может — что процессы пишутся в чате на ходу (тогда нужны организационные изменения). Название работы вторично; важно, что её кто-то делает.