​​关注嘉为科技,获取运维新知

在数字化时代,企业需要更快更灵活的交付来支持业务运营,这种迫切的需求促成了DevOps的高速发展,成为了企业获得竞争优势的关键。尽管大家都知道DevOps给业务带来的好处,但由于不知道如何在企业中实际落地DevOps,许多企业仍然难以从中获益。

“目前,Devops还在不断的演变,缺乏标准的定义和方法论,并且会带来管理上的风险,这些不确定的因素让许多企业对于是否实施DevOps仍犹豫不决。”Gartner研究总监George Spafford说。

虽然现在还没有业界达成共识的DevOps实施阶段,但Spafford建议I&O(基础架构和运营)领导者们,采取如下八个基本步骤可以让DevOps计划顺利的启动和执行。

1、确定业务需求

在启动DevOps计划之前,首先应该避免没有业务需求而强行为了上DevOps而上DevOps,方法和工具永远没有客户需求重要。

“例如,不要把关注点放在更快的发布上面,而要思考,通过更快的发布能带来什么商业价值。”Spafford解释道。“通过提高APP的发布率,我们将能够更快地进行创新,从而支持销售和营销策略,推动客户通过APP下单。这才是启动DevOps计划的理由。成功的企业知道他们希望从DevOps中实现什么样的商业利益。”

2、在您的企业中重新定义DevOps

Gartner将DevOps定义为一种,使用敏捷方法、协同和自动化,由业务驱动的交付解决方案。但在实际落地的过程中,您应该根据将要实现的业务目标,重新定义DevOps,以便让企业上下的人更容易理解。甚至您可以写一条简短明确的标语做成横幅悬挂在办公室,让大家目标清晰、理念一致,齐心协力朝同一个方向努力。

3、选择“先行者”程序

DevOps在部署前,需要满足下面的三个条件:

  • 环境友好:宽松友好的工作环境,意味着可以有人可以成为“先行者”,第一个站出来进行倡议,并得到大家积极正面的尝试。

  • 价值认同:先行者需要阐明DevOps带来的价值,并获得大家的认同和支持。

  • 风险接受:由于DevOps的模糊性和不确定性,许多人将其视为一场冒险,拒绝DevOps转型。我们可以制定一个风险收益表,列明不同收益相对的可接受的风险水平,DevOps项目中涉及到的每个人:IT、运营、开发、信息安全、监管合规和审计等都应对此有清晰的认识,接受其可能存在的风险。

“DevOps的核心用例是敏捷开发和一些具有相当大不确定性的场景,例如机器学习和物联网(IoT)。但其实DevOps理念可以被广泛应用,在其他领域我们也可以引入DevOps的概念,”Spafford说。“当然,最好先将DevOps用于系统方面的创新,因为现有的功能可能无法支撑诸如大数据、机器学习、物联网等举措。”

4、确定初始团队

人,是确保DevOps 计划成功落地的主要组成部分。选择初始团队的成员时,相对于这个人所掌握的IT技能,我们更应该注重他所呈现出来的状态。技能可以慢慢教会,但好的状态却很难教会。负面的行为状态会让其他人对DevOps的努力付诸东流。我们应该寻找聪明、积极主动、可以理解并承受风险、善于终身学习、能接受新式工作方式的,这样的一个优秀的团队成员。

5、设定目标和考核指标

人是DevOps计划中最重要的部分,找到并实施正确的激励方向至关重要。

Spafford说:“在许多传统组织中,目标是按照部门设定的,IT部门的考核指标已经固化,以解决问题为标准。而在DevOps计划中,需要从团队层面设置目标,与团队的业务目标保持一致。DevOps团队成员必须意识到他们都有相同的目标。考核指标和激励措施的设定方向,需以鼓励团队合作实现业务目标来定,而不是偏向于风险管理或者是个人解决问题的能力。”

6、找到限制因素

I&O领导者应该找到限制生产力的最大瓶颈。DevOps是一种全新的、充满变化的系统,将其上线到生产的过程中时,会有一个制约其生产力的最大的限制因素。找到这个最大的限制因素,DevOps团队可以清晰的知道是什么打乱了节奏、扯了后腿,从容解决这个瓶颈。

7、开发工具链

真正的DevOps要实现的总体目标包括一个集成的工具链,该工具链支持评估和选择工具,以便在应用程序生命周期中,每个工具都可以与其相邻的工具松散地耦合。通过工具链,链接所有的自动化接触点和信息流可加快版本发布速度,同时减少错误、缺陷、返工和停机。这将使每个阶段所使用的工具保持一致,并提供全新的视图,发现在阶段内或者不同阶段之间,哪里需要进行自动化、集成或者是切换工具。

8、准备好了再扩展DevOps的规模

太多的公司错误地认为,在启动DevOps之前,需要扩展DevOps的规模才能获得更多的支持。这将导致恶性循环:不知道如何扩展DevOps,他们无法启动项目;而且因为他们无法启动项目,他们无法搞懂如何去做扩展。

“在切实准备好之前,不要试图扩展DevOps项目,以免损害已经看到的成效。”Spafford建议道。

“相反,将你的团队聚集在一起,开始朝着看起来最明朗的方向前进,并解决途中遇到的限制。在人的能力、技术的能力和流程方面的学习和进步需要同步进行。变革带来的技术债务不可避免,但学会管理债务也是新模式的一部分。”

本文翻译自Gartner文章:《8 Steps to Get DevOps Right》

原文链接:https://www.gartner.com/smarterwithgartner/8-steps-to-get-devops-right/

