敏捷 ? DevOps ?
在互联网行业中,永无止境的讨论主题之一是:敏捷与 DevOps。对于这两个概念来说,过程彼此不同;但是它们仍然有一些相似之处。
敏捷
敏捷方法论是一种实践,它促进整个项目的 SDLC(软件开发生命周期)的开发和测试的持续迭代。在敏捷方法中,开发和测试活动是同时进行的,这涉及到 SDLC 过程中开发和测试的持续迭代。
敏捷宣言强调的敏捷软件开发的四个核心价值是:
个体和互动高于流程和工具
工作的软件高于详尽的文档
客户合作高于合同谈判
响应变化高于遵循计划
敏捷是一个软件开发过程,它符合敏捷宣言的品质和标准。它建立在迭代开发的基础上,以跨职能团队的合作为中心,以获得所需的解决方案。
敏捷开发过程将产品分解成小块并将它们集成以进行最终测试。它可以通过多种方式实现,包括 scrum、XP、看板等。这种方法强调交互式、增量和渐进式开发,其中一种或另一种方式也会影响总开发成本。
然而敏捷开发的整体软件开发成本,取决于所使用的特定方法以及敏捷方法对程序的约束和要求。
DevOps
软件开发方法 DevOps 是两个词的组合,即开发和运营。它表示开发和运营的一致性。从根本上说,它是互联网专业人员和团队用于相互协作和建立关系的一种技术。
与敏捷类似,DevOps 可以通过多种方式进行整合,包括 scrum、看板等。它允许更快地以自动化方式部署代码。它还有助于提高组织更快地交付应用程序和服务的速度。
特点
差异
方法与部署
敏捷:在敏捷软件开发方法中,开发团队专注于创建和发布软件。
DevOps:DevOps 使用可部署且可靠的预构建工具。它在软件开发中没有任何作用。此外,具有 DevOps 的开发人员使用瀑布法来开发应用程序。
团队成员数
敏捷:如果从敏捷方法论的应用程序开发开始,项目需要一个庞大的团队。但是,与很多人一起工作意味着它可能会阻碍工作的速度。
DevOps:这需要不同团队的协作。在这种方法中,开发团队免费获得解决方案和服务,以使用模型像看板和 scrum 一样工作。然而,当需要公开应用程序时,每个团队都必须与部署团队协作以继续执行计划。
跨功能与细分
敏捷:敏捷方法使每个人都能熟练地从事各种工作。使用敏捷方法的开发人员会成为多面手;因此,它们可以在不妨碍项目工作的情况下相互替代。它提高了效率、质量并加强了团队成员之间的沟通,同时促进了开发速度。
DevOps:需要两个独立的团队:项目的开发和运营专业人员。两个团队都需要彼此密切协调才能获得最佳结果。
规划方法的不同
两种应用程序开发过程的规划方法都不同。
敏捷:在敏捷方法中,开发人员在给定的时间范围内开发新版本和更新。整个时间框架和过程被称为 Sprint。开发人员在获得反馈后最接近实现多个所需功能的时间。
DevOps:另一方面,DevOps 仅用于优化业务运营。通常,项目经理有两种选择。在第一种情况下,可以在更新可见或等到所有更新可见时立即部署更新。此外,部署这些更新时要牢记业务部门。这样一来,DevOps 中的开发人员就不会因为部署更新而缺乏时间,而是旨在获得最大的业务运营。
主要区别:敏捷与 DevOps
敏捷是一种迭代方法,专注于协作、客户反馈和小型快速发布。DevOps 是一种将开发和运营团队聚集在一起的实践。
敏捷专注于不断变化,而 DevOps 专注于不断测试和交付。
敏捷需要一个小团队,而 DevOps 专注于一个相对较大的团队。
敏捷利用左移原则,而 DevOps 则利用左移和右移原则。
敏捷的目标领域是软件开发,而 DevOps 的目标领域是提供端到端的业务解决方案和快速交付。
敏捷方法更侧重于功能和非功能准备,而 DevOps 侧重于运营和业务准备。
相似之处
合作过程
协作是敏捷和 DevOps 具有共同目标的另一个方面。团队需要协作,无论他们选择什么技术。此外,每个团队都需要分享有关开发过程的更新。
精益理念
敏捷和 DevOps 方法都广泛采用并大量实施了精益理念,尤其是在团队相互交流过程中。
提高生产力
敏捷和 DevOps 这两种应用方法在朝着实现共同目标,既提高生产力。这两种方法都是非常可靠的软件开发方法。敏捷推动 DevOps 更快地工作,而 DevOps 推动敏捷变得更加流畅。
可以全都要吗?
好消息是,坚持一种方法而不是另一种方法并不是强制性的。两种方法的混合可以一起使用以确保提高效率。在软件开发和部署方面,两者都可以发挥重要作用。
BUG 挖掘机·性能征服者·头顶锅盖
阅读原文,跳转我的仓库地址
- END -
版权声明: 本文为 InfoQ 作者【FunTester】的原创文章。
原文链接:【http://xie.infoq.cn/article/b398100f2d1b144cae417288b】。文章转载请联系作者。
评论