对于企业来说,前途未卜的改变往往很难发生,就像航海一样,重复的往往是久经验证的安全航线,这点在DevOps文化的构建上同样如此。近日,CA Technologies的高级策略师Peter Waterhouse撰写了企业构建DevOps文化的5点建议,由OneAPM工程师翻译。

以下为译文

基于我们的认知,在食物链中人类和其他动物并无二致,都遵循以生存为基础的行为模式。如果我们今天吃的食物没有问题,明天就会继续吃。如果我们能在一条没有危险的路线上航行,就会一次又一次重复地按原路往返。

上面的比喻很恰当地解释了“改变之路异常艰难”的说法。进化史教会我们尽量避免那些可能导致伤害或死亡的东西,无论是在生活还是在商业中。

但是,商业丛林的瞬息万变远远超过以往任何时候,快节奏和无处不在的技术革新已经残忍地摧毁曾经一成不变的商业模式。现在我们正面临选择,是从安乐窝中走出来还是被活活吃掉。

当下,企业需要常规和持续的创新,但还有许多企业仍然更习惯在安全模式下操作,这个问题亟待解决。对于这些企业,对改变的恐惧占据着统治地位——即使公司失去市场份额,人才也在迅速流失。

如果领导层幡然醒悟要致力于建设创新文化,情况仍然有所转机。在IT业这点尤其重要,因为IT行业正是创新的发源之地。为了抓住这次机会,众多企
业纷纷向敏捷方法和DevOps抛出橄榄枝——选择快速且高质量交付的软件实践。在构建文化的过程中,每一步都不容易。以下五个建议会有助于构建成功的
DevOps:

1. 避免将DevOps与其他团队隔离——任何新举措的实施自然倾向于组建一个独立的团队。大多时候,这意味着会引入一些外部专家,在开发和运营部门选出最有利最优秀的内部人才组合,然后进行明显不同于其余IT部门的操作。

但我们必须记住,DevOps不是功能,而是开发和运维共同合作的一种模式。因此,构建一个独立团队无非是创建另一个silo,因为“精英”团队往往会制造更多的摩擦,阻碍构建的进程。

DevOps团队在程序的早期生产阶段有重要价值,但只作为一种过渡性的实践。在这种情况下,团队成员被特许来传播知识;构建跨企业的桥梁,深入实践后即解散并深根于企业。

2. 即使是精英,也不能是“破坏性”的自恋狂——强大的DevOps文化基于合作和同理心;成员之间可以分享成功,也能从失败中汲取教训。但是,如果新的举措由那些追名夺利的人来主导——尤其看重个人荣誉和福利的人,必然会影响DevOps文化的构建。

但现实常常事与愿违,这类人总是精力充沛,非常适合率领新兴的重要文化变革举措。但能量和智慧不一定相符,所以在组建团队时,更需要的是善于思考的人,而非夸夸其谈者。那些可能是性格内向的人,有着丰富知识和情感智慧的网虫们,往往更能促进建立一个生机勃勃的文化。



3. 奖励奇思妙想和疯狂创意。
有没有想过那些类似AirBnB的卓越商业创意是从哪里来的?大概就是那些喜欢不断制造问题来挑战现状的人,提出这样的想法——为什么不把空置房间转化为盈利的小酒店呢?

在DevOps环境下,我们可以使用类似的方法。在过程执行时寻找方法,再根据直觉提出可替代方法。例如,如果变革管理过程是完全错误的,我们是否可以找到提高敏捷开发自动化的方法?为什么我们要等待生产监控,如果在编程和测试中创建监控,能否进一步提高弹性?

强大的DevOps文化总会大方地鼓励优秀的创意,并予以嘉奖。否则,伟大的想法则会迷失方向或遭到忽视,甚至更糟地被那些精英和自恋狂所抹杀。

4. 尊重失败——如果你想打退堂鼓,通过以往的失败经历寻找一个放弃的理由并不难。正如有人这样说“我们在5年前就尝试过敏捷策略,但它就是一架空壳——DevOps也不会好到哪里去!”悲观主义正如毒药会侵入人心,在关上风险大门的同时,也阻碍了探索数字化未来的道路。

没有人喜欢谈论失败,但推进DevOps的关键是在出现问题时,可以勇于承担错误。失败是把双刃剑,重点在于是否能从每次失败中获得学习经验。避口不谈并不能解决问题,还不如把它们当作建立美好未来的垫脚石。

所以,从失败中走出来,需要团队间的相互支持。管理应该双管齐下,既建立奖励合理冒险的激励机制,同时消除任何可能扼杀创新思维的制度。

5. 提升人和进程的规范——即使伟大的DevOps工具,DevOps也不提供任何不良进程或企业间摩擦所的优化途径。在大多数情况下,缺陷和延迟仍然归咎于那些实施严格政策,或依靠人工及容易出错的传递流程。

