Снежный человек и мифический 10-кратный разработчик имеют много общего: наблюдения редки и не являются окончательными. Однако, хотя многие люди имеют смутное представление о том, как выглядит снежный человек, профиль 10-кратного разработчика — разработчика, производительность которого в 10 раз выше, чем у его коллег — более неуловим.
Это связано с тем, что представления 10-кратного разработчика основаны, по крайней мере частично, на неопределенных или общепринятых мерах индивидуальной производительности и предположении, что эти меры могут быть использованы для оценки относительной производительности членов команды. Одна из проблем с этой концепцией заключается в том, что даже если существует надежный показатель личной продуктивности, неясно, как его можно надежно соотнести со значимыми результатами бизнеса. Вместо этого многие ИТ-руководители считают, что сосредоточение внимания на устранении негативных разработчиков было бы более эффективным.
Несмотря на высмеивание и отвержение разработчиками с самого начала, концепция 10-кратного разработчика, впервые представленная в исследовании, опубликованном в Программное обеспечение около 1987 года, жив и здоров благодаря лидерству в области ИТ. Почему? Это согласуется с преобладающим предположением о том, что производительность — это, прежде всего, кадровая проблема, которую можно решить с помощью передового опыта и инструментов управления, таких как методы найма, анализ пробелов в навыках, обучение, мониторинг деятельности, опросы и стратегии вознаграждения.
Согласно теории, использование этих инструментов для поиска, развития и удержания лучших специалистов, т. е. разработчиков в 10 раз, приведет к чрезмерному повышению производительности. Этот подход направлен на то, чтобы установить и поднять индивидуальную планку производительности для всей команды в надежде, что каждый сможет стать разработчиком в 10 раз, что бы это ни значило.
Войдите в инжиниринг производительности разработчиков
Элитные команды разработчиков понимают, что многие традиционные подходы к управлению производительностью, хотя и необходимы и эффективны, недостаточны. Они понимают ограничения подхода, направленного на повышение индивидуальной производительности от 1x до 10x разработчика. В результате они используют более современный подход к повышению производительности труда разработчиков, который называется «инжиниринг производительности разработчиков» (DPE). DPE — это новая практика, используемая такими компаниями, как Airbnb, American Express, Apple, JPMorgan Chase, Google и Netflix, для повышения производительности и удобства разработчиков. DPE смещает акцент ИТ-лидеров с развития 10-кратных разработчиков на создание 10-кратной команды.
Если вы скептически относитесь к существованию 10-кратных разработчиков или полезности концепции, само собой разумеется, что вы были бы в 10 раз более скептичны к понятию 10-кратных команд разработчиков. В результате важно сформулировать «команду разработчиков 10x» как концепцию и стратегию постоянного улучшения, которые могут быть реализованы с помощью практики DPE. DPE сама по себе не создаст команду 10x.
Кроме того, команда 10x — это движущаяся цель, где уместно сравнение с командами разработчиков ваших конкурентов. В результате ценность для бизнеса заключается в путешествии, а не в пункте назначения, потому что вы никогда не узнаете, достигли ли вы цели, поскольку конкуренты постоянно стремятся сдвинуть цели. Тем не менее, успешное прохождение этого пути имеет решающее значение. Успех зависит от принятия трех изменений в стратегическом мышлении, которые лежат в основе подхода DPE.
От проблемы людей к проблеме технологий
Команды 10x меняют акцент, рассматривая производительность разработчиков как проблему людей, решаемую в первую очередь с помощью передового опыта управления, на технологическую проблему, решаемую с помощью инженерных решений. Разработанные решения устраняют узкие места в производительности и устраняют трения с помощью технологий ускорения и аналитики, использующих автоматизацию и данные.
Другими словами, в то время как традиционное управление производительностью разработчиков сосредоточено на ответах на такие вопросы, как «Как мы можем повысить производительность разработчиков, ожидая завершения циклов сборки и тестирования?» DPE спрашивает: «Почему для завершения циклов сборки и тестирования требуется так много времени? Как мы можем использовать данные и технологии, чтобы исправить это?»
Например, одной из самых больших проблем производительности разработчиков являются медленные сборки и тесты, которые вызывают время простоя и ненужное переключение контекста. Разработанные технологии повышения производительности, такие как кэширование сборки, выбор тестов на основе машинного обучения и распределение тестов, могут сократить время сборки на 90 %. В результате разработчики тратят меньше времени на ожидание, чаще строят и тестируют, оставаясь в творческом потоке.
Этот реинжиниринг сборок и тестов оказывает «сдвиг влево» на производительность и качество разработчиков, поскольку вероятность появления проблем в CI, где их обнаружение и исправление обходится дороже. Кроме того, при возникновении сбоев устранение неполадок в неработающих сборках может вызвать тяжелую работу и разочарование. Технологии DPE, такие как Gradle Build Scan, значительно повышают эффективность поиска и устранения основных причин сбоев сборки.
От индивидуального результата к командному результату
Традиционное управление производительностью разработчиков фокусируется на индивидуальных результатах, тогда как DPE отдает приоритет результатам команды. Элитные команды разработчиков признают, что человеческие показатели продуктивности ошибочны (см. Прагматичный инженер). Их можно обыграть, они не рассказывают всей истории, а в некоторых случаях они совершенно произвольны. Более того, они могут даже нарушать принцип «не навреди», стимулируя контрпродуктивное поведение. Рассмотрим разработчиков, которые тратят меньше времени на отработку своих ценных навыков наставничества, потому что их результаты оцениваются с точки зрения функциональных баллов или исправленных ошибок. Кроме того, многие выходные показатели противоречат искусству написания элегантного и лаконичного кода в пользу многословного кода.
DPE устраняет узкие места в жизненном цикле разработки программного обеспечения и наборе инструментов и предоставляет данные, которые можно использовать для их ускорения. Ключевые метрики включают время сборки и тестирования, экономию средств за счет предотвращения сбоев, частоту отказов и среднее время восстановления после сбоев. Решения DPE не ориентированы на отдельных лиц, а в равной степени приносят пользу всем разработчикам, повышая базовый уровень производительности всей команды, подобно приливу, который поднимает все лодки. Самое главное, эти показатели можно надежно привязать к бизнес-результатам, таким как время доставки программного обеспечения, затраты на разработку, качество и даже бренд.
Принятие инвестиционных решений от мягкого ROI к жесткому ROI
Невозможно определить окупаемость ваших инвестиций в традиционные инициативы по управлению производительностью. Метрики DPE могут обеспечить измеримые бизнес-результаты, которые можно монетизировать для определения жесткой рентабельности инвестиций и использовать для обоснования вашего первоначального экономического обоснования и текущих инвестиций для совершенствования методов DPE.
Например, вы можете рассчитать существенную экономию за счет более быстрого цикла сборки и тестирования обратной связи с использованием технологий повышения производительности DPE, используя простую формулу: умножьте среднее время, сэкономленное на ожидание завершения сборки, на количество сборок в год, чтобы получить общую экономию времени в инженерных лет, а затем умножьте это на стоимость полностью загруженного инженерного года. Для многих групп разработчиков среднего размера это быстро превращается в миллионы долларов, позволяющих избежать затрат на основе двузначной экономии, измеряемой инженерными годами.
В конечном счете, DPE представляет собой революционный подход к производительности разработчиков, поскольку он использует современные технологии, чтобы поднять планку результатов работы команды. Хотя практика DPE сама по себе не приведет к увеличению команды в 10 раз, она обеспечивает стратегию постоянного совершенствования. Ценность для бизнеса заключается в путешествии, а не в пункте назначения, и навигация по пути имеет решающее значение для конкурентоспособности любой компании. При этом вместо того, чтобы сосредотачиваться на поиске следующего снежного человека среди разработчиков программного обеспечения — разработчика 10x — компаниям следует использовать DPE в погоне за командой 10x.
Ханс Доктер — генеральный директор и основатель Грейдл Инк., изобретатель инструмента Gradle Build с открытым исходным кодом, а также ведущий мировой эксперт и защитник новой практики повышения производительности разработчиков (DPE), для которой Gradle Enterprise является ведущей технологической платформой. Ганс имеет долгую и гордую историю в сообществе открытого исходного кода. Gradle Build Tool — самый популярный инструмент сборки для проектов JVM с открытым исходным кодом на GitHub. Gradle Enterprise — это открытая платформа, которая поддерживает несколько инструментов сборки с открытым исходным кодом, включая Apache Maven и Bazel, в дополнение к Gradle Build Tool.
—
New Tech Forum представляет собой площадку для изучения и обсуждения новых корпоративных технологий с беспрецедентной глубиной и широтой. Выбор субъективен и основан на выборе технологий, которые мы считаем важными и представляющими наибольший интерес для читателей InfoWorld. InfoWorld не принимает маркетинговые материалы для публикации и оставляет за собой право редактировать весь предоставленный контент. Все запросы направляйте на [email protected].