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

    目录 一.解决浮动带来的影响 二.溢出属性 三.定位 四.验证浮动和定位是否脱离文档流 五.z-index模态框 六.透明度opacity 七.js简介 一.解决浮动带来的影响 块级标签内的浮动如果该 ...

  2. 深度理解SpringIOC,面试你根本不需要慌!

    文章已托管到GitHub,大家可以去GitHub查看阅读,欢迎老板们前来Star! 搜索关注微信公众号 码出Offer 领取各种学习资料! 深度理解Spring IOC(控制反转) 一.IOC概述 I ...

  3. TCP 进阶

    转自: https://www.cnblogs.com/caoyusongnet/p/9087633.html 一. 端口号 标准的端口号由 Internet 号码分配机构(IANA)分配.这组数字被 ...

  4. 理解Spring(一):Spring 与 IoC

    目录 什么是 Spring Spring 的整体架构 什么是 IoC Bean 的概念 Spring 的基本使用 Spring 的两种 IoC 容器 Spring 容器的基本工作原理 Spring B ...

  5. OSCP Learning Notes - Exploit(4)

    Client Side Attacks Tool: setoolkit 1. Start setoolkit on Kali Linux. setoolkit 2. Select 1) Social- ...

  6. Linux好学吗?怎么自学Linux?6个值得你去学习Linux的理由!

    两个多月前,我对日常工作做出了一个非常重要的决定-我决定从Windows切换到Linux,将其作为个人和办公笔记本电脑的主要系统.除了开始时一些小的驱动程序问题之外,切换非常平稳,我不会考虑返回.如果 ...

  7. nvm配置及常用指令、配置全局node_global

    1.nvm-windows下载 nvm下载链接点击最新版本nvm-setup.zip下载安装即可. 2.配置nvm环境变量(安装nvm会默认配置,可忽略) 环境变量打开方式:右键此电脑 > 属性 ...

  8. Java 线程与同步的性能优化

    本文探讨的主题是,如何挖掘出Java线程和同步设施的最大性能. 1.线程池与ThreadPoolExecutor 1)线程池与ThreadPoolExecutor 线程池的实现可能有所不同,但基本概念 ...

  9. 大型Java进阶专题(九) 设计模式之总结

    前言 ​ 关于设计模式的文章就到这里了,学习这门多设计模式,你是不是有这样的疑惑,发现很多设计模式很类似,经常会混淆某些设计模式.这章节我们将对设计模式做一个总结,看看各类设计模式有什么区别.需要注意 ...

  10. vue组件库用markdown生成文档

    前言: 开发vue组件库需要提供组件的使用文档,最好是有渲染到浏览器的demo实例,既能操作又能查看源代码.markdown作为常用的文档编写载体,如果能在里面直接写vue组件,同时编写使用说明就再好 ...