对于企业来说,前途未卜的改变往往很难发生,就像航海一样,重复的往往是久经验证的安全航线,这点在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. [AX2012]代码更改默认财务维度

    在前文(http://www.cnblogs.com/duanshuiliu/p/3243048.html)最后演示了如何使用代码更改默认财务维度,那段代码模拟了创建各数据表记录的过程,实际上AX提供 ...

  2. [AX2012]关于财务默认维度

    和以前的版本一样,AX2012中很多地方都使用财务维度,比如客户.销售订单.销售订单行等,根据相应的财务维度设置,生成的相应财务分录将带有财务维度,方便后续对财务分录交易的分析.下图是在客户记录上设置 ...

  3. 屏蔽win10中文输入法

    Windows 10自带的默认输入法,是通过Shift键来切换中/英文,这样为玩一些不需要打字,却需要使用Shift键的游戏带来了不便,比如,在进行游戏的时候,按下Shift键后,再按跳跃.射击等键, ...

  4. my97date 时间范围限制

    需求:根据开始时间,动态限制结束时间 实现: <!DOCTYPE html> <html lang="en"> <head> <meta ...

  5. BootStrap Table将时间戳更改为日期格式

    一.使用BootStrap Table遇到的问题: 1.MyBatis从数据库中取出的时间格式如下:2017-12-04 21:43:19.0,时间后面多了一个点零. 2.从BootStrap Tab ...

  6. Linux 上安装oracle客户端

    1. 下载安装包 http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html oracle-instantclient11 ...

  7. [C] 如何使用头文件 .h 编译 C 源码

    在 C 语言中,头文件或包含文件通常是一个源代码文件,程序员使用编译器指令将头文件包含进其他源文件的开始(或头部),由编译器在处理另一个源文件时自动包含进来. 一个头文件一般包含类.子程序.变量和其他 ...

  8. 当进行make命令学习是出现error trying to exec 'cc1': execvp: No such file or directory

    进行编译的时候总是会出现这种状况 error trying to exec 'cc1': execvp: No such file or directory 自己把程序改了又改,改的很简单之后还是出现 ...

  9. Swift - 3.0 去掉 C 风格循环

    Swift 3.0 版本去掉了沿用已久的 C 风格循环语法, 又是向现代开发语言的一次迈进, 咱们就来看看没了 C 风格循环我们还有什么选择 C 风格循环 关于 C 风格循环, 不我们过多介绍了, 就 ...

  10. 《转》Python学习(16)-python异常

    转自 http://www.cnblogs.com/BeginMan/p/3171445.html 一.什么是错误,什么是异常,它们两者区别 这里解释如下:个人觉得很通俗易懂 错误是指在执行代码过程中 ...