原创:万金 来自《DevOps实施手册》“第6章:DevOps的企业级推广”的解读 发表与2018年6月24日 估计阅读时间12分钟

作者简介:
万金
《DevOps实施手册 在多级IT企业中使用DevOps》译者
15年知名外企与中国企业的IT从业经验,包括IBM,华为,ThoughtWorks 具有8年云计算相关经验,多系统的研发和运维经验,熟练掌握敏捷和DevOps方法论和实践,具有软件研发生命周期工具与流程改进丰富经验。
大型企业为什么没有实施DevOps?
本文讲述如何重新定义DevOps能力中心的组织目标与DevOps团队模式,解决大型企业推广过程中DevOps人才匮乏和缺少DevOps团队模型的问题。2009年,DevOps的诞生带来了软件发布质量和效率的大幅提升,但在之后的9年发展进程中,DevOps只在初创企业和互联网公司得到了应用,很少有传统企业实施DevOps的成功案例。原因在于DevOps不是一劳永逸的项目,需要持续改进文化,而大型企业的文化并不是为了创新而产生的,所以克服文化惰性,不断积累DevOps实践和DevOps人才是在大型企业推广DevOps变革的关键。2017年作者发表的文章《从集装箱历史看DevOps的发展进程》阐述了使用“3D原则”改变DevOps在研发和运维部门之间协作方式所带来的显著效率提升,说明将DevOps实践从部门内部扩展到整个公司层面,能够带来巨大的效率提升。
前情回顾
变革始于面对让你痛苦的事情起心动念,而推动变革的动力来自于统计数据给出的回报率。“相邻可能”给到斯蒂芬灵感,使用小鸡孵化器的技术研发出婴儿恒温箱,成为最伟大的发明。婴儿恒温箱快速推广的动力来自于斯蒂芬给出的关键调研数字:“使用恒温箱后新生儿死亡率从66%降低为38%”。从中得到启发,DevOps商业变革案例的成功,为团队实施DevOps变革指明方向。投资回报比(ROI)的统计数据则把DevOps变革作为一个投资项目,让变革获得资源投入。
发展中国家为什么没有普及婴儿恒温箱?
婴儿恒温箱还有一个产品迭代的故事,又是一个因为痛苦而起心动念的故事。二战后婴儿恒温箱在欧美发达国家的广泛使用,大大提高了新生儿的存活率。但是发展中国家婴儿的死亡率依然很高,如果有了婴儿恒温箱这些婴儿是可以存活下来的。
首先作为医疗设备的婴儿恒温箱售价为4万美元。价格成为第一个障碍,但不是最大的障碍。2005年,也是印尼海啸发生后的第二年,国际救援组织捐给印尼八台婴儿恒温箱。三年后的2008年,麻省理工学院的教授普赖斯蒂洛去访问印尼,发现这八台恒温箱全部出现了故障,无法使用了。
复杂的设备一定会有某些组件出现故障的情况发生,而当地的工作人员看不懂恒温箱的英文维修手册,只能任由婴儿死去。很多案例表明,捐给不发达地区的技术设备中,大约有95%的设备会在5年内因为故障无法投入使用。
重新定义恒温箱
既然在前5年时间里,95%的技术设备都会出现故障,那么找到维修人员和备件就是解决恒温箱普及问题的关键所在。于是普赖斯蒂洛教授重新定义了婴儿恒温箱的产品需求:
首先是提高可靠性和降低制造成本;
更重要的是一旦出现故障,设备不会完全瘫痪;
通过替换备件方式修理后就可以再次投入使用。
新的产品定义并没有对恒温箱的功能进行任何改变:提供恒温,透气的保障性空间。而是对恒温箱的非功能需求进行重新定义,从而改变与外部资源的协作关系。
如何方便的找到维修人员和备件?
普赖斯蒂洛教授完成了对产品的重新定义后,波士顿的罗森医生提出了解决方法。罗森发现任何一个发展中国家的小城镇都有汽车的维修和保养能力。即使这些城镇里缺少空调、笔记本电脑或者是有线电视,也都能确保汽车可以在公路上行驶。

