关于分离、连接与聚集:一项基于代理模型的跨系统开发者互动研究

《Information and Software Technology》:On separation, connection, and clustering: A multi-systems study of developer interaction using agent-based models

【字体: 大 中 小 】 时间:2026年08月25日 来源:Information and Software Technology 4.6

编辑推荐:

  摘要 背景:在大型软件开发生态系统中,开发人员之间的互动对团队绩效和项目结果起着关键作用。这些互动受到团队结构的影响,而团队结构又决定了开发人员之间的沟通途径。尽管技术进步早已使得远程协作成为可能,但组织在为全球分布的开发环境确定有效的团队配置方面仍然面临挑战。了解不同的结构范

  摘要

背景:在大型软件开发生态系统中,开发人员之间的互动对团队绩效和项目结果起着关键作用。这些互动受到团队结构的影响,而团队结构又决定了开发人员之间的沟通途径。尽管技术进步早已使得远程协作成为可能,但组织在为全球分布的开发环境确定有效的团队配置方面仍然面临挑战。了解不同的结构范式如何影响互动动态可以为软件团队的运作和效率提供有价值的见解。

目标:本研究旨在探讨不同的团队结构如何影响开发人员互动的时间特征。具体来说,它研究简单的、理想化的团队配置模型是否能够再现现实世界软件开发生态系统中观察到的关键模式。

方法:我们使用NetLogo平台开发了三种基于代理的团队结构模型(Ring、Clique和Star)。这些模型模拟了开发人员互动网络三个基本指标随时间变化的模式:平均度、平均分离度和聚类系数。将模拟结果与来自三个大型开源软件生态系统(Android、OpenStack和Eclipse)的实证数据进行比较,考虑了两种不同的互动情境:(i)共同修改代码单元;(ii)对缺陷报告的共同评论。

结果:在所有数据集和互动情境中,模拟特征与实证观察结果高度一致。结果表明,即使是简单的结构特征也能有效地捕捉到复杂协作软件项目中开发人员沟通和协作的本质动态。

结论:研究结果表明,最简单的基于代理的模型能够表示大型软件开发生态系统中开发人员互动的基本机制。这些见解为理解团队行为提供了理论基础,并为设计能够提高分布式软件开发环境中协调性和生产力的有效团队配置提供了实际指导。

引言

如今,软件系统几乎主导了我们生活的方方面面。这些系统是由跨越不同地点和时区的个体团队共同开发的[1]、[2]。因此,理解大规模软件开发的状态与研究团队动态密不可分[3]。开发软件是一项多维度的活动;开发人员需要在开发生命周期中的各种任务上进行互动。随着项目各个阶段的推进,团队交付物的重点也会发生变化。二十多年前,软件开发经历了一次观念上的转变。“个体和互动”被认识到是产生符合用户需求的软件的关键驱动力之一[1]。与其他工业制品不同,软件是“开发”出来的,而不是“生产”出来的[4]。软件组件不是通过自动化生产线制造出来的,而是在开发生态系统中通过无数次自发的沟通活动构建和维护的。因此,网络范式——用顶点表示个体,用边(无向链接)表示某种联合活动——为研究软件开发生态系统提供了一个有用的抽象方法。随着个体、实体和系统之间的联系日益紧密,网络科学也随之发展,为分析它们提供了一个强有力的框架[5]。选择特定的网络配置作为模型可以影响团队的结构。虽然这反映了团队运作的静态方面,但在软件开发场景中,开发人员之间的互动会随时间发生变化。为了捕捉这种动态方面,我们使用了基于代理的建模(ABM)方法。

