DevOps vs. Agile:它们有什么共同点?
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:它们有什么共同点?的更多相关文章
- DevOps Scrum Agile Tech Debt
从实践中长出的 DevOps 大树 - 服务管理 - CIO时代—新技术.新商业.新管理http://www.hunnatv.com/glfw/145411.html Nexus规模化Scrum框架h ...
- 【漫话DevOps】Agile,CI/CD,DevOps
随着DevOps理念的普及与扩散,可能会被一大堆名字概念搞的莫名其妙,理清它们之间的关系可以帮助团队知道DevOps如何落地,改善工作流程. Here's a quick and easy way t ...
- 如何在DevOps中实施连续测试
在过去的十年中,对软件开发的需求已急剧发展.软件已成为公司获得竞争优势的关键优势,特别是如果您的公司属于SaaS范畴.通过在SDLC中实施瀑布等传统流程,组织现在正在向敏捷过渡,以便以更快的速度在市场 ...
- 优秀DevOps工程师必会的33个面试题
DevOps面试问题 01 您能告诉我们DevOps和Agile(敏捷)之间的根本区别吗? 答:尽管DevOps与敏捷方法(这是最流行的SDLC[Software Development Life C ...
- 【9】进大厂必须掌握的面试题-DevOps面试
Q1.DevOps和Agile之间的根本区别是什么? 下表中列出了两者之间的差异. 特征 DevOps--开发运维 Agile--敏捷 敏捷 开发和运营中的敏捷性 只有发展才能敏捷 流程/实践 涉及C ...
- 深入思考软件工程,开启 DevOps 之旅
20 世纪 60 年代,软件开始脱离硬件,逐渐成为一个独立产业.至今,软件开发过程从瀑布模型.CMM/CMMI,到 20 年前敏捷的诞生,再到今天 DevOps 的火热,一代代软件人在思考和探索,如何 ...
- 读书笔记--用Python写网络爬虫02--数据抓取
抓取(scraping)---爬虫从网页中抽取一些数据用以实现某些用途. 三种抽取网页数据的方法:正则表达式.Beautiful Soup和lxml. 2.1 分析网页 通过浏览器自带选项,查看网页源 ...
- 2020 | 可替代Selenium的测试框架Top15
本文首发于 微信公众号: 软测小生 Selenium是一种开源自动测试工具.它可以跨不同的浏览器和平台在Web应用程序上执行功能,回归,负载测试.Slenium是最好的工具之一,但确实有一些缺点. 业 ...
- 认识Agile,Scrum和DevOps
If everything's under control you are going too slow. 当今的开发,要求faster and faster.所以我们要Agile,become Ag ...
随机推荐
- vue-element-admin执行npm install 报错
如果你出现这类报错: 那么恭喜你,因为这个问题很好解决. ----------------------- 解决方法: git config --global url."https://&qu ...
- 永恒之蓝MS17010复现
MS17010复现 靶机win7:192.168.41.150 攻击kali: 192.168.41.147 扫描 通过auxiliary/scanner/smb/smb_ms17_010模块扫描 ...
- tensorflow1.0 lstm学习曲线
import tensorflow as tf import numpy as np import matplotlib.pyplot as plt BATCH_START = 0 TIME_STEP ...
- Android 开发技术周报 Issue#277
新闻 Android 11界面再调整:加入快速截屏.多任务向国产ROM看齐 最新版Android 11推送 谷歌Pixel 5被曝光:支持反向充电 4月Android系统版本分布:8.0 Oreo最主
- Spring Cloud 系列之 Sleuth 链路追踪(二)
本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Sleuth 链路追踪(一) 本篇文章讲解 Sleuth 基于 Zipkin 存储链路追踪数据至 MySQL,Elas ...
- 详细的JavaScript知识梳理和经典的一百个例题,让你掌握JavaScript
这里先做一下JavaScript知识点的梳理,具体的可领取资料 JavaScript语法: js语法.png DOM操作: DOM操作.png 数据类型 面向对象 继承 闭包 插件 作用域 跨域 原型 ...
- tagbar 调到函数定义再跳回
首先要在源码文件夹下执行 ctags -R * 生成tags文件 齐次要安装 YouCompleteMe ctrl + ] 跳到函数定义 Ctrl-o 和 Ctrl-I 跳回.我试验的只有 Ctrl- ...
- Python3 注释和运算符
Python3 注释 确保对模块, 函数, 方法和行内注释使用正确的风格 Python中的注释有单行注释和多行注释: Python中单行注释以 # 开头,例如:: # 这是一个注释 print(&qu ...
- 理解分布式一致性:Paxos协议之Multi-Paxos
理解分布式一致性:Paxos协议之Multi-Paxos Multi-Paxos without failures Multi-Paxos when phase 1 can be skipped Mu ...
- c语言-----劫持自己02
在上一节 c语言-----劫持原理01 已经叙述了劫持原理,下边正式进入劫持实战 1. 需要实现的功能 在c语言中 system("notepad") 可以打开一个记事本 syst ...