Why are many businesses instilling a DevOps culture into their organization?
内容:DevOps可以被定义为一种文化运动,通过有效地进行开发和运营之间的协作来改善和加速业务价值的交付。虽然这一运动是相对较新的,但围绕DevOps存在着深入的研究。然而,企业转向DevOps的真正原因以及他们期望获得的结果在现实环境中很少受到关注。目的:本文旨在帮助从业者和研究人员更好地了解许多公司在尝试加速软件交付时在组织中每天面临的背景和问题,以及推动这些公司采用DevOps的主要驱动因素。方法:我们通过对30家跨国软件密集型公司的相关利益相关者进行深入的半结构化访谈,结合工业研讨会和对支持三角测量的组织设施的观察,进行了一项探索性研究。此外,我们还进行了编码器间一致性分析,这在软件工程的定性研究中通常不会得到解决,以提高可靠性并减少作者对所得出结果的偏倚。结果如下:该研究探讨了促使企业采用DevOps的问题和预期结果,并揭示了一系列关于企业灌输DevOps文化的模式和反模式。结论:这项研究旨在加强证据,并支持从业者更好地了解哪些问题引发了DevOps过渡以及最常见的预期结果。
2021-03-10 cs.SE
Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices
背景:持续的做法,即,持续集成、交付和部署是软件开发行业的实践,使组织能够频繁可靠地发布新功能和产品。随着对持续实践的兴趣和文献的不断增加,系统地审查和综合采用和实施持续实践的方法、工具、挑战和实践是很重要的。目的:这项研究的目的是系统地审查最先进的持续做法,对方法和工具进行分类,确定这方面的挑战和做法,并确定未来研究的差距。方法:我们使用系统文献综述(SLR)方法对2004年至2016年6月1日期间发表的关于连续实践的同行评审论文进行了综述。我们采用主题分析方法分析从审查69篇论文中提取的数据,使用预定义的标准。结果如下:我们已经确定了30种方法和相关工具,这些方法和工具通过以下方式促进了持续实践的实现:(1)“减少持续集成(CI)中的构建和测试时间";(2)“增加CI中构建和测试结果的可见性和意识”;(3)“支持(半)自动化持续测试”;(4)“检测CI中的违规、缺陷和故障”;(5)“减少CI中的构建和测试时间”。(5)“解决部署管道中的安全性和可伸缩性问题”,以及(6)“提高部署过程的可靠性和可靠性”。我们还确定了一系列关键因素,如“测试(努力和时间)”,“团队意识和透明度”,“良好的设计原则”,“客户”,“高技能和积极性的团队”,“应用领域”和“适当的基础设施”,这些因素在特定组织中引入持续实践时应该仔细考虑。
2017-03-21 cs.SE
Auditable DevOps Automation via VSM and GQM
本文提出VSM-GQM-DevOps框架,通过价值流图和GQM范式实现可审计的DevOps自动化,解决组织在战略项目管理成果上的自动化优先级问题。
2026-01-07 cs.SE
Measuring Delivery Consistency in Practice: A DORA Extension from a Multi-Platform Release Setting
ECE Department, Purdue University(普渡大学电气和计算机工程学院)
针对DORA框架仅使用一阶统计量无法捕捉部署时序分布形状的问题,提出基于发布间隔变异系数的有界二阶度量——交付一致性(DC),并结合DORA概念构建交付健康矩阵,通过120周多平台数据验证其能区分相同DORA等级但节奏不同的平台,并识别组织或流程约束。
2026-11-02 cs.SE
Continuous Software Engineering in the Wild
软件正在成为大多数产品和组织功能的关键组件。持续改进软件的能力决定了组织对市场机会的反应能力。持续的软件工程承诺比基于sprint或计划驱动的开发有许多优点。然而,在现有组织中实现连续的软件工程管道是具有挑战性的。在这份受邀的立场文件中,我们讨论了采用挑战,并主张采用更系统的方法来推动持续工程的采用。我们的讨论是基于正在进行的工作,与几个工业合作伙伴,以及在国家的实践和国家的最先进的经验报告。我们的结论是,采用持续的软件工程主要需要分析的组织,它的目标和限制。一个尺寸不适合所有目的,这意味着持续工程背后的许多原则与大多数组织相关,但实现的水平和好处可能仍然不同。软件持续流动的主要障碍来自次优的组织结构和缺乏一致性。一旦这些被删除,组织可以实现自动化,以进一步改善软件交付。
2022-03-24 cs.SE
Linking Stakeholders' Viewpoint Concerns and Microservices-based Architecture
敏捷项目管理的广泛采用,微服务的独立交付以及DevOps的自动化部署极大地加快了系统开发。真正改变游戏规则的是持续集成(CI)、持续交付和持续部署(CD)。组织可以一天发布多个版本,将测试、发布和部署周期从数周缩短到数分钟。Docker等容器技术和Kubernetes等容器编排平台的成熟促进了微服务架构的发展,特别是在云原生开发中。有各种工具可用于设置CI/CD管道。组织正在远离单体应用程序,转向基于微服务的架构。组织可以通过应用程序编程接口(API)快速积累数百个此类微服务。这些现代方法的主要目的是敏捷性、速度和可重用性。虽然DevOps提供了速度和上市时间,但除非微服务和API与企业范围的利益相关者的需求相关联,否则敏捷性和可重用性可能无法得到保证。业务需求和微服务/API之间的联系没有得到很好的捕捉,也没有得到充分的定义。在本出版物中,我们描述了一种结构化方法,用于在API和基于微服务的敏捷开发之间创建逻辑链接,并考虑企业利益相关者的需求和观点。这种方法能够捕获和记录企业范围内利益相关者的需求,无论这些利益相关者是企业所有者、规划者(产品所有者、架构师)、设计者(开发人员、DevOps工程师)还是企业的合作伙伴和订阅者。
2020-09-13 cs.SE
An Integrated Framework for DevSecOps Adoption
将DevOps引入软件开发生存周期代表了IT文化的文化转变,将开发和运营合并,以快速和可维护的方式提高交付速度。与此同时,随着越来越多的企业转向新的敏捷框架以实现快速产品交付,安全威胁和违规行为预计将增加。同时,DevSecOps是一种思维方式的改变,通过在软件周期的每个步骤中嵌入安全性来彻底改变软件开发,从而实现弹性软件。本文讨论了一个框架组织可以用来嵌入DevSecOps快速,有效地到一般的IT文化。
2022-07-07 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
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
The Enhancement of Software Delivery Performance through Enterprise DevSecOps and Generative Artificial Intelligence in Chinese Technology Firms
Solbridge International School of Business(索尔布里奇国际商学院)
本研究通过定性访谈和案例研究,发现整合DevSecOps与生成式AI能显著提升科技企业软件交付性能,包括研发效率、代码管理和安全质量,并指出未来需定量验证。
2024-11-04 cs.AI cs.SE
Technical Debt Management: The Road Ahead for Successful Software Delivery
本文调研了产业界与研究界的技术债务管理现状,梳理实践缺口与研究不足,提出未来五年技术债务管理的发展愿景,为软件系统的长期健康交付提供方向指引。
2024-03-11 cs.SE
Linking Software Development and Business Strategy Through Measurement
今天的大多数产品和服务都是基于软件的。开发软件的组织希望通过控制与软件相关的风险来保持和提高其竞争力。要做到这一点,他们需要将业务目标与软件开发策略相结合,并将其转化为量化的项目管理。此外,越来越需要证明软件和系统开发以及其他IT服务的成本和资源对组织更高层次目标的影响。对于这两者来说,将组织中的业务目标和软件相关工作联系起来是必要的。然而,这是一项具有挑战性的任务,缺乏解决这一差距的方法。GQM+Strategies方法通过面向目标的测量有效地将组织各级的目标和战略联系起来。这一方法所依据的是在实施目标时决定备选方案和评价战略在实现目标方面是否成功的基本原理。
2013-11-25 cs.SE
Towards a Theory on Architecting for Continuous Deployment
内容:随着持续交付实践在软件组织中的采用增加,不同的场景都在努力使其在长期发展中适应其产品。这项研究着眼于具体的软件架构作为成功实现持续交付目标的相关因素。目的:本研究旨在了解软件架构的设计如何影响其软件产品的持续部署。方法:我们进行了系统的文献回顾,以确定适当的证据,关于研究目标。我们采用基于扎根理论的综合和分析方法对所选来源进行了分析。结果:我们选择了14个主要来源。通过我们的分析过程,我们开发了一种理论来解释持续部署的架构设计现象。该理论描述了支持持续部署架构的其他三种现象:支持操作、持续演进和提高可部署性。此外,该理论包括以下要素:背景,行动和相互作用,质量属性,原则和效果。我们实例化了这些元素并确定了它们的相互关系。通过提供从所选源到元素的双向可追溯性来支持该理论,反之亦然。结论:开发适当的架构在实现持续交付方面发挥着至关重要的作用。支持操作对于提高软件架构的可部署性和可监控性变得至关重要。这两个结果要求开发人员承担维护操作的责任。架构的持续发展是必不可少的,但它必须考虑技术债务的平衡管理。最后,提高可部署性需要关注测试策略以及它如何影响停机时间以实现有效的管道。
2021-08-21 cs.SE
Overcoming Challenges in Agile and DevOps Integration: A Qualitative Study
University of Applied Sciences Emden/Leer(埃姆登/莱尔应用科学大学);Auckland University of Technology(奥克兰理工大学);University of Applied Sciences & Arts Hannover(汉诺威应用科学与艺术大学)
通过半结构化访谈,识别敏捷与DevOps集成的四类挑战(文化组织障碍、结构约束、过程方法复杂性、技术限制)及四类解决方案(团队结构与自治、文化与协作、过程与变更管理、自动化与基础设施),强调文化对齐和自动化等实践的重要性。
2026-06-01 cs.SE
No Silver Bullets: Why Understanding Software Cycle Time is Messy, Not Magic
本研究通过贝叶斯层次建模分析216个组织的5.5万条数据,发现编码时间、协作等因素对周期时间影响有限且存在大量未解释变异,表明提升交付速度需系统思维而非个体干预。
2025-10-16 cs.SE
Technical Debt: Identify, Measure and Monitor
技术债务(Technical Debt)是由Ward Cunningham提出的一个术语,用来表示将一个软件置于它从最早开始就应该具有的状态所需的调整措施。通常,组织需要从短期和长期的角度支持持续快速地交付客户价值,然后不得不在软件的质量和生产力方面做出妥协。因此,一个简单的解决方案可能是在遇到债务时偿还债务,以避免可维护性成本和随后的延迟。因此,不可避免地要确定和提出技术,以便知道何时、如何偿还TD项目。本研究旨在探讨如何识别,测量和监测技术债务使用SonarQube和PMD。
2019-10-28 cs.SE
Right Scaling for Right Pricing: A Case Study on Total Cost of Ownership Measurement for Cloud Migration
云计算为传统企业和独立软件开发商提供了大量优于内部部署安装的优势,包括成本、运营和组织效率。将为内部部署交付配置的软件迁移到云的决定需要仔细的技术考虑和规划。在这一章中,我们讨论了正确的缩放成本建模的迁移决策和商业转售软件的价格设定的影响。提出了一个集成的过程来衡量总拥有成本,并根据预测的SaaS使用水平考虑到IaaS/PaaS资源消耗。这个过程是用一个真实世界的案例研究来说明的。
2019-08-12 cs.SE
Do Scaling Agile Frameworks Address Global Software Development Risks? An Empirical Study
由于需要协调多个敏捷开发团队的活动以合作生产大型软件产品,软件密集型组织正在转向扩展敏捷软件开发框架。尽管越来越多的人采用各种可伸缩的敏捷框架,但很少有经验证据表明它们的实践在降低风险方面有多有效,特别是在全球软件开发(GSD)中,项目失败是一个已知的问题。在这项研究中,我们开发了一个GSD风险目录的63个风险,以评估在何种程度上两个可扩展的敏捷框架-敏捷交付(DAD)和可扩展的敏捷框架(SAFe)-解决软件项目风险在GSD。我们研究了两个纵向案例研究的数据,实施每个框架,以确定在何种程度上的框架实践解决GSD风险。扩展敏捷框架似乎可以帮助企业消除或减轻GSD中的许多传统风险,特别是与用户和客户有关的风险。然而,一些重要的风险并没有消除或减轻。这些持续存在的风险主要属于环境象限,突出了跨地理边界开发软件的固有风险。也许这些框架(可以说是任何框架)都很难消除组织无法直接控制的问题。
2020-09-17 cs.SE
Preventing Incomplete/Hidden Requirements: Reflections on Survey Data from Austria and Brazil
许多软件项目的失败是由于需求工程(RE)中的问题。本文的目标是详细分析一个特定的和相关的RE问题:不完整/隐藏的需求。我们复制了一个全球家庭的可再生能源调查与代表的软件组织在奥地利和巴西。我们使用这些数据来(a)描述所选RE问题的关键性,并(b)分析报告的主要原因和缓解措施。在分析的基础上,探讨了如何预防这一问题。该调查包括奥地利的14个不同组织和巴西的74个不同组织,包括小型,中型和大型公司,他们都进行计划驱动和敏捷开发流程。来自这两个国家的受访者认为,不完整/隐藏的需求问题是最关键的可再生能源问题之一。我们确定了主要原因并以图形方式表示,并记录了解决这些原因的解决方案。此外,我们编制了一份报告的缓解行动清单。从实际的角度来看,本文提供了进一步的见解,不完整/隐藏的需求,以及如何防止这个问题的常见原因。
2016-12-01 cs.SE
An Architecture Process Maturity Model of Software Product Line Engineering
软件体系结构由于其在创建高质量软件中的重要作用而成为软件工程界的一个关键研究领域。开发产品线而不是单一产品的趋势使软件产品线成为行业中可行的选择。软件产品线体系结构被认为是产品线中的关键组成部分之一,因为所有的产品都共享这个共同的体系结构。软件产品线的日益普及需要一种过程成熟度评估方法。因此,本文提出了一个软件产品线工程的体系结构过程成熟度模型,以评估当前成熟的产品线体系结构开发过程中的组织。评估问卷和评级方法构成了这一模式的框架。调查问卷的目的是收集有关软件产品线架构开发过程的信息。因此,在一般情况下,这项工作有助于建立一个全面的和统一的战略,软件产品线工程的过程成熟度评估。此外,我们进行了两个案例研究,并报告了评估结果,这表明了两个组织的体系结构开发过程的成熟度
2015-07-24 cs.SE
On the Economic Implications of Diversity in Software Engineering
University of Calgary(卡尔加里大学)
研究探讨软件专业人士对软件工程团队多样性的经济影响看法,通过访谈发现多样性与成本降低、收入生成、市场时间等经济因素相关,强调实践中的实用性。
2026-03-23 cs.SE
Software Sustainability: A Design Case for Achieving Sustainable Pension Services in Developing Country
对高效和可持续的软件的需求,以改善业务和实现目标,不能过分强调。如果不采用可持续的软件设计实践,就无法实现可持续的数字服务和产品交付。尽管目前对软件可持续性的研究取得了进展,但发展中国家的大多数软件开发从业人员不清楚什么是软件可持续性,而且往往缺乏对如何在其特定行业领域实施软件可持续性的适当理解。软件工程的研究工作集中在促进发达国家对软件可持续性的认识,而较少的努力被用于研究发展中国家对软件可持续性的认识。这影响了大多数发展中国家对可持续软件设计做法的认识水平。本研究调查了尼日利亚养老金行业的软件可持续性意识及其从业人员面临的挑战。软件开发从业人员参与并接受了采访。我们提供了一些方法来缓解已确定的挑战,并提高养老金行业对软件可持续性的认识。我们的研究结果进一步表明,与正确的可持续发展知识,在养老金行业的软件从业人员有潜力支持他们的组织的可持续发展文化,提高产品设计和服务交付的效率。
2022-09-23 cs.CY cs.SE