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

在数字化时代,企业需要更快更灵活的交付来支持业务运营,这种迫切的需求促成了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. Codeforces Round #539 div2

    Codeforces Round #539 div2 abstract I 离散化三连 sort(pos.begin(), pos.end()); pos.erase(unique(pos.begin ...

  2. 【Python全栈】HTML <!--...--> 注释 、CSS/JS //注释 和 /*.....*/ 注释

    HTML <!--...--> 注释 .CSS/JS //注释 和 /*.....*/ 注释 <!-- -->是HTML的注释标签,使用 < 和 > 是符合HTML ...

  3. python基础(13)-面向对象

    类 类的定义和使用 # class Person: def __init__(self, name, age, gender): self.name = name self.age = age sel ...

  4. eclipse web module版本问题:Cannot change version of project facet Dynamic Web Module to 2.5.

    Description    Resource    Path    Location    TypeCannot change version of project facet Dynamic We ...

  5. python selenium webdriver入门基本操作

    python selenium webdriver入门基本操作 未经作者允许,禁止转载! from selenium import webdriver import time driver=webdr ...

  6. nginx rewrite 指令

    ginx通过ngx_http_rewrite_module模块支持url重写.支持if条件判断,但不支持else. 该模块需要PCRE支持,应在编译nginx时指定PCRE源码目录, nginx安装方 ...

  7. java之连接数据库之JDBC访问数据库的基本操作

    1.将数据库的JDBC驱动加载到classpath中,在基于JavaEE的web应用实际开发过程中通常要把目标数据库产品的JDBC驱动复制到WEB—INF/lib下. 2.加载JDBC驱动并将其注册到 ...

  8. LinQ各种方式查询、组合查询、IQueryable集合类型

    1.模糊查询(包含) Repeater1.DataSource = con.car.Where(r =>r.name.Contains(s)).ToList(); 2.开头查询 Repeater ...

  9. IDEA中文出现乱码解决(转)

    转自:http://lcl088005.iteye.com/blog/2284696 我是个idea的忠实用户,新公司的项目都是用eclipse做的,通过svn拉下代码后发现,注释的内容里,中文内容都 ...

  10. Filter中request对象强转问题

    以下为过滤器doFIlter方法的源代码: public void doFilter(ServletRequest request, ServletResponse response, FilterC ...