Scalable Delivery of Scalable Libraries and Tools: How ECP Delivered a Software Ecosystem for Exascale and Beyond
本文探讨了ECP项目如何通过挣值管理、关键性能参数、社区政策、自动化测试和持续集成等组织管理手段,高效交付约70个科学库和工具,并总结了经验教训与未来方向。
2023-11-13 cs.CE cs.SE
A proposal to systematize introducing DevOps into the software development process
随着新的开发标准和服务交付模型的出现,软件开发行业也在不断发展。敏捷方法已经通过DevOps完成,从而提高了软件的质量并提高了交付速度。然而,在正式通过和执行方面存在差距,这也是相关的。我的假设是,通过将DevOps系统化引入软件开发过程并定义DevOps团队成员的功能,可以更快地实现这个过程,从而减少团队之间的冲突。作为对这一假设的调查的一部分,研究结果将应用于实际的开发环境中,即巴西政府国家技术局和巴西公司Neurotech,以便从适合DevOps环境的指标中评估其有效性。
2021-04-15 cs.SE
Auditable DevOps Automation via VSM and GQM
The Saudi Technology and Security Comprehensive Control Company "Tahakom"(沙特技术与安全综合控制公司(Tahakom))
本文提出VSM-GQM-DevOps框架,通过价值流图和GQM范式实现可审计的DevOps自动化,解决组织在战略项目管理成果上的自动化优先级问题。
2026-01-07 cs.SE
Teaching DevOps in Corporate Environments: An experience report
本文介绍了我们的经验,培训一个东欧电话服务提供商的开发团队。培训经验分为两个阶段,每个阶段为期两天,在不同的星期进行,间隔约15天。第一次会议专门讨论持续集成交付管道,第二次会议讨论敏捷方法。我们总结了活动,它的准备和交付,并从中得出一些结论,我们的错误和未来的会议应该如何解决。
2018-10-23 cs.SE
Test Automation Process Improvement in a DevOpsTeam: Experience Report
如何成功地进行持续开发的测试自动化过程改进(TAPI),包括迭代软件开发,持续测试和交付,是许多软件组织面临的挑战。在本文中,我们介绍了F-Secure(芬兰软件公司)的一个DevOps团队在TAPI上的经验报告。该团队构建Windows应用软件,并存在于F-Secure的TAPI文化中。该团队自我报告在持续开发的测试自动化方面的高满意度和成熟度。为了研究他们的TAPI,我们回顾了一系列经验记录、团队反思报告和遥测结果报告。随后,又召开了几次会议讨论细节。我们发现,基于团队的理解,持续开发的测试自动化成熟度被定义为一组指标,例如,提高发布速度,提高团队的生产力,测试效率高。第二,该小组指出,一系列关键的成功因素对成功执行其TAPI具有重大影响,例如,增量方法,整个团队的努力,测试工具的选择和架构,遥测。第三,我们将观察团队中的TAPI实践与先前文献中描述的实践进行比较。该团队认为,现有的测试自动化成熟度方法应该包括已确定的实践,如整个团队努力为软件行业构建更全面的测试自动化改进模型。
2020-04-15 cs.SE
Managing Technical Debt in a Multidisciplinary Data Intensive Software Team: an Observational Case Study
本研究通过观察性案例研究,揭示多学科数据密集型团队的技术债务管理实践,识别数据组件和管道债务,并强调需新的实现模式与工具支持。
2025-06-23 cs.SE
Exploring the links between software development task type, team attitudes and task completion performance: Insights from the Jazz repository
内容:为了更好地理解软件开发中各种人为因素的影响,以及团队的态度如何与他们的表现相关,越来越多的注意力被给予了与团队相关的人工制品的研究。特别是,研究人员对一系列团队沟通渠道进行了大量研究,以探索开发人员的语言使用与他们交付的产品中软件错误发生率之间的联系。然而,尽管有令人信服的证据表明需要更广泛地了解团队的态度,但对软件系统开发和交付期间通常执行的全部软件任务的关注相对有限。目的:因此,我们的动机,研究任务类型和团队的态度之间的关系,以及如何在团队的通信中表达的态度可能与他们的任务完成绩效时,进行一系列的活动。方法:我们的调查涉及来自149个团队的474名IBM Jazz实践者的人工制品,他们在三年的时间里从事大约30,000项软件开发任务。我们应用语言分析,标准的统计技术和指导内容分析,以解决我们的研究目标。结果如下:我们的证据表明,团队在处理各种形式的软件任务时表达了不同的态度,当他们致力于修复缺陷时,他们特别情绪化。也就是说,团队的态度表达并不能很好地预测他们的任务完成情况。结论:旨在减少bug发生率的努力可以积极地限制团队在解决bug时的情绪倾向,从而减少对情绪稳定的成员的高需求。(节录)
2021-04-25 cs.SE
Agility Measurements Mismatch: A Validation Study on Three Agile Team Assessments in Software Engineering
已经创建了许多工具来测量软件团队的敏捷性,因此在该领域中产生了饱和。选择了三种敏捷测量工具,以验证它们是否产生相似的结果。对A公司的团队(N = 30)进行了工具调查。这些问题被分组为敏捷实践,并检查其相关性,以建立收敛有效性。此外,我们还检查了在这些工具中确定为相同的问题是否会得到受访者的相同答复。我们不能建立收敛效度,因为收集的数据的相关性非常少和低。此外,被确定为在各种工具中具有相同含义的问题,答复者的答案并不相同。我们的结论是,敏捷性的测量领域仍然是不成熟的,需要做更多的工作。并不是所有的工具都适用于每个团队,但它们应该根据团队如何过渡到敏捷来选择。
2019-04-04 cs.SE
A Cross-Company Ethnographic Study on Software Teams for DevOps and Microservices: Organization, Benefits, and Issues
内容:DevOps和微服务被认为是解决当代软件需求的重要新范式,并为快速可靠的软件开发提供能力。行业报告显示,它们很快被大型软件公司采用。然而,由于技术和组织的要求,许多困难对有效地实施这两个出现在真正的软件团队。目的:本研究旨在从身临其境的角度发现使用DevOps和微服务的软件团队的组织、好处和问题。方法:在三家具有不同业务、规模、产品、客户和全球化程度的公司中进行人种学研究。这三家公司都声称他们采用了DevOps和微服务。进行了7个月(累积)的参与者观察和9次与从业者的访谈,以收集与DevOps和微服务相关的软件团队的数据。通过对档案数据的分析,运用扎根理论进行了跨公司的实证研究。结果如下:DevOps和微服务的采用带来了快速交付、能力提升和减轻负担的好处,但也出现了成本高和缺乏实践指导的问题。此外,我们的观察和访谈反映出,在软件团队中,DevOps和微服务之间的关系并不显著,这与之前研究中描述的关系不同。根据我们的研究结果,对从业人员和研究人员的四个启示进行了讨论。结论:我们的研究结果有助于从软件团队的沉浸式角度理解采用DevOps和微服务的组织,好处和问题。
2022-05-03 cs.SE
Bluejay: A Cross-Tooling Audit Framework For Agile Software Teams
敏捷软件团队在每次迭代中都需要遵循一些特定的团队实践(TP),例如估计完成用户故事所需的工作量(“点”),以及协调代码库的管理和功能的交付。对于试图将这些TP教授给学生团队的软件工程讲师来说,如果团队遵循TP并随着时间的推移而改进,则手动审核团队是乏味的,耗时的并且容易出错。如果这些贸易点涉及两种或两种以上的工具,就更加困难了。例如,在项目管理工具中开始一个功能的工作,如项目跟踪器,通常应该在GitHub上创建一个功能分支。在GitHub上合并一个功能分支通常应该相对快速地将新功能部署到一个staging服务器上以获得客户反馈。很少有系统是专门为审计这类贸易点而设计的,而且据我们所知,现有的系统仅限于一种特定的工具。我们介绍了Bluejay,一个开源的可扩展平台,它使用多种工具的API来收集原始数据,将其合成为TP测量,并提供仪表板来审计TP。Bluejay设计中的一个关键见解是,TP可以用类似于用于建模和审计服务水平协议(SLA)遵从性的术语来表示。因此,Bluejay基于该生态系统中使用的成熟工具,并将其用于描述、审计和报告TP。Bluejay目前使用来自五种不同的广泛使用的开发工具的数据,并且可以通过将其连接到具有REST API的任何服务来进行自定义。视频展示可在governify.io/showcase/bluejay
2021-03-11 cs.SE
DevOps A Historical Review and Future Works
DevOps是软件开发生存周期中需要遵循的新兴实践。DevOps这个名字表明它是开发和运营团队的集成。接下来是集成开发生命周期的各个阶段。DevOps是现有敏捷方法的扩展版本。DevOps的目标是持续集成,持续交付,持续改进,更快的反馈和安全性。本文回顾了DevOps的构建块,采用DevOps的挑战,改进DevOps实践的模型以及DevOps的未来工作。
2020-12-11 cs.SE
Understanding the Perceived Relevance of Capability Measures: A Survey of Agile Software Development Practitioners
内容:鉴于敏捷软件开发(ASD)实践的快速性和迭代性,在团队组建的背景下建立对能力度量的更深入见解至关重要,因为个人和团队的能力会影响团队的绩效和生产力。虽然以前的系统性文献综述(SLR)综合了ASD能力测量的最新技术水平,重点是选择个人到敏捷团队,以及与团队绩效和成功相关的能力,但确定SLR的结果在多大程度上适用于实践可以为研究和实践提供渐进的见解。目的:我们的研究调查了敏捷实践者如何看待个人和团队层面的措施,以表征敏捷团队及其成员的能力的相关性。此外,为了仔细检查从业者的看法的变化,我们的研究进一步分析了分层人口统计学群体的看法。方法:我们进行了一项基于网络的调查,使用问卷建立的能力从以前进行的SLR确定的措施。结果如下:我们的调查答复(60)表明,127个个人和28个团队的能力措施被认为是相关的大多数从业者。我们还确定了七个个人和一个团队的能力措施,以前没有被我们的SLR的特点。被调查的实践者认为,敏捷团队成员的责任感和提问技能显著代表了成员的能力。结论:我们的调查结果与SLR的发现一致。据观察,与技术和创新方面相比,与社会方面有关的措施占主导地位。我们的研究结果可以支持敏捷实践者在他们的团队组成决策。
2021-05-20 cs.SE
A Comparative Study on the Impact of Test-Driven Development (TDD) and Behavior-Driven Development (BDD) on Enterprise Software Delivery Effectiveness
Solbridge International School of Business(Solbridge国际商学院)
本研究通过定性访谈比较TDD与BDD对企业软件交付效能的影响,发现TDD提升代码质量、减少缺陷,BDD改善跨职能沟通,但各有挑战,为企业选择开发模式提供指导。
2024-11-05 cs.CL cs.SE
Leadership Gap in Agile Teams: How Teams and Scrum Masters Mature
动机:不成熟的团队如何变得敏捷是一个困扰实践者和研究者的问题。敏捷工作是一种支持敏捷工作的方法。关于超级大师角色的实证研究仍然很少,并揭示了相互矛盾的结果。虽然在相当不成熟的团队中,ScreenMaster角色通常集中在一个人身上,但在成熟的团队中,该角色预计将由多个成员共享。目标:因此,我们的目标是了解在团队成熟的过程中,团队管理员的角色是如何变化的。方法:我们应用扎根理论,并进行了定性访谈的29个软件和非软件项目团队的53名从业人员从罗伯特博世有限公司。研究结果:我们发现,Sunday Masters最初扮演九个领导角色,当团队成熟时,他们会转移到团队中。可以通过提供领导力差距(允许团队成员承担领导角色)以及提供平等沟通、心理安全、透明度、共同理解、共同目标和自我效能的内部团队环境来转移角色。结论:随着团队的成熟,超级大师的角色会发生变化。在团队中担任领导角色的信任和自由是必不可少的推动因素。我们的研究结果支持实践者在成熟的公司中实施敏捷团队。
2018-12-19 cs.SE
Autonomous agile teams: Challenges and future directions for research
根据敏捷宣言中阐述的原则,有动力和有能力的软件开发人员依靠卓越的技术和简单的设计,通过定期向用户交付工作软件来创造商业价值。这些原则催生了许多实践。这些实践的核心是自主、自我管理或自我组织的团队,其成员以维持创造力和生产力的速度工作。本文总结了实施自治团队时面临的主要挑战,以及未来研究应解决的主题和研究问题。
2018-10-05 cs.SE
Agile Ways of Working: A Team Maturity Perspective
随着管理软件开发项目的敏捷方法的出现,对运作良好的团队的可靠性也在增加,因为许多实践都是建立在团队合作的基础上的。本研究的目的是调查,如果,以及如何从群体心理学的角度来看,团队发展与敏捷团队的一些工作实践。数据收集来自34个敏捷团队(200人),从6个软件开发组织和一所大学在巴西和瑞典使用组开发问卷(规模IV)和感知敏捷测量(PAM)。结果表明,团队成熟度水平与两个敏捷实践\emph{iterative development}和\emph{retrospectives}之间有很强的相关性。因此,我们得出结论,敏捷团队在不同的团队发展阶段采用不同的团队敏捷性的一部分,从而证实了以前的研究,但更多的数据和调查具体的和应用的敏捷实践。因此,我们增加了证据的假设,敏捷项目的敏捷实施和管理需要适应敏捷团队的组成熟度水平。
2019-11-20 cs.SE
Objectives and Key Results in Software Teams: Challenges, Opportunities and Impact on Development
本文通过访谈47人并调查4000余名工程师,研究大型软件公司中目标设定与OKR实践,发现中层管理者和工程师态度是关键,并提出改进数据、透明度、沟通及推广的建议。
2023-11-01 cs.SE
Perceptions of Gender Diversity's impact on mood in software development teams
最近的研究表明,IT团队中的性别多样性对软件开发过程有积极的影响。然而,仍然存在着巨大的性别不平等。我们的研究的目的是研究如何工作氛围取决于IT团队的性别差异。对访谈和问卷调查结果的分析表明,与纯男性团队相比,有性别区分的团队的氛围更令人愉快。文件还讨论了性别歧视问题,根据研究结果,令人遗憾的是,这一问题仍然存在,并影响到工作气氛。最后,我们研究了减少性别不平等的方法,结果发现,软方法,如专门的培训,讲习班,以显示IT行业的人性化面貌是首选。
2019-05-23 cs.SE
How Does Kanban Impact Communication and Collaboration in Software Engineering Teams?
高度迭代的开发过程,如看板,在工业中已经获得了显着的重要性。然而,这些过程对团队协作和沟通的影响是广泛未知的。在本文中,我们分析如何看板过程艾滋病的软件团队的行为-特别是,沟通和协作。研究团队在七周内开发了六个迭代的移动支付软件产品。通过问卷调查收集数据,在每次迭代结束时重复。结果表明,看板在一开始就有积极的作用,让团队一起工作,以确定和协调工作。在以后的阶段,当团队成员之间建立了良好的关系,促进团队合作的重要性不能显示出来。结果还表明,看板可以帮助团队成员共同识别和处理缺失的任务,以保持整个团队的开发速度协调一致,从而增加协作。除了介绍研究和结果外,本文还对未来的工作进行了展望。
2013-11-06 cs.SE
A Preliminary Study on the Impact of AI in the Creativity and Collaboration in Software Teams
Universidade Federal de Pernambuco (UFPE)(巴西国立伯南布哥联邦大学);University of Southampton(南安普顿大学)
研究人工智能对软件团队创造力和协作的影响,通过对13名软件专业人员半结构化访谈,发现人工智能拓宽创意范围但缩窄独立构思,削弱同伴学习指导,团队发展出开发者、同事和人工智能共同推理的三方协作模式。
2026-07-21 cs.SE
Do Communities in Developer Interaction Networks align with Subsystem Developer Teams? An Empirical Study of Open Source Systems
过去十年的研究表明,为开放源码软件系统作出贡献的开发人员往往在“新兴”社区中自我组织。这种潜在的社区结构对软件质量有着重要的影响。虽然有几种方法可以解决开发人员交互网络的分析问题,但这些新兴社区是否与在各种子系统上工作的开发人员团队保持一致的问题仍然没有答案。社会技术一致性的工作意味着从事相同任务或工件的人需要协调,从而进行沟通,可能形成更强的交互关系。我们对10个开源项目的实证研究表明,开发人员社区在项目的生命周期中发生了很大的变化(因此意味着开发人员之间的相关关系发生了变化),并且他们与子系统开发团队的一致性大多很低。然而,子系统团队往往保持更稳定。这些见解有助于实践者和研究人员更好地理解开源系统的开发者交互结构。
2021-04-08 cs.SE
Comparative Study on Agile software development methodologies
今天的商业环境是非常动态的,组织不断改变他们的软件需求,以适应新的环境。他们还要求软件产品的快速交付以及接受不断变化的需求。在这方面,传统的计划驱动的开发无法满足这些要求。虽然传统的软件开发方法,如基于生存周期的结构化和面向对象的方法,继续主导系统开发几十年来,许多研究已经在传统的方法,敏捷软件开发带来了自己的一套新的挑战,必须解决,以满足客户通过早期和持续交付的有价值的软件。它是一套基于迭代和增量开发过程的软件开发方法,其中需求和开发通过自组织,跨职能团队之间的协作进行,允许快速交付高质量的软件,以满足客户需求并适应需求的变化。在本文中,我们显着识别和描述的主要因素,敏捷开发方法改善软件开发过程,以满足快速变化的业务环境。我们还提供了敏捷开发方法与传统系统开发方法的简要比较,并讨论了采用敏捷方法的现状。我们推测,从需要满足客户通过早期和持续交付的有价值的软件,敏捷软件开发出现作为一种替代传统的基于计划的软件开发方法。本文的目的是提供一个深入的理解,敏捷开发方法的主要好处,软件开发行业,以及提供一个比较研究报告ASDM TSDM。
2013-07-12 cs.SE
Agile Development at Scale: The Next Frontier
敏捷方法已经改变了软件开发的方式,强调最终用户的积极参与,对变化的容忍,以及产品的进化交付。关于敏捷开发的第一个特刊将这些方法描述为关注“反馈和变化”。这些方法导致了软件开发方式的重大变化。在大多数国家,Scrum现在是最常见的开发框架,其他方法如极限编程(XP)和精益软件开发的元素以及看板也被广泛使用。软件从业者和顾问之间自下而上的运动已经被主要的国际咨询公司所采用,这些公司规定了敏捷开发,特别是在学习和创新是关键的情况下。敏捷开发方法主要在软件工程中引起了人们的兴趣,但也在许多其他学科中引起了兴趣,包括信息系统和项目管理。敏捷软件开发方法最初是针对小型的、位于同一地点的开发团队的,但越来越多地应用于其他环境。它们最初用于开发Web系统和内部IT系统,但现在用于一系列领域,包括关键任务系统。为5-9名开发人员组成的单个团队设计的方法已被调整用于具有数十个团队、数百名开发人员的项目,这可能涉及与数百个现有系统的集成并影响数十万用户。
2019-01-02 cs.SE
Group development and group maturity when building agile teams: A qualitative and quantitative investigation at eight large companies
敏捷的项目方法比传统的瀑布式项目更关注紧密结合的团队,这意味着团队成熟度的各个方面变得更加重要。在构建“敏捷团队”的过程中,这种心理方面的研究并不多。“这项研究的目的是调查如何建立敏捷团队与社会心理学中的团队发展模型相联系。我们对来自7家不同公司的教练、SNOW Master和负责敏捷过程的经理进行了10次半结构化访谈,并从4家公司(共8家不同公司)的66名小组成员中收集了调查数据。该调查包括敏捷测量工具和集团发展问卷的一部分。结果表明,实践者定义组的发展方面的关键因素,成功的敏捷过渡。此外,敏捷性的定量测量显着相关的团体成熟度测量。我们的结论是,将这些心理学方面添加到“敏捷团队”的描述中可以增加对敏捷的理解,并部分帮助定义“敏捷团队”。“我们建议未来的工作应该为不同成熟度级别的软件开发团队如何采用不同的敏捷原则和实践制定具体的指导方针。
2019-04-04 cs.SE
Orchestrating Human-AI Software Delivery: A Retrospective Longitudinal Field Study of Three Software Modernization Programs
Taller Technologies(塔勒技术)
研究通过回顾三个软件现代化项目,分析AI与人类协作在软件交付各阶段的效果,发现嵌入协调工作流的AI能显著提升效率与覆盖率。
2026-03-20 cs.AI cs.SE
Algorithm-driven Development: A Proactive Approach to Improving Software Quality and Reducing Defects
Dassault Systèmes(达索系统)
针对软件工程中质量、期限与需求适配的难题,提出算法驱动开发方法,经达索系统四年工业项目评估,其可实现高代码覆盖率、低缺陷密度与稳定交付。
2026-08-04 cs.PL cs.SE
On measuring team stability in cooperative learning: An example of consecutive course projects on software engineering
协作学习理论表明,稳定的成员关系是有效工作团队的标志。根据关系强度和社会网络中心性,提出了一种连续性协作学习中团队稳定性原因的测度方法。以某高校软件工程连续课程项目为例,从学习成绩和学习满意度两个方面考察了连续协作学习中团队稳定性与学习绩效的关系。通过实证分析,得出学习成绩与团队稳定性呈弱正相关的结论。通过问卷调查和访谈发现,78%的学生不重视团队稳定性的重要性,67%的教师从不建议学生保持稳定的团队。最后,我们提出了一个预期的学习绩效相关模型作为未来的工作,并讨论了不稳定。
2014-01-24 cs.CY cs.SE
DevOps Automation Pipeline Deployment with IaC (Infrastructure as Code)
本文针对DevOps部署中CI/CD流水线的现有流程优化需求,结合示例明确DevOps的实际落地方式,演示IaC与流水线即代码的实施策略,消除相关方法论的定义歧义。
2025-03-20 cs.ET cs.SE
Big Data = Big Insights? Operationalising Brooks' Law in a Massive GitHub Data Set
来自软件存储库和协作工具的大量数据被广泛用于研究软件开发中的社会方面。最近的几篇文章提出的一个问题是,软件项目的规模和结构如何影响团队的生产力,这是布鲁克斯定律中著名的问题。最近使用大量存储库数据的研究表明,大型团队中的开发人员往往比小型团队的生产力低。尽管使用类似的方法和数据,其他研究认为团队规模和生产力之间存在正线性甚至超线性关系,从而质疑软件经济学认为软件项目是规模不经济的观点。在我们的工作中,我们研究的挑战,可以解释最近的研究开发人员的生产力在大量的存储库数据之间的分歧。据我们所知,我们还提供了最大的、精心策划的GitHub项目语料库,旨在调查团队规模和协作模式对个人和集体生产力的影响。我们的工作有助于正在进行的讨论,在操作的假设成功的软件项目的决定因素的生产力指标的选择。它进一步强调了大数据分析中的一般陷阱,并表明使用更大的数据集并不会自动带来更可靠的见解。
2022-01-12 cs.CY cs.SE cs.SI