【摘要】 在参考业界方法并总结客户成功故事的基础上,本文提出了“七步法”路线图,希望能帮助更多的企业顺利进行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步的更多相关文章

  1. 为什么学Python语言,只需四步全面了解Python语言

    为什么学Python语言,只需四步全面了解Python语言每个时代都会悄悄犒赏会选择的人,Python现在风口的语言Python--第三大主流编程语言Python , 是一种面向对象的解释型计算机程序 ...

  2. 只需一步,DLA开启TableStore多元索引查询加速!

    一.背景介绍 Data Lake Analytics(简称DLA)在构建第一天就是支持直接关联分析Table Store(简称OTS)里的数据,实现存储计算分离架构,满足用户基于SQL接口分析Tabl ...

  3. 安装go语言,配置环境及IDE,只需3步

    安装go语言,配置环境及IDE,只需3步 ( 欢迎加入go语言群: 218160862 , 群内有实践) 第1.下载 go压缩包,解压   ,如果你是window系统,请选择go1.5.windows ...

  4. PDF怎么旋转页面,只需几步轻松搞定!

    有时候我们下载一个PDF文件里面有页面是旋转的情况,用手机看的时候可以把手机旋转过来看,那么用电脑的时候总不可能也转过来看吧,笔记本是可以的台式的是不行的,这个时候我们就需要把PDF文件中旋转的页面转 ...

  5. vuex其实超简单,只需3步

    前言 之前几个项目中,都多多少少碰到一些组件之间需要通信的地方,而因为种种原因,event bus 的成本反而比vuex还高, 所以技术选型上选用了 vuex, 但是不知道为什么,团队里的一些新人一听 ...

  6. 如何把C++的源代码改写成C代码?而C改C++只需一步!

    ★ 如何把C++的源代码改写成C代码? C++解释器比C语言解释器占用的存储空间要大,想要在某些特定场合兼容C++代码,同时为了节省有限的存储空间,降低成本,也为了提高效率,将用C++语言写的源程序用 ...

  7. 一、JavaScript实现AJAX(只需四步)

    -----------------------------------------------一.JavaScript实现AJAX(只需四步)----------------------------- ...

  8. 只需3步,快来用AI预测你爱的球队下一场能赢吗?

    摘要:作为球迷,我们有时候希望自己拥有预测未来的能力. 本文分享自华为云社区<用 AI 预测球赛结果只需三步,看看你爱的球队下一场能赢吗?>,作者:HWCloudAI. 还记得今年夏天的欧 ...

  9. 【代码更新】单细胞分析实录(21): 非负矩阵分解(NMF)的R代码实现,只需两步,啥图都有

    1. 起因 之前的代码(单细胞分析实录(17): 非负矩阵分解(NMF)代码演示)没有涉及到python语法,只有4个python命令行,就跟Linux下面的ls grep一样的.然鹅,有几个小伙伴不 ...

随机推荐

  1. python 并发专题(五):离散事件仿真(事件循环生成器)

    出租车队运营仿真 创建几辆出租车,每辆车会拉几个乘客,然后回家.出租车首先驶离车库,四处徘徊,寻找乘客:拉到乘客后,行程开始:乘客下车后,继续四处徘徊. 程序解释 程序的输出示例: 创建 3 辆出租车 ...

  2. hihoCoder 1037 数字三角形 最详细的解题报告

    题目来源:hihoCoder 1037 数字三角形 解题思路:请好好看看 提示一.提示二.提示三 具体算法(java版,可以直接AC) import java.util.Scanner; public ...

  3. Websphere修改web.xml不生效的解决办法(转)

    在websphere下部署了一个java工程后,如果修改了web.xml文件,重新启动这个java工程发现websphere并没有自动加载web.xml文件,即修改后的web.xml并不起作用,除非重 ...

  4. 第六章:Android的Drawable

    Drawable表示的是一种可以在Canvas上进行绘制的抽象的概念. 6.1 Drawable简介 Drawable常被用来作为View的背景使用. Drawable一般都是通过XML来定义的. D ...

  5. Python Ethical Hacking - VULNERABILITY SCANNER(6)

    EXPLOITATION - XSS VULNS EXPLOITING XSS Run any javascript code. Beef framework can be used to hook ...

  6. Python3 生成器解析

    第6章 函数 6.1 函数的定义和调用 6.2 参数传递 6.3 函数返回值 6.4 变量作用域 6.5 匿名函数(lambda) 6.6 递归函数 6.7 迭代器 6.8 生成器 6.9 装饰器 6 ...

  7. 集训 T2-监考老师

    大致题意: 找出一个位置可以选出最大的"横排总和+竖列总和". 基本思路 利用前缀和的思想在读入的时候把每一列每一行的总和都算出来, 然后暴力枚举每一个点,每一个点的答案就是这一行 ...

  8. 简单实用的办公软件导航网站,IT经理必备工具

    最近非常忙,因为公司上线了业财一体化系统.今天分享一个非常实用的办公软件导航网站,节省了我很多百度的时间. 快氪导航,让软件服务更简单. 一.办公软件导航 站长已经按照功能进行了分类:协同办公,流程审 ...

  9. go : 连接数据库并插入数据

      package main import ( "database/sql" "fmt" "log" "net/http" ...

  10. Java应用服务器之tomcat session server msm搭建配置

    在上一篇博客中,我们介绍了tomcat自带的cluster组件配置session replication cluster,回顾请参考https://www.cnblogs.com/qiuhom-187 ...