于是罗森就向普赖斯蒂洛提议:可不可以使用汽车零部件,改良出一种简易的婴儿恒温箱?三年之后,普赖斯蒂洛团队做出了新的婴儿恒温箱原型,他们给它取了一个简单的名字:育婴器。在外形看来育婴器和现代的婴儿恒温箱没有区别,不过内部零件完全由汽车零件组成:
车头灯的聚光灯作为供暖部件;
汽车仪表盘的风扇提供循环空气;
车门的蜂鸣器作为报警系统;
动力来自于摩托车的电瓶。
使用汽车零件作为育婴器的零部件,好处在于不仅直接利用当地供货充足的汽车零件;同时只要是汽车维修人员,就可以通过替换零件方式修理育婴器。这就恰好满足了普赖斯蒂洛的两个设想,方便的找到维修人员和备件。
不需要维修手册的育婴器
这样一来只要是汽车维修人员就可以修理育婴器了,甚至不需要阅读维修手册,只要有能力替换一个故障的车灯就能胜任该项工作。维修育婴器不再需要复杂检修设备和技术专家。普赖斯蒂洛利用已经普及的汽车维修体系,解决了育婴器难于维修问题,造福了无数的孩子与家庭。
从现有汽车维修系统获得维修能力使得育婴器在发展中国家普及,这是从协作关系层面改进产品的一个创新。婴儿恒温箱诞生使用了小鸡孵化器的技术,育婴器的普及是借用了现有的维修体系,完成模式的创新。而借用现有的系统中的能力为创新找到协作资源也是伟大的创新。
打造军工级的DevOps保障性体系
相比于育婴器,同样是关乎生死的军工产品,是人类在最复杂的协作场景下,还能发挥性能的产品。在军工产品使用、制造和维修过程中,总结出的六个性质称为“军工六性”。其描述了军工产品在日常使用、供给运输和维修保养方面的要求,是满足战场复杂环境下使用的前提。
“军工六性”对产品的三个层面的要求:
稳定性和适应性满足在日常使用的不同环境中,可以稳定发挥作用;
安全性和保障性满足在达成战略目标过程中,风险控制和资源保障要求;
维修性和测试性满足对外附能过程中,对产品进行调整和状态显示要求。
“军工六性”的三个层面正好映射到企业部门内部、整个企业内部以及企业间的协作关系。让DevOps实践方案具有这些协作特性,就能解决DevOps推广过程中遇到的无法持续改进和更大规模协作的问题。也就是为DevOps打造军工级保障性体系。
本书第6章“DevOps的企业级推广”提及的改进协作的DevOps方案,按照协作范围的归纳如下。
部门内部协作:
DevOps 团队模型,建立DevOps团队,分享DevOps实践并培养人才。
发展持续改进文化,持续输出能力DevOps实践。
企业内部协作:
DevOps 能力中心,在企业内促成部门间的知识和技能和资源的共享。
DevOps 的安全性考虑,满足DevOps在核心业务中的应用。
发展大规模创新文化,在组织内传播并庆祝成功,以赢得怀疑论者以及落后分子。
企业间协作:
工具与流程标准化,提供标准的工具和API,将企业的核心能力扩展到外部生态。
DevOps 与外包,云端的DevOps工具链实现研发工作进度和风险的可见性,满足DevOps工具与研发资源的外包的要求。
DevOps团队模型有利于发展持续改进的文化;使得DevOps能力中心不断地为组织提供改进方案;DevOps安全性改良使得核心业务快速度迭代;通过云计算方式实现的标准化的工具与流程实现了DevOps能力与研发资源外包,使得协作可以在企业以外进行。
敏捷教练和DevOps教练
就像重新定义育婴器一样,使用敏捷开发的推广方式推广DevOps变革,是对DevOps外部协作资源的重新定义。敏捷宣言在2001年签署后的17年间,涌现出许多敏捷教练,并在推广的过程中积累了丰富的实施经验。可不可以使用推广敏捷的方式,推广DevOps变革呢?2015年作者在华为2012实验室的研发能力中心工作,从事DevOps企业级推广工作。就是使用敏捷教练的方式推广DevOps变革,通过“DevOps能力提升项目”改进华为各个BG(业务部门,比如推出华为手机的消费者BG)的研发能力。华为2016年底推出拥有8大服务的一站式云端DevOps平台DevCloud。阿里2017成立了研发效能事业部,并发布云效平台。腾讯云随后成立DevOps产品部,2018年1月推出了自己的一站式研发工具平台DevMaster。从DevOps云化工具链商业成果和产品成熟度角度看华为引领了软件生产效率变革。
DevOps能力中心组织目标
能力中心是企业用以协调 IT 技能的组织架构。能力中心提供项目专业知识或程序支持,既是知识存储库,也是多个业务领域的资源库。信息服务组织中最常见的是技术型能力中心,用于应用开发、软件语言技能、数据管理、互联网开发以及网络设计。在企业内部,应用于物流、财务以及人力资源的能力中心(或共享服务)越来越普遍。基于知识库的能力完全是作为信息来源。 —— Gartner,2016
本书提出DevOps能力中心的核心角色包括:协调资源的项目经理;推动工具方案实施与评价结果的执行经理;交付DevOps平台的基础架构经理;DevOps教练和技术布道者。书中还对DevOps教练的工作内容进行了详细的描述。
除了核心角色,DevOps能力中心还需要明确的提出组织目标:
1. 为 DevOps 实施提供思想指引,在组织内传播并庆祝成功以赢得怀疑论者以及落后分子。
2. 在组织内设立 DevOps 实施团队。定期面对面的本地会面交流和传播最佳实践。
3. 通过 DevOps 教练培训项目团队,确保 DevOps 实践持续的、不断改进,而非一次性的项目。
4. 获取并提供监测成功的衡量标准与指标。就实施进展情况及实施成果提供可见性。
5. 促进或提供开发平台通用工具,使跨功能仓筒的利益相关者参与变革,以驱动 DevOps 实施。
6. 为驱动长期变革的高层管理者提供培训,确保拟定适当的规划并进行适度的投资以实现成功。
使用已经普及的能力中心的组织模式,推广DevOps工具、能力及文化,重新定义了组织层面如何积累DevOps实践和培养推广DevOps人才所需的组织模式。
DevOps团队模型
DevOps不是职位名称,也不是角色或部门,而是一个团队。是一个鼓励分享经验又稳定存在的团队模型,当然也是有利于创新的学习型组织结构。

