前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ALM阿尔姆在德沃普 DevOps的世界里死了吗?

ALM阿尔姆在德沃普 DevOps的世界里死了吗?

作者头像
Antony
发布2022-09-23 13:52:30
3100
发布2022-09-23 13:52:30
举报
文章被收录于专栏:软件测试那些事

导读:

阿尔姆在德沃普的世界里死了吗,这是百度翻译的。

本系列的第二篇,也是更早的一篇。相比较昨天的《ALM 在 DevOps 时代死了吗 ?[译]》,笔者认为写得更为精彩一些,首先,早在15年就提出了这个问题。那时候还正是ALM如日中天的时候。其次,PLM->ALM->DevOps的演进历史,这是一个新的视角。

另外,点出了在DevOps中,文化是ALM中缺少的一个关键元素。在推崇流程、工具之外,DevOps从业者还是要认真思考文化的力量。

以下是正文,

BY: CHRIS RILEY ON APRIL 15, 2015

应用程序生命周期管理(ALM)是否已被DevOps扼杀?如果这个问题让你头晕,你可能并不孤单;毕竟,似乎就在几年前,ALM还是一个全新的想法——也是大多数敏捷实现的关键组成部分。那么ALM发生了什么,为什么DevOps会杀了它(如果真的发生了这种情况)?首先,一点历史:

在ALM出现之前(至少作为一个正式的概念),就有了PLM——产品生命周期管理。PLM是20世纪80年代在汽车工业中发展起来的,是一套完整的实践,用于管理制造产品的整个生命周期。PLM集成了需求和配置管理、计算机辅助设计和工程、资源规划、产品支持以及产品生命周期的所有其他关键要素。为此,不仅需要在部门和项目管理级别进行集成,还需要集成与产品相关的数据库以及用于管理、设计和管理的软件。

在许多方面,ALM是PLM原理在软件开发和运营中的应用。回顾过去,这是一个不可避免的发展;PLM本身的采用在很大程度上是由使其成为可能的软件工具的可用性和使用所驱动的。软件开发人员很快就开始将同样的工具和实践应用到他们自己的行业中。

与制造业一样,许多实际的管理工具早在集成生命周期管理的思想流行之前就已经可用并投入使用。对于一家公司来说,在需求、设计、源代码管理、发布、测试、错误报告和总体项目管理等方面使用独立的、非集成的工具和特定实践的组合是很平常的。这些工具中的许多都非常自然地融入了集成的理念——配置、构建和发布管理、需求和设计、测试、问题管理和用户支持——并且在许多方面,ALM充当了一个理论和实践框架,用于整合已经存在的难题。

当ALM作为传统瀑布式软件开发方法的一部分实现时,它往往具有方法本身的特点。这并不奇怪-集成使现有实践更高效,但并不一定会改变它们,而且ALM至少与相对不灵活、自上而下的管理风格兼容。

但ALM也适用于敏捷框架。敏捷ALM工具能够很好地与敏捷的快速、小团队、设计、代码和测试迭代配合使用,并且整个ALM哲学本身可以轻松地从传统的公司管理世界扩展到更直接的敏捷开发世界。最重要的是,ALM的全生命周期集成概念与敏捷基础的紧密开发生命周期集成相吻合。在相当大的程度上,应用程序生命周期管理作为一种理念构建在敏捷中,真正的敏捷ALM的实现在很大程度上取决于找到或开发正确的工具,以及将ALM实践扩展到敏捷。如果没有与ALM共享的高度集成的方法,敏捷将不会是敏捷的。

当然,DevOps本身是敏捷的自然产物,将运营引入到一个相对较小的团队手中的快速、频繁迭代开发的敏捷模型中。如果说有什么区别的话,DevOps通过将其从开发扩展到运营来提高集成水平,这意味着它实际上比基本敏捷更接近于ALM的全部范围。毕竟,运营在应用程序的生命周期中所占的比重可能比开发更大(通常要大得多)。DevOps是整个应用程序生命周期的一线服务,因此DevOps从定义上讲就是应用程序生命期管理。

因此,在许多方面,DevOps是在敏捷框架内实现ALM的最终结果。但从传统管理的角度来看,结果一点也不像ALM,这让一些人怀疑在DevOps世界中是否还有ALM的空间。如果DevOps是应用于敏捷的ALM的实现,为什么看起来不是这样?到底是什么让人怀疑德沃斯是否杀了阿尔姆?

在传统软件开发领域中实现的ALM并没有挑战现有的将应用程序生命周期划分为离散阶段的做法-它只是将它们集成到项目和数据管理的整体系统中。然而,敏捷ALM模糊了这些阶段之间的区别,并且在很大程度上,DevOps完全消除了它们。如果在不同的软件开发/支持阶段之间没有任何明确的区别,第一眼就很难看出ALM是如何映射到DevOps世界的。

这是DevOps持续交付系统的自然结果;尝试将DevOps周期分解为与传统软件开发阶段相匹配的离散阶段是没有意义的,因为它包含了不考虑传统阶段边界的小而紧密的步骤。然而,传统的ALM基于离散的软件开发阶段,这仅仅是因为它产生于一个以这些阶段为规则的环境。如果它是在敏捷/DevOps环境中开发的,它就不会基于连续的瀑布式阶段。但是,在敏捷/DevOps的世界中,没有必要制定单独的应用程序生命周期管理概念,因为它内置于DevOp中。

因此,ALM在DevOps世界中还远未消亡,而ALM工具在DevOps中占有重要地位。当然,这些工具的性质——或者至少它们的重点——有些不同。在DevOps中,文化是ALM中缺少的一个关键元素,集成更为重要,管理工具需要将来自各种离散应用程序的数据整合在一起并使其有意义。DevOps将传统ALM的“开始并完成一个阶段,然后开始并完成下一个阶段”范式替换为更接近“在这里、这里、这里深入到流中,并在不停止流的情况下监控和控制流”的模式。流程和工具可能看起来(并且)非常不同,但基本目的仍然是一样的——管理应用程序的生命周期。

https://devops.com/is-alm-dead-in-the-world-of-devops/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试那些事 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
CODING DevOps
CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档