В 2017 году было проведено одно из первых исследований продуктивности разработчиков —
Software Developer Productivity Survey 2017 от компании GitPrime (Pluralsight Flow), которая разрабатывает платформу инженерной аналитики. Исследование основано на опросе 1000 профессиональных разработчиков из США и Великобритании, проведенном в феврале 2017 года. В выборку вошли англоязычные специалисты, для которых написание кода является основной частью ежедневной работы. В отчете рассматриваются факторы, влияющие на продуктивность разработчиков, отношение к инженерным метрикам, восприятие руководителями данных о продуктивности, а также критерии оценки качества кода и ключевые показатели продуктивности инженеров.
Что интересного мы отметили в отчете:
- Факторы, снижающие продуктивность разработчиков. Наибольшими источниками потерь времени разработчики считают ожидание других участников работы: 41% респондентов отметили, что это отнимает много времени, еще 29% указали на заметные потери времени. Вторым по значимости фактором стали встречи, на которых разработчики преимущественно молчат: 40% считают их серьезным источником потерь времени. Среди других заметных ограничений: работа с неудобными инструментами (35%), управление задачами, статусами и процессами (31%), а также взаимодействие с неразработчиками (31%). При этом помощь другим разработчикам и социальные сети воспринимаются как менее значимые источники потерь времени: только 25% и 28% соответственно считают, что они существенно снижают продуктивность;
- Метрики продуктивности разработки. Большинство разработчиков считают, что продуктивность разработки программного обеспечения можно измерять: 89% респондентов уверены, что существуют хорошие метрики для оценки продуктивности инженерной деятельности, и только 11% придерживаются противоположного мнения;
- Интерес разработчиков к метрикам продуктивности. Подавляющее большинство разработчиков (92%) хотели бы знать собственные метрики продуктивности, если бы такие измерения существовали, и только 8% не проявляют интереса к подобным данным;
- Отношение к использованию метрик руководителями. Большинство разработчиков положительно воспринимают регулярный анализ данных о продуктивности со стороны руководителей: 61% респондентов отметили, что их мнение о менеджере улучшилось бы, если бы тот регулярно анализировал данные о продуктивности для помощи команде. Еще 23% считают, что это не повлияло бы на их отношение, и только 16% полагают, что их мнение о руководителе ухудшилось;
- Понимание факторов продуктивности разработчиков. Разработчики чаще всего считают, что лучше всего причины продуктивности понимают они сами и их коллеги: около 59% респондентов отметили высокий или глубокий уровень понимания у себя, а 58% у других разработчиков. Руководители команд и менеджеры продуктов воспринимаются как обладающие умеренным пониманием: только 37% и 37% соответственно считают, что у них высокий или глубокий уровень понимания факторов продуктивности. Наименьшее доверие вызывают топ-менеджеры и нетехнические стейкхолдеры: 43% респондентов считают, что C-level и Senior Executives обладают недостаточным или отсутствующим пониманием, а среди нетехнических функций этот показатель достигает 56%;
- Критерии оценки качества кода. При оценке кода коллег разработчики в первую очередь обращают внимание на корректность работы кода, этот фактор назвали наиболее важным 14% респондентов. Далее следуют сопровождаемость (Maintainability) кода — 13%, читаемость (Readability) — 13% и возможность повторного использования (Reusability) — 10%. Менее значимыми критериями оказались полнота реализации (10%), количество дефектов (9%), тестовое покрытие (8%) и соблюдение стайл гайдов (5%). Скорость поставки кода также воспринимается как второстепенный фактор: только 6% считают своевременность поставки важнейшим критерием оценки;
- Метрики продуктивности разработчиков. В качестве наиболее значимых показателей продуктивности разработчики чаще всего называют низкое количество и серьезность создаваемых дефектов (16%). Далее следуют содержательное участие в ревью кода (15%), объем нового написанного кода (15%), низкая частота переработок и переписывания кода (14%), а также объем и сложность закрытых задач (14%). При этом количество написанных строк кода воспринимается как менее значимая метрика: только 13% считают ее ключевым показателем продуктивности, а низкий уровень создаваемого технического долга назвали важнейшей метрикой 12% респондентов.
Основные инсайты из опроса Software Developer Productivity Survey 2017 приведены ниже: