Супер-разработчик-это хорошо известный стереотип, и, возможно, мы полагаемся на него и даже поклоняемся — немного слишком много. Новые исследования показывают, что герой может быть более важным, чем мы могли надеяться.
Обычно считается, что герои разработчиков-это не очень хорошо, потому что они являются узким местом, которое замедляет разработку проекта.
Команда исследователей — Амританшу Агравал, Аконд Рахман, Рахул Кришна, Александр Собран и Тим Мензис из Университета штата Северная Каролина и IBM Research — изучала влияние программиста-героя на проекты, изучив 661 проект с открытым исходным кодом из Github и 171 проект из Enterprise Github.
Во-первых, что такое разработчик героя? Их определение заключается в том, что в проекте есть разработчики-герои, когда 80% взносов приходится на 20% разработчиков.
Первый неожиданный результат заключался в том, что героические проекты встречаются чаще, чем вы думаете, и по мере того, как проекты растут в размерах, они, как правило, становятся героическими проектами. Вы можете ожидать противоположного, поскольку в более крупных проектах может использоваться больше программистов, работающих над довольно изолированными областями кода, что приведет к более равномерному распределению вклада. И все же странно то, что присутствие героев, похоже, не имеет никакого значения для скорости, с которой проблемы и ошибки закрываются. На самом деле ситуация немного сложнее в том, что для корпоративных проектов герои действительно увеличивают скорость завершенных улучшений, но это не относится к государственным проектам.
В заключении статьи говорится::
«Таким образом, наши эмпирические результаты требуют пересмотра трюизма Лонгфилда в разработке программного обеспечения. Программные герои гораздо более распространены и ценны, чем это предлагается в литературе, особенно для разработок средних и крупных предприятий. Организации должны подумать о том, как лучше найти и удержать больше таких героев.»
Я не уверен, что это единственный возможный вывод, который вы можете сделать из полученных данных. Учитывая, что герои существуют и все же не имеют никакого значения, кроме как в корпоративных проектах, неясно, важны ли они для проекта. Существует также небольшой вопрос, что публичные репозитории Github, как правило, являются областью увлеченных команд программистов, работающих над программным обеспечением, в котором они заинтересованы. Поэтому неудивительно, что есть разработчики героев. Корпоративные репозитории соответствуют проектам, спонсируемым компанией, которые используют общедоступные репозитории Github. Таким образом, некоторым программистам, скорее всего, заплатят — приведет ли это к тому, что разработчики hero будут реагировать на запросы об улучшениях?
Это интересное исследование, но я думаю, что присяжные все еще не пришли.