Недавно Аби Нода*, программист и генеральный директор платформы DeveloperExperience, ознакомился с исследованием The Human Side of Software Engineering Teams: An Investigation of Contemporary Challenges. В нём авторы обозначили наиболее распространённые «человеческие» проблемы, сопутствующие разработке ПО.

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

Подробнее о том, как человеческий фактор мешает работать программистам, читайте под катом.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.


Резюме исследования

Разработка ПО — сложная деятельность со множеством вызовов. Один из них заключается в том, что разработчики должны совместно работать над достижением результата. Влияние человеческого фактора на разработку ПО ранее уже становилось предметом исследований. Однако в них, как правило, рассматривались отдельные проблемы вроде коммуникации и взаимоотношения команд, — в то время как комплекс существующих проблем не был выявлен.

Авторы «The Human Side of Software Engineering Teams...» опросили 192 инженера-программиста, чтобы определить частоту возникновения, критичность «человеческих» проблем и стратегии их решения. Также они попытались выяснить, усугубляет ли дистанционный формат работы эти проблемы.

Вот основные выводы.

Распространённые «человеческие» проблемы при разработке ПО

Чтобы выявить наиболее значимые «человеческие» проблемы, разработчиков попросили оценить критичность и частоту возникновения ряда проблем, составленного на основе предыдущих исследований.

В случае с каждой из представленных проблем авторы рассчитали средние и медианные значения ответов. Затем, чтобы ранжировать проблемы в порядке важности, они ввели показатель «влияние». Проблема, которая возникает часто и имеет критическое значение, имеет большое влияние.

Двумя наиболее серьёзными проблемами оказались «недостаточный анализ на старте задачи» и «отсутствие руководства». Среди других значимых проблем — «отсутствие документации», «демотивация» и «нераскрытие информации команде».

Исследователи полагают, что «недостаточный анализ на старте задачи» имеет очень большое влияние, поскольку может вызывать волновой эффект и приводить к другим проблемам, таким как неправильное распределение времени, персонала или ресурсов. Разработчиков спросили, как справиться с этой проблемой. Они предложили проведение специальных встреч или закрепление временных интервалов, в рамках которых члены команды могли бы задать вопросы об областях, о которых у них недостаточно знаний. Также, по словам разработчиков, для решения проблемы было бы полезно обеспечить процесс формальной спецификации, если это ещё не сделано в компании.

Разработчики предположили, что с «отсутствием лидерства» — второй по значимости проблемой — можно справиться посредством тренингов по лидерству для будущих и нынешних лидеров; структурированных сессий обратной связи, ретроспектив и использования программных инструментов для оценки удовлетворённости команды.

Формирование более полного списка проблем

Чтобы обеспечить актуальность списка проблем, при опросе разработчикам предложили внести в него любые дополнительные «человеческие» проблемы, которых не было в изначальном списке. Почти половина участников дали ответы.

Затем исследователи разделили проблемы на два типа: межличностные (то есть проблемы, которые возникают при взаимодействии людей друг с другом) и внутриличностные, включающие любую нагрузку на человека, которая может негативно повлиять на его работу (например, эмоциональное состояние).

Влияние дистанционной работы

Авторы изучили и то, как удалённая работа влияет на частоту возникновения и критичность проблем в командах. С помощью ряда вопросов они оценили, насколько «виртуализирована» каждая из опрашиваемых команд. А затем проанализировали, как степень их виртуализации повлияла на выраженность исследуемых проблем.

Анализ показал: усиление виртуализации команд может привести к более частому возникновению некоторых «человеческих» проблем:

  • Работа в оффшорной команде оказалась связана с более частым игнорированием потребностей бизнеса и взаимодействием с часто меняющимися членами команды.

  • Удалённая работа — с более частой сменой членов команды.

  • Географически распределённая команда чаще сталкивается с такими проблемами, как игнорирование потребностей бизнеса и конфликты интересов на уровне руководства.

Исследователи предполагают, что участники распределённых команд могут иметь более слабые связи со своими коллегами. Это может приводить к снижению взаимопонимания и лояльности к компании.

***

В завершение предлагаем собрать собственную хабр-статистику. Делитесь, с какими проявлениями человеческого фактора вы наиболее часто сталкиваетесь в работе, и какие из них особенно критичны для вас и вашей команды.

В опросе ниже представлены некоторые распространённые межличностные проблемы из таблицы «The Human Side of Software Engineering Teams...». Если среди них нет нужного вам варианта, пишите его, пожалуйста, в комментариях — уверены, многим будет интересно узнать о том, какие «человеческие» проблемы на самом деле беспокоят коллег в ИТ!

Комментарии (0)