对于企业来说,前途未卜的改变往往很难发生,就像航海一样,重复的往往是久经验证的安全航线,这点在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. 关于openssl的编译与使用

    关于openssl的编译与使用,可以参考这两往篇文章 http://blog.csdn.net/lazyclough/article/details/7456131 http://www.leaves ...

  2. HttpClient(五)-- 模拟表单上传文件

    1.maven依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId ...

  3. linux系统抓包命令

    IP地址抓包:tcpdump -i any host 1.1.1.2 -n 端口抓包: tcpdump -i any port 6789 -n wireshak工具抓包:tcp.port == 678 ...

  4. linux-find【递归搜索文件名】

    1 命令格式: $ find <指定目录> <指定条件> <指定动作>   最常见示例:查找文件名(忽略大小写) $find . -iname sqlquery.j ...

  5. VC利用调试寄存器实现硬件断点源码

    [文章标题]:VC利用调试寄存器实现硬件断点源码 [文章作者]:yhswwr(SilenceRet) [作者QQ]:3412259 [编写语言]:C++ [使用工具]:VS2008.VC++9 [本文 ...

  6. FileReader类和FileWriter类的基本用法示例

    package com.example.io; import java.io.File; import java.io.FileReader; import java.io.FileWriter; i ...

  7. 【转】java:Session(会话)机制详解

    书中讲:以下情况,Session结束生命周期,Servlet容器将Session所占资源释放:1.客户端关闭浏览器2.Session过期3.服务器端调用了HttpSession的invalidate( ...

  8. css3整理--rgba

    rgba语法: rgba(0, 0, 0,0.5); 第一个参数:R 红色(0-255) 第二个参数:G 绿色(0-255) 第三个参数:B 蓝色(0-255) 第四个参数:透明度(0-1)使用rgb ...

  9. css3整理--border-image

    border-image语法: border-image : none | <image> [ <number> | <percentage>]{1,4} [ / ...

  10. Eclipse 创建和读取yaml文件

    工具和用法: 1. eclipse插件包:org.dadacoalition.yedit_1.0.20.201509041456-RELEASE.jar 用法:将此jar包复制到eclipse-jee ...