5 Tips for Building a Winning DevOps Culture
对于企业来说,前途未卜的改变往往很难发生,就像航海一样,重复的往往是久经验证的安全航线,这点在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的更多相关文章
- Tips on Building WebRTC on Windows
		Problem: Git ask me to input git user and password Solution: Set environment variable SET DEPOT_TOOL ... 
- 给 DevOps 初学者的入门指南
		当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念.那么,到底什么是"DevOps"呢? 什么是DevOps 随着软件发布迭代 ... 
- 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 ... 
- 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 ... 
- DevOps 初学者的入门指南
		原文地址:http://blog.csdn.net/FIRim/article/details/52681704 当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及 ... 
- 什么是 DevOps?看这一篇就够了!
		本文作者:Daniel Hu 个人主页:https://www.danielhu.cn/ 目录 一.前因 二.记忆 三.他们说-- 3.1.Atlassian 回答"什么是 DevOps?& ... 
- 《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 ... 
- Cheatsheet: 2016 08.01 ~ 08.31
		.NET Getting Started with ASP.NET Core and VS Code Coding Standard Best Practices In C# Wire – Writi ... 
- Caching Tutorial
		for Web Authors and Webmasters This is an informational document. Although technical in nature, it a ... 
随机推荐
- 品鉴同事发来的炸金花的PHP程序代码
			今天同事发来了一个炸金花的PHP程序,这个代码实现了两个人通过各自的三张牌进行权重计算,得到分数进行比较得到谁的牌大,我觉得里面还有一些问题,代码如下: <?php /** 每张牌的分值为一个2 ... 
- 给sharepoint某列表项单独赋予权限
			/// <summary> /// 列表项事件 /// </summary> public class EventReceiver2 : SPItemEventReceiver ... 
- Ansible Playbook 使用变量
			如何在 Playbook 中定义并使用变量: vars: - user: "test" # 定义变量 tasks: - name: create user user: name=& ... 
- 关于RabbitMQ交换机的理解
			RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性.扩展性.高可用性等方面表现不俗.消息中间件主要用于组件之间的解耦,消 ... 
- 【node.js】Error: CERT_UNTRUSTED
			背景 : 在linux centos7 上 进行npm 命令是报错: Error: CERT_UNTRUSTED 解决办法: 关掉HTTPS就好了 npm config set strict-ssl ... 
- 【Phalapi2.0】 如何使用 source  通过 header 传参数
			做接口服务时候.有些场景会使用header 来传递参数. 查看官网文档说明 数据来源 source指定当前单个参数的数据来源,可以是post.get.cookie.server.request.hea ... 
- Shell find命令详解
			查找文件find ./ -type f 查找目录find ./ -type d 查找名字为test的文件或目录find ./ -name test 查找名字符合正则表达式的文件,注意前面的‘.*’(查 ... 
- 【大数据系列】HDFS文件权限和安全模式、安装
			HDFS文件权限 1.与linux文件权限类型 r:read w:write x:execute权限x对于文件忽略,对于文件夹表示是否允许访问其内容 2.如果linux系统用户sanglp使用hado ... 
- C# 中文日期  周几
			//该语句显示的为英文格式 DateTime.Now.DayOfWeek.ToString(); //显示中文格式星期几 "星期" + DateTime.Now.ToString( ... 
- jQuery事件处理(一)
			1.jQuery事件绑定的用法: $( "elem" ).on( events, [selector], [data], handler ); events:事件名称,可以是自定义 ... 
