Управление общим ресурсом: владение кодом и клоны кода в крупномасштабной разработке программного обеспечения

Governing the commons: code ownership and code-clones in large-scale software development
Anders Sundelin, Javier González‐Huerta, Richard Torkar, Krzysztof Wnuk
2024-12-14

MLGLMмногоуровневая обобщённая линейная модельразмер изменениякопии кодавладение кодомколлективное владениесравнение между командамиразработка ПО в масштабетехнический долгслабое владение
Контекст: В организациях, занимающихся разработкой программного обеспечения и использующих слабое или коллективное владение, различным командам разрешается и вменяется в обязанность автономно вносить изменения в различные компоненты. Это приводит к различиям как в уровне знаний об отдельных компонентах, так и в ответственности за них. Цель: Цель исследования — понять, как и почему различные команды создают технический долг в форме клонов кода при изменении различных компонентов. Метод: Мы собрали данные о размере изменений и появлении клонов кода, внесённых десятью командами в восемь компонентов, входивших в состав крупной промышленной программной системы. Затем мы разработали многоуровневую обобщённую линейную модель (Multi-Level Generalized Linear Model, MLGLM), чтобы проиллюстрировать различия в поведении команд. Наконец, мы обсудили результаты с тремя командами разработчиков, линейным руководителем и командой архитекторов, оценивая, соответствовали ли выводы модели их ожиданиям. Ответы были записаны и подвергнуты тематическому кодированию. Результаты: Результаты показывают, что команды ведут себя по-разному в различных компонентах, а отзывы команд свидетельствуют о том, что данный метод иллюстрации поведения команд может быть полезен как дополнение к традиционным сводным статистическим показателям владения. Выводы: Мы установили, что разработанный на основе модели подход позволяет создавать полезные визуализации появления клонов кода, вносимых командами при изменении различных компонентов. Практики отметили, что визуализации дали им полезные сведения; кроме того, сравнение команд со средней командой позволяет избежать межкомандных сравнений. Таким образом, этот подход потенциально может служить полезным инструментом обратной связи для команд в организациях, занимающихся разработкой программного обеспечения и использующих слабое или коллективное владение.
1
Была разработана многомерная обобщённая линейная модель (MLGLM) для иллюстрации различий в поведении команд при вводе клонов и размере изменений.
2
Сравнение поведения команды со средней командой позволяет избежать прямых межкомандных сравнений и предоставляет практическую обратную связь.
3
Обратная связь от трёх команд разработки, линейного менеджера и архитектурной команды совпала с выводами модели и поддержала полезность подхода.
4
Визуализации на основе модели дали практикам полезные сведения и дополнили традиционные статистики владения кодом.
5
Команды в крупной промышленной системе ведут себя по-разному в разных компонентах при внесении изменений и создании клонированного кода.

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

Причины и механизмы, по которым разные команды вводят технический долг в виде кодовых клонов при изменении различных компонентов ПО, а также вариации поведения по введению клонов между командами и компонентами (смоделированные и визуализированные с помощью MLGLM)

Publication Details
Publication Date
2024-12-14
Journal
Publisher
ISSN
Cited by
1
Access Type
Author Information
Authors
Anders Sundelin
Javier González‐Huerta
Richard Torkar
Krzysztof Wnuk
Explore further
Open the scid.ai AI chat with a ready-made request: it will find papers on a similar topic and help build a literature review.
Find similar papers in the chat
Make a presentation
100%