Управление общим ресурсом: владение кодом и клоны кода в крупномасштабной разработке программного обеспечения
Governing the commons: code ownership and code-clones in large-scale software development
2024-12-14
SCID: 54.1/hunanjj7
Discuss with AI
MLGLMмногоуровневая обобщённая линейная модельразмер изменениякопии кодавладение кодомколлективное владениесравнение между командамиразработка ПО в масштабетехнический долгслабое владение
Figures from the paper
Abstract (AI)
Контекст: В организациях, занимающихся разработкой программного обеспечения и использующих слабое или коллективное владение, различным командам разрешается и вменяется в обязанность автономно вносить изменения в различные компоненты. Это приводит к различиям как в уровне знаний об отдельных компонентах, так и в ответственности за них. Цель: Цель исследования — понять, как и почему различные команды создают технический долг в форме клонов кода при изменении различных компонентов. Метод: Мы собрали данные о размере изменений и появлении клонов кода, внесённых десятью командами в восемь компонентов, входивших в состав крупной промышленной программной системы. Затем мы разработали многоуровневую обобщённую линейную модель (Multi-Level Generalized Linear Model, MLGLM), чтобы проиллюстрировать различия в поведении команд. Наконец, мы обсудили результаты с тремя командами разработчиков, линейным руководителем и командой архитекторов, оценивая, соответствовали ли выводы модели их ожиданиям. Ответы были записаны и подвергнуты тематическому кодированию. Результаты: Результаты показывают, что команды ведут себя по-разному в различных компонентах, а отзывы команд свидетельствуют о том, что данный метод иллюстрации поведения команд может быть полезен как дополнение к традиционным сводным статистическим показателям владения. Выводы: Мы установили, что разработанный на основе модели подход позволяет создавать полезные визуализации появления клонов кода, вносимых командами при изменении различных компонентов. Практики отметили, что визуализации дали им полезные сведения; кроме того, сравнение команд со средней командой позволяет избежать межкомандных сравнений. Таким образом, этот подход потенциально может служить полезным инструментом обратной связи для команд в организациях, занимающихся разработкой программного обеспечения и использующих слабое или коллективное владение.
Key Findings
1
Была разработана многомерная обобщённая линейная модель (MLGLM) для иллюстрации различий в поведении команд при вводе клонов и размере изменений.
2
Сравнение поведения команды со средней командой позволяет избежать прямых межкомандных сравнений и предоставляет практическую обратную связь.
3
Обратная связь от трёх команд разработки, линейного менеджера и архитектурной команды совпала с выводами модели и поддержала полезность подхода.
4
Визуализации на основе модели дали практикам полезные сведения и дополнили традиционные статистики владения кодом.
5
Команды в крупной промышленной системе ведут себя по-разному в разных компонентах при внесении изменений и создании клонированного кода.
Research Object
Деятельность команд по внесению изменений в код, приводящая к появлению клонированного кода в компонентах большого промышленного программного обеспечения при слабой или коллективной собственности
Research Subject
Причины и механизмы, по которым разные команды вводят технический долг в виде кодовых клонов при изменении различных компонентов ПО, а также вариации поведения по введению клонов между командами и компонентами (смоделированные и визуализированные с помощью MLGLM)
Publication Details
Publication Date
2024-12-14
Journal
Publisher
ISSN
Cited by
1
Open access PDF
Access Type
Author Information
Download PDF
Subscribe to digest