ABM是一种相对较新的技术,用于研究在某些集体企业中许多个体实体(“代理”)之间的互动动态,其中微观层面的行为导致了宏观层面的结果[6]。ABM已广泛应用于制造[7]、物流和供应链管理[8]、运筹学[9]、团队组建[10]、引文数据分析[11]等领域。它也被认为是一种有前景的方法,可以更深入地理解整个科学生态系统(SciSci)的运作方式[12]。ABM特别适用于那些由于环境复杂性而难以直接推断出代理之间互动规则的系统。在我们的研究设置中,ABM的有用性在于它能够模拟个体代理(开发人员)在完成任务(各种开发活动)以实现集体目标(交付团队成果)时的互动。

我们认为,大型软件开发生态系统中互动的宏观时间变化特征源于微观层面的一些简单沟通模式。因此,本研究的目标是模拟我们每个团队互动模型中特定网络指标的时间变化,并将模拟特征与实证数据进行比较。基于此背景,我们在本文中探讨以下研究问题:基于代理的团队配置模型能否帮助解释大型软件开发生态系统中开发人员互动特征的时间变化?

第2节介绍了我们研究的背景。第3节介绍了模型的开发过程,第4节对其进行了验证。第5节提供了详细的讨论。第6节探讨了研究结果有效性的潜在威胁,而第7节回顾了相关现有文献。最后,第8节总结了研究内容并得出了结论。

软件开发生态系统中的开发人员互动特征

在本研究的范围内,我们定义了一个开发人员互动网络DIN,它由一组顶点V={v1, v2, …, vx}组成,代表开发人员。如果两个顶点vm和vn至少参与过一次我们感兴趣的共同开发活动(例如评论某个特定错误或提交某个工作项目的代码),则它们通过一条无向边emn连接起来。因此,DIN中的边集E代表了所有开发人员互动的实例。

概念

第2节介绍的模型代表了软件开发生态系统初始配置的三种理想化场景。随着开发的进展,现有开发人员会进行更多的互动,新的开发人员也会加入团队。这些模型的静态和动态方面由以下参数集指定:
- 结构参数:这些参数用于定义网络的初始结构。
- N:一个非零整数,表示团队中的开发人员数量。
- T:一个非零整数,表示团队中的开发人员数量。

数据集的选择

为了验证模型的模拟输出,我们使用了来自三个不同开发生态系统的真实世界数据:OpenStack[2]、Eclipse[3]和Android[4]。
OpenStack是一个非常流行的开源云计算平台,作为基础设施即服务(IaaS)在公共云和私有云中部署,向用户提供虚拟服务器等资源。Eclipse则是一个集成的开发平台。

讨论

根据我们的结果,我们现在可以回答第1节提出的问题:基于代理的团队互动模型是否以及如何帮助解释开发人员互动特征的时间变化,可以通过图6、7和8中的MAE值观察到。

构建有效性

在本研究中,构建有效性的威胁可能源于模型构建过程以及使用指标来反映感兴趣的变量。我们的模型是通过将开发人员之间的互动抽象为网络形式来构建的,而这种抽象的有用性已经得到了很好的证实[13]、[32]、[34]。

如第4.1节所述,我们从邮件列表中提取了开发人员互动数据来构建共同评论。

相关工作

我们简要概述了与我们的工作相关的现有文献,并据此定位了本研究。

总结与结论

开发人员互动影响着大型软件开发生态系统中的团队成果。在很大程度上,这些互动受到决定开发人员之间沟通渠道的团队结构的支配。尽管技术已经支持了数十年的远程工作,但组织仍在努力为其全球分布的员工找到最有效的团队配置。在本文中,我们提出了三种简单的、理想化的团队配置模型。

作者贡献声明

Soumee Mukherjee:撰写——审稿与编辑、撰写——原始草稿、软件、方法论、研究、形式分析、数据管理。
Subhajit Datta:撰写——审稿与编辑、撰写——原始草稿、验证、监督、方法论、研究、概念构思。
Shubhashis Majumder:撰写——审稿与编辑、验证、监督、项目管理、研究、概念构思。

利益冲突声明

作者声明他们没有已知的财务利益冲突或个人关系可能影响本文所报告的工作。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号