从制造业借鉴的一种好方法是在企业中采取“value walk”。这需要花时间与工作中的人进行交互(开发、测试、发布等)——不是为了发现错误,而是理解那些可能会增加浪费和技术债务压力的情景,然后可以从自动化上得到补救。

DevOps最近确实非常热门,但是不要被带偏,改变仍然举步维艰。在开始“DevOps”之前,必须确保你有合适的领导、同事和变革的思想,让每个人都积极参与其中,才能开启完美的蜕变之旅。

原文链接:5 Tips for Building a Winning DevOps Culture(责编/仲浩)

5 Tips for Building a Winning DevOps Culture的更多相关文章

  1. Tips on Building WebRTC on Windows

    Problem: Git ask me to input git user and password Solution: Set environment variable SET DEPOT_TOOL ...

  2. 给 DevOps 初学者的入门指南

    当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念.那么,到底什么是"DevOps"呢? 什么是DevOps 随着软件发布迭代 ...

  3. Must Know Tips/Tricks in Deep Neural Networks

    Must Know Tips/Tricks in Deep Neural Networks (by Xiu-Shen Wei)   Deep Neural Networks, especially C ...

  4. Must Know Tips/Tricks in Deep Neural Networks (by Xiu-Shen Wei)

    http://lamda.nju.edu.cn/weixs/project/CNNTricks/CNNTricks.html Deep Neural Networks, especially Conv ...

  5. DevOps 初学者的入门指南

    原文地址:http://blog.csdn.net/FIRim/article/details/52681704 当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及 ...

  6. 什么是 DevOps?看这一篇就够了!

    本文作者:Daniel Hu 个人主页:https://www.danielhu.cn/ 目录 一.前因 二.记忆 三.他们说-- 3.1.Atlassian 回答"什么是 DevOps?& ...

  7. 《Migrating to Cloud-Native Application Architectures》学习笔记之Chapter 2. Changes Needed 原

    Cultural Change 文化变革 A great deal of the changes necessary for enterprise IT shops to adopt cloud-na ...

  8. Cheatsheet: 2016 08.01 ~ 08.31

    .NET Getting Started with ASP.NET Core and VS Code Coding Standard Best Practices In C# Wire – Writi ...

  9. Caching Tutorial

    for Web Authors and Webmasters This is an informational document. Although technical in nature, it a ...

随机推荐

  1. VS2013 未找到與約束ContractName...

    windows 2008 r2 上面裝的VS2013, 在某一天系統更新之後,再次打開VS項目的時候就出現了上面那個問題 解決方法,打開控制面板,找到下面這個程序,右擊,修復即可

  2. TTL值

    我们在解析域名时经常出现 TTL 这个字段,里面默认写的是 10 分钟. 另外,有时候我们 ping 某域名或 IP 的时候,会出现 TTL= XXX. 一.什么是域名的 TTL 值? TTL(Tim ...

  3. Webgoat学习笔记

    Webgoat 分为简单版和开发版,具体版本及安装方法详见:https://github.com/WebGoat/WebGoat 本机环境为:Windows+Tomcat,故下载war包,自动解压缩进 ...

  4. Git 学习笔记--3.EGit使用手册

    zz http://blog.csdn.net/pandakong/article/details/7234974 EGit是Eclipse上的Git插件,官方内容参看http://wiki.ecli ...

  5. 执行automake时报错 error while making link: Operation not supported

    执行automake时报错: [root@localhost project]# automake --add-missingconfigure.in: installing `./install-s ...

  6. iOS - 扩展UIButton的响应区域

    扩展UIButton的响应区域 引言 通常在iOS开发中通常会遇到产品说按钮的响应区域不大 而UI给我们的设计是按钮的面积 而不是按钮的响应面积 所以在这种情况下需要我们自己去扩展按钮的响应区域 思考 ...

  7. 【Java知识点专项练习】之 数据类型两大类

    Java的数据类型分为两大类:基本类型和引用类型: 基本类型只能保存一些常量数据,引用类型除了可以保存数据,还能提供操作这些数据的功能: 为了操作基本类型的数据,java也对它们进行了封装, 得到八个 ...

  8. 网络编程之HttpClient类(转)

    12.2 网络编程之HttpClient类 除了可以使用HttpWebRequest类来实现HTTP网络请求之外,我们还可以使用HttpClient类来实现.对于基本的请求操作,HttpClient类 ...

  9. Material Design系列第二篇——Getting Started

    Getting Started This lesson teaches you to Apply the Material Theme Design Your Layouts Specify Elev ...

  10. Android自定义组件——四个方向滑动的菜单实现

    今天无意中实现了一个四个方向滑动的菜单,感觉挺好玩,滑动起来很顺手,既然已经做出来了就贴出来让大家也玩弄一下. 一.效果演示 (说明:目前没有安装Android模拟器,制作的动态图片太卡了,就贴一下静 ...