DevOps与Agile有很多不同,但它们之间仍可发现很多共同点,这篇文章为读者揭晓。

DevOps和Agile之间有着明显的关系。Agile是方法论,Scrum是框架,并DevOps随着看板也落在了Agile的“伞”下。精益,大规模的Scrum,极限编程,水晶等。例如,我们的Scrum团队是一个Agile团队,将作为DevSecOps团队运作。

DevOps和Agile都不是关于工具的。两者都是关于思维方式和文化的。如果做得正确,团队将以不同的方式思考和采取行动,并取得更大的成果,包括更快的软件交付,持续集成(CI),持续交付(CD),持续改进,工作软件,更快的解决方案,更多的协作和更少的孤岛。另外,在质量测试方面能看到的附加结果,更好的自动化以及改进的系统,过程和实践。

共同的概念

它们共有的一些Agile概念与Agile宣言相关。前12条原则中最熟悉的是前4条:

个人和交互重于流程和工具

有效的软件重于完整的文档

客户协作比合同谈判更重要

响应变化胜过遵循计划

有些DevOps概念,它们的共同点是CI / CD管道,优化软件交付和质量,一种创新文化,服务水平的目标和指标(SLO和SLI),团队之间的协作以及自动化。

DevOps和Agile的优势

DevOps加快了开发人员与运营之间的速度。此外,即使DevOps与工具无关,开发人员和操作人员团队使用相同的技术堆栈这一事实,也在两者之间创建了共享的语言和同理心。我们的Scrum团队使用Jira来跟踪所有错误,增强功能和团队绩效。

常见的DevOps工具是Jenkins,AWS,SonarQube,GitHub,Splunk和Ansible。尽管各个团队的工具有所不同,但是思维方式和文化应该在所有人之间是通用的。

DevOps还可以减少开发人员与操作人员之间的分歧,就像了解彼此穿鞋的感觉,因为现在它们可以合而为一。

Agile团队不断频繁而快速地交付,并在此过程中逐步适应。对于大多数软件或产品交付团队而言,两周的冲刺工作似乎是最佳选择。Agile团队可以在其工作中使用DevOps原则(例如,实施CI / CD管道),与运维人员一起工作的开发团队可能以相同的两周增量工作。

传统上,DevOps引导着持续的部署、交付和集成。团队合作已整合;问题和故障由开发、运营和其他实体共同拥有,例如质量保证(QA)、测试、自动化等。

我相信,Agile和DevOps同呼吸共命运,它们之间有许多概念和理论交织在一起。尽管我毫无疑问,现在仍将有对我的观点的反对意见,甚至尖锐的异议,但我认为我们都同意,Agile和DevOps致力于解决复杂性,提高质量并围绕软件设计进行创新。

写在最后

DevOps与Agile的话题几乎就像辩论iPhone与Android一样,每个人都有自己的见解,尤其是在人们不同意的情况下。

在撰写以上这篇文章之后,阅读了这篇文章的评论后,我想补充一些想法,包括我对该主题的某些看法发生了怎样的变化。

我的观点来自我现在的位置,也来自我曾经去过的地方。我曾经是系统管理员和基础架构工程师,现在是密苏里州一家大型公用事业公司的高级Scrum管理员。

我的团队由六名前端软件工程师和IT程序员分析师、一名业务分析师和两名产品负责人以及我共同组成。最近,我们了解到管理层希望我们的团队成为DevSecOps团队,因此我们的核心Scrum团队正在与DevSecOps团队合作,以帮助我们进行过渡。没有人会天真地认为这是一件容易的事情,但DevSecOps团队的经验使我们对成功充满信心。

我们团队的经理最近聘请了一位高级软件工程师,他们将推动DevSecOps目标的实现。作为一名scrum master,我将继续专注于持续改进。团队还很年轻,所以他们没有丰富的工作经验,但是他们很聪明而且有干劲,还有很大的发展空间。此外,我们整个组织都在经历着Agile转型,因此大多数人对Agile的所有事物都是陌生的,包括Agile宣言和五个Scrum价值观。

