企业如何正确选择合适的DevOps培训

发布时间:2019-06-04

DevOps正在被越来越多的IT企业(或企业的IT部门)所采用,但团队成员对于什么是DevOps,如何在企业实施好DevOps的认知却很不相同。同时由于DevOps是一个开放、广泛(横跨业务-需求-架构-开发-测试-发布-运维等多个环节)、不断发展的体系,更使得企业选择合适的DevOps培训体系面临不小的困扰。

本文根据我在过去几年的DevOps培训经验(作者是中国首批10名DevOpsMaster授权讲师),为企业IT负责人和培训负责人提供一些建议。

1.jpg

首先,企业应该理解目前IT组织所处的状况,以及下一步希望达成的目标来选择合适的培训课程。

现状1:企业目前还没有系统地在组织层级推广过DevOps实践(可能有个别团队/人员采用,但实施效果因为局部化、碎片化而对组织整体绩效影响不大)。

根据企业下一步的计划又分为:

目标1.1: 企业目前短期(如6个月内)没有系统实施DevOps的计划,但对目前的研发、质量、运维流程一直存在的诸多痛点(比如需求变化多,开发速度满足不了业务要求,质量不稳定,运维经常,IT人员积极性不高成为瓶颈等)已经感到需要改变,想了解DevOps是否能够帮助到企业。

分析:团队对于如何现代化地管理整个软件交付过程处于Unknown-Unknow阶段,需要建立的是 1)思想方法和行为上的转变(能够发现过去工作中的问题)2)理解有什么对应的实践可以帮助到目前的一些主要痛点。培训建议如下:

培训建议:两天培训。1天凤凰项目沙盘(从思想方法和行为上“顿悟”)+ 1天DevOps Foundation(基础级)培训,以便系统性理解对应实践,针对性解决存在问题。

培训案例:某地产企业IT部门,人员知识储备比较陈旧,目前采用大量的外包人员,管理层非常希望能够让员工接触到更新的知识体系,提升士气,改善目前的一些低效能做法。通过两天的培训(1天凤凰沙盘,一天定制化的敏捷/DevOps基础培训),使得企业员工在较短时间内获得当前最新的IT软件工程实践的认知,同时士气得到较大提升。

目标1.2:企业已经有计划引入DevOps,但对于引入所影响的规模、商业论证(ROI)、具体应该引入哪些实践和工具,以及如何引入(路线图)还没统一的思路。

分析:跟1.1团队所处的情况有相似处,但可能个别团队已经尝试过,或者PMO(或类似组织)已经做过一定调研。在这里除了应该让团队从行为和思想方法上转变(接受为什么做DevOps),系统了解相应实践外,还应该有能力设计适合团队发展的DevOps实施方法和路线图。

培训建议:因为涉及到下一步的具体实施,对团队对DevOps的掌握要求更高,并且除了具体实践外,还应该掌握实施的思路和方法。好的做法是有个更深度的培训,并建议关键员工获得相应认证(认证学习对知识细节的掌握程度更高,这对正确实施是很关键的),另外实施部分可以结合到课程里或另外有一个专题的路线图设计工作坊。

三天培训:1天凤凰项目沙盘(尤其将来首先开始DevOps试点项目的团队成员应该尽可能都参加),2天DevOps Professional专业级培训。核心团队成员(将来会作为DevOps实施骨干)建议参加更高阶的DevOps Master认证以深度掌握实施策略,具备带领团队推进实施的能力。

培训案例:某知名电信通讯企业至上而下已决定引入DevOps,组织内某些部分已经走在前面。其他部门也希望尽快跟进。通过一些列的沙盘+系统培训+工作坊,比较好地完成了企业的培训目标。

现状2: 企业已经开始实践DevOps(比如建立了流水线,敏捷开发也比较好地被采纳,有一些相应的DevOps工具也已经被使用)

根据企业的下一步目标又分为:

目标2.1:虽然已经在实施DevOps,也取得了一定的效果,但总体上取得成果并没有达到预期。目前比较困惑于如何把具体的实践、工具、技术转化为具体成果。

分析:处于这种状况的团队虽然已经积累了一些实战经验,但对DevOps知识结构的系统性掌握还是比较缺乏,实践的引入往往依赖有经验的员工带头,根据过去的经验或参考其他公司的最佳实践推行的。但由于1)并不是团队成员都有一样的经验和知识深度 2)缺乏对问题的系统理解,比如DevOps涉及到软件交付的整个生命周期,以及文化、流程、技术、组织架构、实施方法(变革管理)等多方面内容,团队需要通过系统培训并结合项目实际状况针对性地解决问题。

