如何通过DevOps实践来增强敏捷开发
2022-11-02
来源:BuildRun低代码开发平台 作者:Christopher&Sean
2001年Snowbird山度假村的著名会议上,一群思想领袖齐聚一堂,共同编写敏捷宣言。敏捷发展至今,其中许多变化和实践都是从最初的宣言演变而来的,包括现代敏捷。虽然敏捷制定了总体原则,但实践敏捷原则的方法有很多,Scrum和看板是最受欢迎的两种(关于他们的区别,可阅读Kanban VS Scrum:哪个是最好的敏捷项目管理框架)。
DevOps是一套更为新的原则,它源于精益制造中的一些相同概念。“DevOps”一词于2009年首次推出,当时Patrick Debois在比利时举办了“Devopsdays”活动。2013年,Gene Kim(作者),Kevin Behr(作者)和George Spafford(作者)撰写了他们的书《凤凰计划》,其中提出的许多内容构成了DevOps的基础概念。2014年,随着DevOps企业峰会的启动,DevOps不断扩展到企业环境中。今天,DevOps继续与敏捷一起成长和发展。
三、关键差异
虽然敏捷和DevOps具有很多一致性,但需要注意的是它们的侧重点不同。敏捷主要关注应用程序的构建,而DevOps则将这一重点扩展到构建和运营应用程序。DevOps采用了敏捷的许多概念,并将这些概念扩展到构建过程之外并带入生产。正是这个扩展导致了真正的差异。
如果说存在不同,那么主要在于聚焦点的不同。敏捷教练Martin Corbett表示,“敏捷专注于分解工作,以尽快为客户提供更多价值,而DevOps专注于将代码从构建扩展到部署的项目,例如持续部署。”此外,敏捷专注于构建工作软件以及开发和QA之间的协作,而DevOps则专注于开发、QA和运营之间的协作。
虽然许多人都在寻找敏捷与DevOps之间的差异,但实际情况是,这两种方法具有非常相似的目标和基础原则,并且最终具有比差异更多的相似性。
四、DevOps是敏捷的延伸
在许多方面,DevOps可以被视为敏捷的延伸,甚至是敏捷的自然演变。在瀑布开发流程中,有一个明确的交接(它是强制执行的过程)。敏捷作为一个持续的过程,需要一种新的方法,DevOps有助于实现这种方法。
为了实现精益和敏捷最佳实践的核心小批量发布,在DevOps中普及的全栈工程师的概念是这种需求的最佳答案。为了减少交接,工程师必须悉知系统的所有部分,以便团队中的任何成员都能理解操作要求,而无需交付给其他团队。同样,跨职能团队必须成为常态,以便小型,独立的团队可以提供功能齐全的产品,而无需向运营团队进行额外的交接。
此外,敏捷的持续流程需要一定程度的构建和部署自动化。其中大部分都是在DevOps的CI / CD实践和工具中提供的。CI / CD需要快速部署经过全面测试并且功能齐全的代码给客户。因此,很容易看出CI /CD是敏捷实践所必需的自然演化。这些做法持续发展,使发布周期时间进一步缩短,从数周到数天甚至数小时。
从另一个角度考虑,如果您有一个只有在开发完成后才能开始的为期两周的QA周期,那么在一两周内就很难将代码推出。同样,诸如变更审批、释放资源、硬件购买和安装等需要耗费时间的事情,都会影响你按时推出代码。更不用说,您可能还有很多的交接工作,或者有一个周期长又繁重的发布过程。如何进行为期两周的迭代并进行为期两个月的发布过程?对此的明显答案是DevOps。
这并不是说没有DevOps就无法实现敏捷。敏捷在DevOps之前很久就存在,并且肯定有敏捷团队不遵循许多DevOps实践。正如Noah Cantor所说,“你可以做敏捷实践和DevOps实践,但你不能采用敏捷原则或DevOps
免责声明:
1、IT项目管理界发布的所有资讯与文章是出于为业界传递更多信息之目的,并不意味着赞同其观点或证实其描述。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请浏览者仅作参考,并请自行核实相关内容。
2、本站部分内容转载于其他网站和媒体,版权归原作者或原发布媒体所有。如文章涉及版权等问题,请联系本站,我们将在两个工作日内进行删除或修改处理。敬请谅解!
-
延伸阅读:
-