团队转型,Scrum与DevOps要如何取舍?
团队在践行敏捷的过程中,会有多种选择:Scrum、XP、Kanban、Crystal、精益生产、规模化敏捷等,其中最流行的敏捷开发方法当属Scrum。正因如此,大部分人对其产生了刻板印象:认为敏捷就是Scrum,实施敏捷就是套用Scrum方法。
而产生在敏捷之后的DevOps集文化理念、实践和工具于一身,可以提高组织高速交付应用程序和服务的能力,与传统的软件开发和基础设施管理流程相比,能够帮助组织更快地发展和改进产品,也逐渐成为衔接开发团队和运维团队的胶合剂。在这种情况下,大家反而会常常限制在一个思维困境中:团队转型,是选择Scrum还是DevOps?
在这里,有必要纠正一下人们的思维误区。首先,敏捷并非等于Scrum,敏捷作为一种软件开发运动,其发起人试图以一种更为敏捷的新方式来思考软件开发、方法论以及组织架构,从而帮助行业中的人们。Scrum作为一种方法论,并不是详细的操作规范,而是一套行为框架,在此框架基础上,各团队根据自己团队实际情况制定合适的迭代任务。
而DevOps关注的不只是开发阶段的内容,它关注的是整个系统,以促进端到端的价值流动为目的。从客户提出需求,到进入开发阶段,再到交付客户成果,价值的流动并非局限于某一阶段中。整套系统中各个单元都相辅相成,因此某一部分的改变会影响其他部分,为了使价值顺利地流动出去,需要系统中各个单元的相互配合。
因此,当人们对Scrum和DevOps并不了解时,常常会陷入二选一的误区。实际上,Scrum与DevOps并不冲突,从性质上来讲,Scrum偏向于基础框架,DevOps偏向于文化理念;从另一个角度来讲,Scrum与DevOps是局部与整体的关系:Scrum更注重每一sprint结束后的成果交付,DevOps则注重构建、开发、运维等阶段的整体运行、前后的衔接与持续交付。
在Scrum团队中,除却原Scrum团队中的开发人员,还包括架构人员、分析人员、销售人员等,团队下一步要考虑的问题是如何将将各职能成员联系在一起。部分已经意识到此问题的团队为了解决单一的Scrum方法论仅注重开发阶段这一弊端,开始寻求DevOps的支持。
1.持续交付
在Scrum中引入DevOps的持续交付概念,强调每个sprint的完成应以产品增量为目标。
- 首先,在sprint期间,Scrum Master不会制定详实的sprint计划,而是仅制定sprint中前几日的计划,之后便随着冲刺期间的工作改进、调整灵活变动计划内容;
- 其次,每日召开Scrum会议,同步团队中成员计划,提高成员之间的协作效率;
- 最后,在sprint结束后,团队需要召开回顾会议来汇总这一阶段所做的工作,反思这次冲刺中的不足之处及应该注意的事项,以便在下次sprint中调整团队的整体方向。
在sprint阶段里,Scrum团队不断地进行学习、获取反馈,努力提高改进、产出速度,使产品尽可能多地发布到交付环境中。随后Scrum Master 通过这一期的目标完成情况决定下一期的sprint目标,在这一期间仍要注意的是,尽量减少过程中的人为干预,从而减少发布过程的周期。
2.扩大反馈
Scrum团队通过验收会议、回顾会议以及每日Scrum同步团队成员的任务进度,以及获取上一sprint成果的反馈。与单一的Scrum不同,应用DevOps的Scrum验收已经处于生产环境中的sprint成果,验收标准也不再是单一的性能测试,而是围绕产品本身、部署架构、市场等方面进行多方位评审,从而制定下一期sprint计划。
扩大反馈的方式有很多,总的来说首要步骤就是如何提高生产效率。有以下几种方法:可以利用结对编程来增加工作效率,使产品尽可能多地交付到环境中。也可以统一代码规范,减少额外成本的增加:当团队拥有良好且统一的代码规范时,会有效规避因某个成员的缺席造成团队工作停滞的风险,也能够提升代码的可读性,从而提高工作效率、扩大反馈。
Scrum的仪式感常常表现在迭代计划会议、每日站立会议、回顾会议等方面。而DevOps更注重在整个价值流中快速并持续交付价值,这种价值的快速流动需要产品发布过程中每个人的参与;同时,透过自动化“软件交付”和“架构变更”的流程,逐渐消除人为干预,使得构建、测试、发布软件更加地快捷、频繁和可靠。
DevOps文化倡导“共同责任”,也就是在产品发布全流程中,所有成员通过协作确保产品有价值,因此,在Scrum框架基础上应用DevOps能够帮助Scrum团队更好地进行知识学习和创新。
团队转型,Scrum与DevOps要如何取舍?的更多相关文章
- DevOps|高效能敏捷交付组织:特性团队(FeatureTeam)+Scrum
这是<研发效能组织能力建设>的第三篇.特性团队和Scrum,这两个定义我们在之前的文章中都详细介绍了.这两个组织模式或者说管理实践,我都用过所以有些时候特别有感触.书本上纯粹的模式很容易理 ...
- 关于Scrum+XP+DevOps的学习
最近听了ECUG大会上孙敬云老师的分享感觉受益匪浅,毕竟大学课本上只讲到瀑布模型就没有下文了,工作以后一直贯彻的都是Scrum路线,一直也没有时间好好的去学习整理这部分的知识,直到近几天听到了孙老师的 ...
- 0502团队项目 SCRUM团队成立
Scrum团队成立 团队名称:对不对?队 团队目标:短期目标,完成O2O模式的第一个平台 团队口号:我们都不是神的孩子 团队照: 角色分配 产品负责人: 许佳仪.决定开发内容和优先级排序,最大化产品以 ...
- 《团队作业第三、第四周》五小福团队作业--Scrum 冲刺阶段--Day7
<团队作业第三.第四周>五小福团队作业--Scrum 冲刺阶段--Day7 一.项目燃尽图 二.项目进展 [20172301郭恺第七天的进展] 第七天完成的任务: 代码整合,界面调整为相对 ...
- 中小团队基于Docker的devops实践
笔者所在的技术团队负责了数十个项目的开发和维护工作,每个项目都至少有dev.qa.hidden.product四个环境,数百台机器,在各个系统之间疲于奔命,解决各种琐碎的问题,如何从这些琐碎的事情中解 ...
- 0429团队项目-Scrum团队成立
Scrum团队成立 团队名称:开拓者 团队目标:努力让每一个小伙伴在学会走路的基础上学会跑. 团队口号:我们要的只是这片天而已. 团队照:正面照+背影照(那就是为什么组名叫开拓者) 5.2 角色分配 ...
- 冰多多团队-第一次Scrum例会
冰多多团队-第一次Scrum会议 注:由于对课程要求的不熟悉,所以本文档为周会后的补充总结文档 会议基本情况 会议时间:3.28 19:00 - 19:30 会议地点:新主楼F座2楼沙发休息处 工作情 ...
- 《团队作业第三、第四周》五阿哥团队作业--Scrum 冲刺阶段--Day1--领航
<团队作业第三.第四周>五阿哥团队作业--Scrum 冲刺阶段--Day1--领航 各个成员在 Alpha 阶段认领的任务 在团队合作时任务也会动态分配,最终以实际为主,上述具有参考价值. ...
- 软工团队作业--Scrum冲刺集合贴
软工团队作业--Scrum冲刺集合贴 团队 团队名称:广东靓仔六强选手 团队成员: 黄清山 黄梓浩 钟俊豪 周立 邓富荣 郑焕 博客链接 Scrum 冲刺 第一篇 Scrum 冲刺 第二篇 Scrum ...
随机推荐
- Asp.Net Core入门之静态文件
静态文件(css,js,html等类型文件)通常位于 web根目录下,而ASP.Net Core框架默认内容根目录下的wwwroot文件夹为web根目录.这里简单解释下内容根目录:实际就是指包含可执行 ...
- 原来你是这样的BERT,i了i了! —— 超详细BERT介绍(一)BERT主模型的结构及其组件
原来你是这样的BERT,i了i了! -- 超详细BERT介绍(一)BERT主模型的结构及其组件 BERT(Bidirectional Encoder Representations from Tran ...
- 上海开发票/v电13543443967
关于事项:Iㄋ5一★4З44一★ㄋ9.б7开发票的准备资料必须要公司名称个人的话就用个人名字和身份证去税务柜台申请办理!公司的话要提供公司全称就是营业执照上的名称,纳税人税号,如果是开普通增值税发票的 ...
- 01MySQL内核分析-The Skeleton of the Server Code
摘要 这个官方文档一段对MySQL内核分析的一个向导.是对MySQL一条insert语句写入到MySQL数据库的分析. 但是,对于MySQL 5.7版本来说,基本上都是写入到innodb引擎.但也还是 ...
- SpringMVC 学习笔记(五)
47. 尚硅谷_佟刚_SpringMVC_文件上传.avi 参看博客https://www.cnblogs.com/hanfeihanfei/p/7931758.html相当的经典 我是陌生人关于Sp ...
- 蝙蝠算法(BA)学习笔记
算法原理 蝙蝠能够在夜间或十分昏暗的环境中自由飞翔和准确无误地捕捉食物,是因为他们能够从喉头发出地超声脉冲回声来定位.受这一启发,Yang教授在2010年提出了蝙蝠算法(Bat Algorithm,B ...
- Docker入门(1):概述
1.摘要 在这篇文章中,我将介绍一下为什么需要虚拟化的环境. 然后我将介绍耳熟能详的虚拟化技术:虚拟机,并大致的介绍一下虚拟机的原理,希望能够让你知道虚拟机的优劣. 在之后,针对虚拟机存在的问题,引出 ...
- ShellExecute指定IE浏览器打开网页
ShellExecute(NULL,L"open", L"iexplore.exe", L"www.baidu.com", NULL, SW ...
- JavaScript基础对象创建模式之单体/单例模式(Singleton)
首先,单例模式是对象的创建模式之一,此外还包括工厂模式.单例模式的三个特点: 1,该类只有一个实例 2,该类自行创建该实例(在该类内部创建自身的实例对象) 3,向整个系统公开这个实例接口 Java中大 ...
- 基本 Docker 命令列表
docker build -t friendlyname .# 使用此目录的 Dockerfile 创建镜像 docker run -p 4000:80 friendlyname # 运行端口 400 ...