[2/3] Enabling the Study of Software Development Behavior With Cross-Tool Logs (Рубрика Management)
Продолжая рассказ про эту статью, надо рассказать про принципы конфиденциальности, способы валидации, пример исследования, а также про последствия создания методологии InSession и где она дальше засветилась. Ну а начнем мы с принципов конфиденциальности, которым следовали авторы
- Сбор данных только от сотрудников
- Фокус на рабочих инструментах
- Отказ от сбора контента, созданного сотрудниками
- Шифрование хранимых данных
- Аудируемый доступ к данным
- Запрет на отчетность по индивидуальным сотрудникам без согласия (||интересно, что на практике соблюдение этого принципа ооочень трудно добиться||)
- Уничтожение данных после установленного периода хранения (3 года)
Для валидации полученных измерений авторы решили сравнить их с поведенческими самоотчетаим (diaries). Авторы провели исследование с 25 инженерами Google, которые создавали дневники своей деятельности, затем сравнили эти дневники с данными сессий, используя показатель согласия PABAK (Prevalence and Bias Adjusted Kappa). Результаты показали высокое согласие для времени рецензирования (0.81), кодирования (0.69) и исследования (0.70).
Дальше авторы провели эксперимент для оценки эффекта readability certification инженеров на время рецензирования. Readability certification - это сертфикация о том, что инженер знает идиомы языка и правила написания принятые в Google. Гипотеза была в том, что при получении инженером сертификации по readability
- Ревьюверам придется тратить меньше времени на ревью
- Инженерам придется тратить меньше времени на доработки по комментариям ревьюверов (shepherding)
При анализе влияния процесса читаемости кода они применили линейную регрессию с контролем стажа разработчика, количества рецензентов и размера изменения, а также включили случайный эффект для идентичности автора. И они получили такие результаты
- Для C++: время рецензирования сократилось на 4.5%, время shepherding - на 10.5%
- Для Java: время shepherding сократилось на 10.0%
- 88% инженеров, завершивших процесс читаемости Java, согласились с утверждением о положительном опыте
Это исследование значительно повлияло на подходы к измерению продуктивности разработчиков в индустрии. Система InSession стала основой для ответа на долгосрочные вопросы программной инженерии, такие как "делают ли типы разработку более эффективной?". Подход Google к измерению поведения разработчиков через кросс-инструментальные логи вдохновил другие организации на создание аналогичных систем.
Методология придуманная авторами упоминалась и в следующих статьях, например
- "What Improves Developer Productivity at Google? Code Quality" (2022) - исследование использовало методологию, разработанную в InSession, для изучения панельных данных и установления причинно-следственных связей между качеством кода и продуктивностью разработчиков. Я уже разбирал эту статью
- "Predicting developers' negative feelings about code review" (2020) - работа применила данные InSession для предсказания негативных межличностных взаимодействий во время рецензирования кода, используя 90-й процентиль времени рецензирования и сопровождения.
- "The pushback effects of race, ethnicity, gender, and age in code review" (2022) - исследование использовало инфраструктуру данных InSession для изучения влияния демографических факторов на процесс рецензирования кода.
Окончание разбора с изображениями из статьи будет в последнем посте.
#Engineering #Software #Bigtech #Productivity #Management #Leadership #Processes