企业面对的商业环境错综复杂、瞬息万变,新业务越来越多、需求变化越来越快、交付周期越来越短,成为大多数开发者面临的难题。面对如此困境和难题,开发与运维无缝衔接的DevOps越来越受到开发者的青睐。
5月9日DevRun开发者沙龙直播间,哔哩哔哩90后开发者UP主寒食君挑战华为云DevCloud码神?直播中围绕DevOps效能、以及实践DevOps的痛点与经验进行了深入探讨,为大家提供了一条从码农到码神的进阶之路。
精彩瞬间请访问直播回放视频: http://live.vhall.com/584895163
与华为云DevCloud徐毅老师探讨DevOps效能,可参与华为云社区互动话题,更有机会赢大奖。访问链接:https://bbs.huaweicloud.com/forum/thread-54222-1-1.html
一、研发效能不等于开发者个人效率之和
业界讲的研发效能跟开发者个人效率不是一回事,研发效能更多的是指整个研发组织的效率和效果,涵盖了包括需求、设计、开发、测试、发布在内的整个环节;开发者个人效率通常只针对“开发”这一个局部阶段,整体不等于局部之和,其中还有很多其他的影响因素。
寒食君:软件开发是一种系统性的工作,在复杂关系下沟通交流的成本很高。可能开了半天会,确定了需求,回去写了几行代码后,发现需求又改了,又要重新评审排期,整个项目仿佛陷入泥沼,所以我们更需要一种新的项目管理方法来帮助提升团队整体效率,推动项目顺利进行。
目前,研发效能的关注重点仍在全局效能和结果型指标,对于个体和过程的关注还比较少。“研发效能”缘起谷歌工程生产力团队引发的国内学习热潮,在谷歌案例的激励下,国内迅速掀起了“研发效能”的风潮,吸引了很多IT企业的跟随和行业会议的关注。
然而,根据DORA发布的《加速度:2019年DevOps现状报告》结果表明,全球范围内达到精英效能水平的企业占比仅20%,而中等水平企业占比为44%。顶尖效能水平团队的部署周期比低效能水平团队快两百多倍、故障恢复时间快两千多倍。2019年华为云DevCloud与信通院、南京大学联合发布了《2019年中国DevOps现状报告》,数据显示国内约7成的企业仍处于较为初级和基础的阶段,还有很大的提升空间。
寒食君:在很多人看来,国内互联网行业一片欣欣向荣,而从这个数据来看其实却不然,为什么会出现这样一种矛盾的结果呢?是国内企业没有重视研发效能,还是这些公司并不信任舶来品?又或者是有其他的复杂因素?
二、DevOps能力屋 + 度量金字塔,指引能力构建与提升
大家都知道DevOps是个好东西,但真正去践行它需要一套方法论或框架标准去指引我们应该往哪个方向改进?在实际研发过程中,我们一直以DevOps的研发方式去构建和提供能力,通过总结经验,提出了DevOps能力屋(如下图)框架,用以指引改进。
图1、DevOps能力屋框架
再配合度量金字塔帮助我们度量进展,包括运维效率、产品交付质量与速度、组织效能、客户价值、商业绩效。另一方面,我们也推出了专家服务,帮助企业和客户提升DevOps能力和研发效能。
三、开发者更需聚焦自身环节,全方位改进以提升个人效率
寒食君:业界研发效能模型多为端到端、结果型指标,对开发者个人环节的效率提升帮助有限,如何才能帮助到个人开发者实现提升?
端到端、结果型研发效能度量指标体系涉及到很多环节,制定改进措施需落实到个人,只有开发者效率提升了,整体研发效能的提升才有了基础。DevOps被广泛认为是企业应对数字化时代挑战、持续交付更高业务价值的重要能力,DevOps工程师岗位变得炙手可热,对新时代的开发者提出了更多、更高的能力要求。
总体来看,除了文化、沟通、协作等软技能要求之外,多包含如下硬技术要求:自动化、云运维、平台运维、敏捷实践、架构与治理、服务交付。能力虽重要,但也只是开发者效率提升的一个方面。根据华为内部TVI/PVI(团队及个人效率提升)的分析,要完成打造10x程序员的目标,需要从多方面入手:
- 技能能力是基础,要构建自己的知识网络;
- 做好自我管理减少浪费;
- 优质协作避免空耗;
- 贡献可视,看得见才知道怎么改;
- 活力:钱途也是一种动力。
四、成为高效码神,持续地评估和反馈是关键
改进过程中反馈非常重要,反馈内容越多、越及时、越精准则越好,根据反馈不断调整动作,反馈的层次越多越好,这方面可以参考双环学习的理念。
寒食君:但谁来给我们这样的反馈?我们需要一些正确的好的指引,否则会南辕北辙。
基于这样的理念,我们华为云DevCloud专家服务推出了评估诊断服务,由评估人对被评估对象在评估领域方面的能力或现状进行分析、评判。评估分为两类:主观评估与客观评估。简言之,主观评估就是基于主观信息或依据做出判断的评估方式,问卷调查就是一种最典型的主观评估方式;客观评估就是基于客观事实或数据做出判断的评估方式,基于系统数据进行计算得出结论,就是一种典型的客观评估方式。
图2、DevOps评估
DevOps能力成熟度评估是一种问卷式主观自评,登录后,填写问卷并提交结果,即可获取报告。打开“能力解读”,还可以查看能力的详细结构,评估所依据的具体维度以及包括整体评价、评价的标准、改进建议(实践、案例)在内的全面反馈。
用户故事能力评估,则是基于实际使用数据的一种客观评估。用户需要先开启,授权读取数据,然后系统就可以根据预先设定的用户故事能力模型与评估标准,针对用户所创建项目中的用户故事进行分析和评判,并给出评估结果。
五、分享、交流、共同学习都有助于提升改进,认证可用于检验成果
除了系统提供的评估和建议,多跟其他开发者交流互动,也有助于共享经验、解决问题、反哺输入,比如参加论坛交流。
寒食君:业内有个大牛,曾经分享过一个经验:我如果想学会一个东西,我就去写本书,不是因为有多懂才写,而是写着写着就懂了。所以我们可以把经验分享给别人,在交流的过程中真理就浮现了。
华为云DevCloud论坛中有很多帖子,可以发帖讨论反馈建议,专家会在论坛中与大家交流。我们还有一些帮助大家跟大神交流的活动,比如读书会、实战营等。通过这样的活动大家一起学习优秀的实践经验,从中提升自我,这些活动很多都是免费的,可以关注华为云DevCloud的微信公众号,获取最新的活动信息。
华为云DevCloud HE2E DevOps实施框架是我们集合业界先进理念、华为30年研发经验,总结提出的可操作可落地的端到端一站式开发方法论和工具链。如果要系统性地、全面地学习DevOps技术,就可以参考这种整体框架。
图3、华为云DevCloud HE2E DevOps实施框架
检验自己的能力和改进成果,认证是一个很常规的方式,包括EXIN的DevOps Professional、SAI的Leading SAFe等行业认证,以及华为云的HCIP-Cloud Service Developer认证等,都是不错的选择。
六、华为云DevCloud专家服务,进一步助力开发者效能提升
以DevOps工程师能力模型作为指引个人能力提升的目标,基于开发者个人效率提升框架,持续获取双环反馈,并利用华为云DevCloud专家服务所提供的各项服务,切实落地改进。
图4、华为云DevCloud专家服务
【了解更多】
- 文章:“DevOps组织如何利用度量金字塔驱动DevOps转型”, https://bbs.huaweicloud.com/blogs/135567
- DevCloud敏捷与DevOps专家服务,https://www.huaweicloud.com/service/devcloud_devops.html
- 华为云DevCloud专家服务Portal页https://devcloud.huaweicloud.com/expert
- 华为云DevCloud专家服务之评估诊断https://devcloud.huaweicloud.com/expert/assessment
- 华为云论坛专家服务板块https://bbs.huaweicloud.com/forum/forum-736-1.html