翻译:嘉为科技

转载请注明出处

8个让DevOps转型取得成功的关键步骤的更多相关文章

  1. 企业玩转DevOps转型:由弱到强,只需7步

    [摘要] 在参考业界方法并总结客户成功故事的基础上,本文提出了“七步法”路线图,希望能帮助更多的企业顺利进行DevOps转型. 从2009年诞生,DevOps已经悄然走过了10多个年头.Gartner ...

  2. 「DevOps 转型与实践」沙龙回顾第一讲

    9 月 19 日,CODING 和中国 DevOps 社区联合举办的深圳第九届 Meetup 在腾讯大厦 2 楼多功能圆满结束.本次沙龙以 「DevOps 转型与实践」 为主题,4 位来自互联网.金融 ...

  3. DevOps转型到底值不值?

    摘要:企业进行DevOps转型是否有价值?是否能计算出明确的投资回报率呢?本文将为您解惑. 本文分享自华为云社区<DevOps转型到底值不值?>,作者:敏捷小智 . 引言 企业都是以盈利为 ...

  4. IPD体系向敏捷开发模式转型实施成功的四个关键因素

    文/杨学明  集成产品开发(IPD).集成能力成熟度模型(CMMI).敏捷开发(Agile Development)是当前国内外企业产品研发管理的最常用的3种模式.随着创新环境的快速发展,许多企业都会 ...

  5. 实战:阿里巴巴 DevOps 转型后的运维平台建设

    导读:阿里巴巴DevOps转型之后,运维平台是如何建设的?阿里巴巴高级技术专家陈喻结合运维自身的理解,业务场景的分析和业界方法论的一些思考,得出来一些最佳实践分享给大家.   前言   “我是这个应用 ...

  6. 阿里巴巴 DevOps 转型后的运维平台建设

    原文:http://www.sohu.com/a/156724220_262549 本文转载自公众号「DevOps 时代」,高效运维社区致力于陪伴您的职业生涯,与您一起愉快的成长. 作者简介: 陈喻( ...

  7. DevOps 转型到底难不难(转自成哥的世界)

    原文:https://mp.weixin.qq.com/s/QwZf6ZsKGNT6YyereSmpQg DevOps 自 2009 年诞生以来,至今整整过去了十年,从最初的摸索,逐步变成一种主流的软 ...

  8. 华为精益敏捷专家:DevOps转型中的那些坑

    陈军--原腾讯高级项目经理.华为精益敏捷专家 DevOps是现在非常流行的一个词,很多人都在提DevOps,在往那个方向去转,但转的时候坑特别多. 现实是很理想的,大家都觉得做了DevOps之后就会非 ...

  9. 108天南京银行完成不可能完成的新金融DevOps转型

    在2018云栖大会南京峰会企业研发云专场,由南京银行研发管理负责人吴攀带来了“云效助力新金融DevOps转型——南京银行实践之路”的主题分享.首先对南京银行的研发规模与成长做了介绍,对“鑫云+”的诞生 ...

随机推荐

  1. sql 查分数段人数

    select count(case 分数字段 when 100 then 1 end) as [满分],count(case when 分数字段 between 90 and 99 then 1 en ...

  2. java代码操作solr搜索引擎的增删查改

    所需的包如图: 代码如下:package solr; import java.util.List;import java.util.Map; import org.apache.solr.client ...

  3. SpringMVC控制器方法参数传入的ModelMap 和Model类型有啥区别

    参考 http://blog.csdn.net/u013067598/article/details/69372309 http://blog.csdn.net/u013686993/article/ ...

  4. js对象属性名驼峰式转下划线

    一.题目示例: 思路: 1.匹配属性名字符串中的大写字母和数字 2.通过匹配后的lastIndex属性获取匹配到的大写字母和数字的位置 3.判断大写字母的位置是否为首位置以及lastIndex是否为0 ...

  5. 探讨JS合并两个数组的方法

    我们在项目过程中,有时候会遇到需要将两个数组合并成为一个的情况. 比如: var a = [1,2,3]; var b = [4,5,6]; 有两个数组a.b,需求是将两个数组合并成一个.方法如下: ...

  6. bzoj4195(并查集+离散化)

    题目大意:给出n个变量互相的相等或不等关系,求这些关系是否矛盾 思路:把相等的变量加入并查集,不等的查询是否合法 eg:数据很大,离散化(然而我用的是map) #include<stdio.h& ...

  7. jQuery实现购物车物品数量的加减

    基于jquery的一款代码,实现购物车数据的加减,在淘宝网.京东商城购物时时经常见到的一个功能,点击文本框两侧的“+”与“-”,就可以增加或减少文本框内的数字值,每次步长为1,当然这个是可以自己设置的 ...

  8. Java基础(basis)-----关键字final和static的作用

       1.关键字final      final修饰类:这个类就不能被继承      final修饰方法:不能被重写      final修饰属性:此属性就是一个常量,一旦初始化后,不可再被赋值.习惯 ...

  9. thymeleaf 添加语法提示

    thymeleaf 添加语法提示: xmlns:th="http://www.thymeleaf.org"

  10. 使用sp_addlinkedserver、sp_dropserver 、sp_addlinkedsrvlogin和sp_droplinkedsrvlogin 远程查询数据

    一.sp_addlinkedserver  创建链接服务器. 链接服务器让用户可以对 OLE DB 数据源进行分布式异类查询. 在使用 sp_addlinkedserver 创建链接服务器后,可对该服 ...