企业玩转DevOps转型:由弱到强,只需7步
【摘要】 在参考业界方法并总结客户成功故事的基础上,本文提出了“七步法”路线图,希望能帮助更多的企业顺利进行DevOps转型。
从2009年诞生,DevOps已经悄然走过了10多个年头。Gartner在技术热门度曲线报告“Hype Cycle for I&O Automation, 2019”中指出,DevOps处于爬升期(Slope of Enlightenment)。越来越多的国内企业关注DevOps,大有掀起一番大干快上热潮的架势。然而,在这种情形下,企业还是应该理性看待DevOps,将DevOps视为50多年来软件工程方法的扬弃,正如瀑布、敏捷一样,DevOps是软件工程特定的时代标签。
如何避免DevOps变革的六大“焦油坑”一文指出了企业践行DevOps转型面临的许多挑战及应对方法。那么企业应该采用怎样的路线图(Roadmap)来具体实施DevOps转型呢?
在总结客户成功故事的基础上,我们提出了“七步法”路线图(如下图所示),希望能帮助更多的企业顺利进行DevOps转型。

理论上,DevOps是软件工程方法的进一步发展,然而对于企业,DevOps转型并不是轻而易举的。企业需要达到引爆点,即企业在此时将变革作为首要任务。通常来讲,引爆点无外乎2类:生死关头(Burning Platform)与愿景领导(Visionary Leadership)。对于大多数的企业,DevOps转型的最大动力往往来自于“火烧屁股”,主动转型多数时候是奢谈。企业通过引爆点的理解对DevOps变革形成清晰的愿景并确立驱动因素。
第一步:选择合适的价值流
对于企业来讲,希冀全面的DevOps转型往往是不现实的。因此,通常情况下,企业可以选择1-2个价值流(或者产品)来进行尝试。这一步工作可以从以下方面进行考虑:
(1)选择新产品(绿地项目)还是现有产品(棕地项目);
(2)选择记录型型产品还是交互型产品;
(3)选择创新型团队还是保守型团队。
管理学大师彼得·德鲁克曾说过:“小鱼在小池塘里成为大鱼”。选择合适的价值流是DevOps转型的非常关键的一步。
第二步:识别支撑价值流的团队
在选择好试点的价值流后,必须确定价值流的所有成员,来共同为客户创造价值。价值流团队应该为跨职能融合团队,至少包括业务人员、产品负责人、开发团队、QA团队、运维团队、信息安全团队等等。
第三步:绘制价值流图并确定改进目标
价值流团队深入需要深入理解工作方式,可以使用价值流图(Value Stream Mapping)进行记录,通过工作坊的方式确定价值流关键环节的Lead Time、Value Added以及%C/A,来充分识别出阻碍价值流快速流动的环节,并将其作为改进目标。
第四步:组建专门的团队并培养能力
DevOps转型面临的最大挑战是与公司当前业务与交付模式的冲突。因此尽量将转型团队从诸多现有的规则和规定中解放出来。企业可以参考康威定律、Kotter的Dual Operating System等来设计团队结构。关于Kotter的Dual Operating System的阐述可以参考SAFe的“Business Agility”。在组建团队后,企业应该对团队进行体系化培训。然而不少企业往往因为投入成本问题,忽视了培训,结果可想而知。
第五步:应用方法和最佳实践进行转型
转型团队在理解业界DevOps方法与实践的基础上,结合人员技能水平、工具平台以及业务场景等,针对第三步确定的改进目标,循序渐进地进行转型。DevOps方法与实践涉及面非常广,从我们的服务企业的经验来看,企业应该聚焦2+1。所谓的2指的是敏捷项目管理、代码版本控制,1指的是持续交付流水线。其中的2是基础,很多企业在这2点没有做好的情况,就追求1,很多时候是缘木求鱼。
第六步:使用工具平台以强化预期行为
DevOps转型,首当其冲的是文化与思维的转变。文化与思维通过行为进行体现。如果方法与实践等只是纸质规章制度,那么是难以规范并强化预期行为的,文化与思维的转变也就勉为其难。因此企业组织应该使用工具平台(例如华为云DevCloud)来提升交付效率与质量,更为重要的是强化预期行为。如何在华为云DevCloud上玩转DevOps,可以百度搜索查阅。
第七步:扩展到组织的其它价值流
正如前面提到,企业可以选择1-2价值流进行试点,有条件的企业,建议采用2个,形成对照组。在DevOps转型符合预期效果,并且试点价值流良好运转后,可以扩展到组织的其它价值流,实现规模化(Scaled Size)。当然企业应该注意的是规模化有它固有的挑战,并不能看做是价值流的线性规模化,特别是当价值流之间耦合度较高时。
在组织内全面实施DevOps绝非易事,转型可能会给个人、团队、部门以及整个组织带来风险。变革需要勇气,同时也需要合理的路线图,做到风险可控。既然DevOps转型已经势在必行,企业按照七步法路线图有序实施,凤凰涅槃可期。
华为云DevCloud作为一站式云端DevOps平台,集成华为近30年研发实践和前沿理念,面向开发者提供研发工具服务,让软件开发简单高效。百度搜索“DevCloud”可以预约免费的产品演示和技术交流,详情查看华为云官网。
企业玩转DevOps转型:由弱到强,只需7步的更多相关文章
- 为什么学Python语言,只需四步全面了解Python语言
为什么学Python语言,只需四步全面了解Python语言每个时代都会悄悄犒赏会选择的人,Python现在风口的语言Python--第三大主流编程语言Python , 是一种面向对象的解释型计算机程序 ...
- 只需一步,DLA开启TableStore多元索引查询加速!
一.背景介绍 Data Lake Analytics(简称DLA)在构建第一天就是支持直接关联分析Table Store(简称OTS)里的数据,实现存储计算分离架构,满足用户基于SQL接口分析Tabl ...
- 安装go语言,配置环境及IDE,只需3步
安装go语言,配置环境及IDE,只需3步 ( 欢迎加入go语言群: 218160862 , 群内有实践) 第1.下载 go压缩包,解压 ,如果你是window系统,请选择go1.5.windows ...
- PDF怎么旋转页面,只需几步轻松搞定!
有时候我们下载一个PDF文件里面有页面是旋转的情况,用手机看的时候可以把手机旋转过来看,那么用电脑的时候总不可能也转过来看吧,笔记本是可以的台式的是不行的,这个时候我们就需要把PDF文件中旋转的页面转 ...
- vuex其实超简单,只需3步
前言 之前几个项目中,都多多少少碰到一些组件之间需要通信的地方,而因为种种原因,event bus 的成本反而比vuex还高, 所以技术选型上选用了 vuex, 但是不知道为什么,团队里的一些新人一听 ...
- 如何把C++的源代码改写成C代码?而C改C++只需一步!
★ 如何把C++的源代码改写成C代码? C++解释器比C语言解释器占用的存储空间要大,想要在某些特定场合兼容C++代码,同时为了节省有限的存储空间,降低成本,也为了提高效率,将用C++语言写的源程序用 ...
- 一、JavaScript实现AJAX(只需四步)
-----------------------------------------------一.JavaScript实现AJAX(只需四步)----------------------------- ...
- 只需3步,快来用AI预测你爱的球队下一场能赢吗?
摘要:作为球迷,我们有时候希望自己拥有预测未来的能力. 本文分享自华为云社区<用 AI 预测球赛结果只需三步,看看你爱的球队下一场能赢吗?>,作者:HWCloudAI. 还记得今年夏天的欧 ...
- 【代码更新】单细胞分析实录(21): 非负矩阵分解(NMF)的R代码实现,只需两步,啥图都有
1. 起因 之前的代码(单细胞分析实录(17): 非负矩阵分解(NMF)代码演示)没有涉及到python语法,只有4个python命令行,就跟Linux下面的ls grep一样的.然鹅,有几个小伙伴不 ...
随机推荐
- python 并发专题(五):离散事件仿真(事件循环生成器)
出租车队运营仿真 创建几辆出租车,每辆车会拉几个乘客,然后回家.出租车首先驶离车库,四处徘徊,寻找乘客:拉到乘客后,行程开始:乘客下车后,继续四处徘徊. 程序解释 程序的输出示例: 创建 3 辆出租车 ...
- hihoCoder 1037 数字三角形 最详细的解题报告
题目来源:hihoCoder 1037 数字三角形 解题思路:请好好看看 提示一.提示二.提示三 具体算法(java版,可以直接AC) import java.util.Scanner; public ...
- Websphere修改web.xml不生效的解决办法(转)
在websphere下部署了一个java工程后,如果修改了web.xml文件,重新启动这个java工程发现websphere并没有自动加载web.xml文件,即修改后的web.xml并不起作用,除非重 ...
- 第六章:Android的Drawable
Drawable表示的是一种可以在Canvas上进行绘制的抽象的概念. 6.1 Drawable简介 Drawable常被用来作为View的背景使用. Drawable一般都是通过XML来定义的. D ...
- Python Ethical Hacking - VULNERABILITY SCANNER(6)
EXPLOITATION - XSS VULNS EXPLOITING XSS Run any javascript code. Beef framework can be used to hook ...
- Python3 生成器解析
第6章 函数 6.1 函数的定义和调用 6.2 参数传递 6.3 函数返回值 6.4 变量作用域 6.5 匿名函数(lambda) 6.6 递归函数 6.7 迭代器 6.8 生成器 6.9 装饰器 6 ...
- 集训 T2-监考老师
大致题意: 找出一个位置可以选出最大的"横排总和+竖列总和". 基本思路 利用前缀和的思想在读入的时候把每一列每一行的总和都算出来, 然后暴力枚举每一个点,每一个点的答案就是这一行 ...
- 简单实用的办公软件导航网站,IT经理必备工具
最近非常忙,因为公司上线了业财一体化系统.今天分享一个非常实用的办公软件导航网站,节省了我很多百度的时间. 快氪导航,让软件服务更简单. 一.办公软件导航 站长已经按照功能进行了分类:协同办公,流程审 ...
- go : 连接数据库并插入数据
package main import ( "database/sql" "fmt" "log" "net/http" ...
- Java应用服务器之tomcat session server msm搭建配置
在上一篇博客中,我们介绍了tomcat自带的cluster组件配置session replication cluster,回顾请参考https://www.cnblogs.com/qiuhom-187 ...