DevOps vs. Agile:它们有什么共同点?的更多相关文章

  1. DevOps Scrum Agile Tech Debt

    从实践中长出的 DevOps 大树 - 服务管理 - CIO时代—新技术.新商业.新管理http://www.hunnatv.com/glfw/145411.html Nexus规模化Scrum框架h ...

  2. 【漫话DevOps】Agile,CI/CD,DevOps

    随着DevOps理念的普及与扩散,可能会被一大堆名字概念搞的莫名其妙,理清它们之间的关系可以帮助团队知道DevOps如何落地,改善工作流程. Here's a quick and easy way t ...

  3. 如何在DevOps中实施连续测试

    在过去的十年中,对软件开发的需求已急剧发展.软件已成为公司获得竞争优势的关键优势,特别是如果您的公司属于SaaS范畴.通过在SDLC中实施瀑布等传统流程,组织现在正在向敏捷过渡,以便以更快的速度在市场 ...

  4. 优秀DevOps工程师必会的33个面试题

    DevOps面试问题 01 您能告诉我们DevOps和Agile(敏捷)之间的根本区别吗? 答:尽管DevOps与敏捷方法(这是最流行的SDLC[Software Development Life C ...

  5. 【9】进大厂必须掌握的面试题-DevOps面试

    Q1.DevOps和Agile之间的根本区别是什么? 下表中列出了两者之间的差异. 特征 DevOps--开发运维 Agile--敏捷 敏捷 开发和运营中的敏捷性 只有发展才能敏捷 流程/实践 涉及C ...

  6. 深入思考软件工程,开启 DevOps 之旅

    20 世纪 60 年代,软件开始脱离硬件,逐渐成为一个独立产业.至今,软件开发过程从瀑布模型.CMM/CMMI,到 20 年前敏捷的诞生,再到今天 DevOps 的火热,一代代软件人在思考和探索,如何 ...

  7. 读书笔记--用Python写网络爬虫02--数据抓取

    抓取(scraping)---爬虫从网页中抽取一些数据用以实现某些用途. 三种抽取网页数据的方法:正则表达式.Beautiful Soup和lxml. 2.1 分析网页 通过浏览器自带选项,查看网页源 ...

  8. 2020 | 可替代Selenium的测试框架Top15

    本文首发于 微信公众号: 软测小生 Selenium是一种开源自动测试工具.它可以跨不同的浏览器和平台在Web应用程序上执行功能,回归,负载测试.Slenium是最好的工具之一,但确实有一些缺点. 业 ...

  9. 认识Agile,Scrum和DevOps

    If everything's under control you are going too slow. 当今的开发,要求faster and faster.所以我们要Agile,become Ag ...

随机推荐

  1. JAVA的synchronized写法

    使用关键字synchronized的写法比较多,常用的有如下几种,代码如下: public class MyService { synchronized public static void test ...

  2. Java 自定义注解及注解读取解析--模拟框架生成SQL语句

    假设们使用一张简单的表,结构如下: 定义注解: 表注解: package com.xzlf.annotation; import java.lang.annotation.ElementType; i ...

  3. Python网络爬虫:伪装浏览器

    一.添加超时跳过功能 首先, 我简单地将 urlop = urllib.request.urlopen(url) 改为 urlop = urllib.request.urlopen(url, time ...

  4. Spark SQL源码解析(三)Analysis阶段分析

    Spark SQL原理解析前言: Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述 Spark SQL源码解析(二)Antlr4解析Sql并生成树 Analysis阶段概述 首先 ...

  5. synchronized 的实现原理

    加不加 synchronized 有什么区别? synchronized 作为悲观锁,锁住了什么? synchronized 代码块怎么用 前面 3 篇文章讲了 synchronized 的同步方法和 ...

  6. python实现线性回归之简单回归

    代码来源:https://github.com/eriklindernoren/ML-From-Scratch 首先定义一个基本的回归类,作为各种回归方法的基类: class Regression(o ...

  7. Scrapy爬虫框架(1)--安装配置与常用命令

    安装与配置 Scrapy有几个安装依赖,一般来说可以直接pip install scrapy,这个过程会自动下载安装其他几个依赖. 上述安装方法不成功,则需要手动安装依赖包 步骤 安装 lxmlpip ...

  8. DMTF 关于 CIM-XML 的幻灯片介绍

    https://members.dmtf.org/data/presentations/devcon02/JimDavis-IntroductiontoCIM-XML.pdf

  9. c++ 更新 performance counter 数据,错误码 87

    ERROR_INVALID_PARAMETER 87 (0x57) The parameter is incorrect. 很可能是该送 ULONG 的送了 ULONGLONG,vise versa

  10. Windows SDK 的 ctype.h 里有一些有用的函数,例如字符串的大小写转换

    #define _tolower(c) ((c) - 'A' + 'a') #define _toupper(c) ((c) - 'a' + 'A')