网安加百家讲坛DevSecOps度量和

作者简介:周纪海,某世界强金融企业DevOps/DevSecOps负责人。英国伦敦帝国理工学院博士毕业。毕业后在多家大型银行从事DevOps工作。年加入腾讯TEG。年作为首席技术布道师加入腾讯云CODING。从年到年间,作为演讲嘉宾出席过国内外30几场技术峰会和论坛分享DevOps和DevSecOps经验(OpenSourceSummit,DevOpsDays,NationalDevOpsConference,Gdevops等)。

在企业发展的过程中,有很多问题都是可以被感知到的,但是可能却缺乏了一种方式去量化它。所以我们需要一把“尺子”使得团队里的人都能够感受到变化,以及分析这种变化是不是我们希望的趋势,以及使用这把“尺子”去影响我们对未来的判断。度量,就是在企业内部落地这把“尺子”的方式之一。

1.为什么需要度量

管理学之父德鲁克说:“如果你不能度量它,就无法改变它“。度量可以帮助我们更深刻地理解研发效能,甚至影响我们的决策,指引改进方向,并量化改进效果。而度量驱动是通过度量数据,认识和理解目标及其背后的原因,最终作为决策的输入,影响到技术的使用,人的文化意识的改变,甚至管理层的决策。

当基于度量做决策时,因为有数据的支撑,减少了误判的概率,并且让决定变得更快更准确、有逻辑、易于阐述,因此不需要太多解释,也不易被反驳。团队间的沟通也可以由度量数据驱动,使得大家避免过多的主观判断,因此也可以减少团队之间的指责,从而改善团队的合作气氛和加强团队之间的沟通。

另外,在组织内实现度量驱动,这不仅仅是技术的改变,更重要的是文化上的变化。每个人都需要转换观念,态度和对开发过程的理解。最终通过度量去驱动人的思维模式的转变,进而逐渐改变整个企业的文化。另外,度量通过数据反馈也可以降低转型过程中的不确定性,实时的度量指标可以帮助企业快速调整提高转型的成功率。缩短交付周期找到可行的敏捷实践。形成通过度量快速反馈和快速决策的机制,让改善可以持续发生,鼓励分享改进经验提升员工荣誉感。最后,用流程固化有效的DevSecOps实践,并在流程里进行度量跟踪和关联。从而提高研发能力与交付速度,质量和安全的关联性。

虽然度量可以为团队带来持续反馈和持续改进,并且驱动整个DevSecOps转型的落地,然而,大量实践证明,向开发团队引入度量,可能需要经历一个理解,学习,踩坑,最终成功的漫长而艰难的过程,因为很多因素都会影响最终结果,比如企业的文化,员工的意识和态度,管理层是否支持,度量的使用方法,以及大家的工作习惯等。因此,为了更好更容易地让管理层支持和开发团队接受度量,需要梳理并使用正确的度量指标,以及分析如何正确地使用度量等。

2.DevSecOps度量指标

前面我们提到,度量可以帮助团队发现问题和瓶颈,并检验改进措施效果,但是不同团队所处阶段、研发能力成熟度、面临问题的不同,导致了度量体系并没有所谓的唯一性,因此团队需要根据自己的场景选择合适的度量指标和方法。并且即使是在同一个公司或者团队内,度量体系也应该是持续演进的,而不是固定不变。虽然度量体系没有唯一性,但行业众多公司经过大量的度量实践,也总结了一些具有普适性的研发效能度量的考量维度-交付速度、交付质量和交付安全等,这些指标的提升需要组织通过管理、技术、协作等多方面的系统性地改进。下图列举了研发效能常见的度量指标。

研发效能度量指标

关于交付效率/速度,从软件开发整个生命周期层面的交付周期,开发周期,到需求侧的需求吞吐量,持续集成过程中的相关的过程数据,如代码提交频率,构建次数,构建频率,构建时长,构建成功率,构建修复时间等,以及发布部署侧相关的指标,发布频率,发布成功率,发布时长,发布前置时间等,都可以帮助团队去判定研发团队是否能够做到小步提交,频繁提交,并且当发现问题之后能否快速地响应等。

质量方面的度量又分为结果质量度量和过程质量度量。线上/结果质量度量(比如线上故障个数,线上缺陷密度,系统下线时长,故障平均恢复时间等)是常见的容易被领导

转载请注明地址:http://www.1xbbk.net/jwbrc/5564.html


  • 上一篇文章:
  • 下一篇文章:
  • 网站简介 广告合作 发布优势 服务条款 隐私保护 网站地图 版权声明
    冀ICP备19027023号-7