分队 (squad) 是团队中的最小单位。
部落 (tribe) 是工作在应用相关功能领域的一组分队的集合。
分会 (chapter) 是同一个部落内,在不同分队的相同能力领域工作的人员所组成的团队。
协会 (guild) 本质上也是一个分会,只是协会是跨越部落界限的。
良性循环
如同《系统思考》中提到的增强回路,组织文化的改变是自下而上的过程,从分队 (squad) 开始不断形成持续改进的正反馈,直到部落 (tribe) 甚至是协会 (guild)。正如《礼记·大学》:“心正而后身修,身修而后家齐,家齐而后国治,国治而后天下平。”就从个人到宗族,再到国家和天下的逐步升级的治理思想。
无需维修手册的DevOps变革
创新并不是孤立存在的,需要放在组织工具和流程中才能发挥作用。还记得前文中提到的几乎不需要维修手册的育婴器吗?通过已有的实施变革的方法(能力中心和DevOps团队模型)让DevOps在企业内形成良性循环,是在协作层面重新定义DevOps变革的方法。
未完待续
改进育婴器的故事增进了我们对自下而上的DevOps变革过程的了解。大家都知道万事开头难,如何克服文化惰性,自上而下的让组织开始DevOps变革呢?下期会对《DevOps实施手册》第2章: "DevOps实施”进行解读。
上一篇:发现落在隔壁的未来
下一篇:驾驭你心里的大象
---------------------------------------------我是说正事分割线----------------------------------------
既然您都这么用心的看完了,那就送个彩蛋吧。作者翻译的《DevOps实施手册》已经发行。
本书从如何开发企业自己的DevOps手册入手,开发企业DevOps变革的商业案例,最后通过相互信任的企业文化将DevOps成果不断扩大到整个公司。
据说作者近期会对本书重点章节进行解读,并在6月30日的《DevOps国际峰会暨DevOps金融峰会2018·北京》上签名售书
DevOps国际峰会连接:https://www.huodongjia.com/event-1047513737.html

网友评论