培训建议:1天凤凰项目沙盘 + 2天DevOps Master培训,并在培训前收集问题,在课上通过分组实践的方式识别问题,并深入探讨解决方案,制定实施计划

目标2.2:相比2.1是更成熟的研发-测试-运维团队,团队知识结构、能力,工具使用都已经达到行业中上水平。这个级别的团队对系统培训的需求是能够更上一个台阶,真正把工程能力转化为业务表现。

推荐:1天凤凰项目沙盘 + 2天DevOps Master培训。

培训案例:某互联网产品公司,公司员工约300人。团队骨干来自BAT等公司,整体成熟度较高。但CTO意识到团队发展遇到瓶颈,尤其是大家系统理解问题的不足,导致可能重复解决的不是最关键的问题。需要的是通过团队整体培训,并关联现状,是使团队表现达到更高级别。三天的DevOps Master培训不仅培养了团队共识,找到更多的改进点,而且培养了一批能够”走出去”做咨询的骨干,并在各个主流论坛、大会上演讲,为企业向更高阶发展作出贡献。

现状3:企业DevOps的实施已经非常成熟并且系统化,全员对DevOps体系掌握清晰一致,经常从全局视角反思、回顾、迭代,IT组织绩效水平很高。

培训建议:根据具体遇到的问题组织专题培训。比如专门的自动化测试培训,微服务设计培训,产品/需求管理培训等。

2.jpg

其他类型的DevOps培训需求:

实战类培训

各种DevOps内训往往都冠以“实战”之名。从我的经验看,实战类的培训往往就是系统化培训+针对企业现状的具体问题解决工作坊(重点问题分析、系统实践讲解、结合现状进行分析等)。

培训建议:这类培训可以根据上面的几大类针对企业情况做一定的定制化,但核心是类似的,比如1天沙盘+1~2天工作坊(系统学习+实际问题研讨)。

注:实战类培训并不是工具类培训。工具类培训说明见下文。

以DevOps工具为核心的培训

这类培训实施的前提应该有两个 1)系统性培训已经做过(不然团队还是知其然不知其所以然) 2)企业DevOps工具选型已经基本确定/完成。DevOps工具在整个交付生命周期上有非常多选择(比如需求管理工具、自动化测试工具、制品库管理工具等),整合起来在本质上又有相似之处(实现端到端的全流程管理),但具体用法和深度又千差万别,而且针对的受众也很不一样(比如基于某云平台的DevOps工具和定制化的开源工具链具体用法上就完全不同;云平台厂商的DevOps工具也各不相同;而自动化配置管理工具的具体用法可能只是运维这个群体才最感兴趣)。

培训建议:这类培训建议找专门工具厂商来做,并且不存在一套业界通用的DevOps工具集(比如Java和.NET的工具链就完全不同,基于云平台的和非云平台的又完全不同),而且要考虑具体工具的主要受众部门和用法深度需求。

DevOps管理类/领导力培训

这类培训的目标受众是IT组织的管理者(包括各职能部分负责人、IT总监、CIO,CTO,PMO、产品经理、敏捷教练等),培训涉及到的技术环节不会太深入(但会有,因为DevOps是流程-技术-人的系统),更多的是从管理、流程、组织架构、文化、实施方法等方面进行。

培训建议:1天凤凰项目沙盘 + 1天DevOps Foundation培训(侧重业务和管理视角)

最后,选择认证培训还是非认证培训?

大多数企业内训习惯于选择非认证的DevOps培训。从某个意义上讲,这是有道理的,因为DevOps是个实践化的体系,认证本身可能并不是企业追求的目的,提升员工能力、提升组织整体绩效、解决具体工作问题才是。但从另外一面讲,DevOps里的实践众多,其实非常需要在2~3天的培训之外学员主动深入的学习,认证的准备过程可以使知识的细节更深入,能够通过认证考试也证明了能力。这一过程被证明其实是很有价值的。组织也可以考虑部分人员认证(比如核心骨干)的方式结合进行。


- ./main end -->

Copyright © 2020 All Rights Reseverd Designed by 5thspace.net      备案号:沪ICP备15017019号-1