顾黄亮
作者顾黄亮2022-01-17 11:50
技术总监, 畅销书作者

《DevOps权威指南:IT效能“新基建”》-DevOps的度量体系(8.3)

字数 4538阅读 2533评论 0赞 1

作者:顾黄亮 (现任苏宁消费金融安全运维部总经理)

【声明】为了能让大家更好的学习Devops以及深入了解应用Devops的实践案例,《DevOps权威指南:IT效能“新基建”》作者顾黄亮先生授权twt社区进行该书部分内容连载。内容包括DevOps的基本概念,DevOps的工具集,支撑管理,敏捷开发,持续集成和测试,持续部署和持续交付,代码质量和安全,DevOps的度量体系,持续改进和反馈,DevOps最佳实践,以及DevOps的后续发展。

8.5 构建 DevOps 指标体系

8.5.1 指标体系的作用

在 DevOps 度量体系中,指标体系主要达成主观事件客观呈现的效果,主要关注两个方面,一是为什么需要指标;二是从这些指标中,能够获得什么。在实际的度量过程中,工程效率管理是研发活动的典型度量场景,会存在一些常见的度量误区。在需求分解成任务、任务挂靠研发团队的环节,项目经理通常会进行研发组织的工时预评估,在项目实际过程中对项目人员的效能进行评估时,会出现和指标体系相关的问题,如数据指标覆盖率不全导评估结果出现偏差,度量方式不一致导致评估结果不公平、价值输出口径不同导致评估结果无效和虚荣性指标过于凸显而导致评估结果严重失真。因此,项目经理会产生如下疑问:你说的数据,我每天都在统计,可这些数据如何能够成为一个指标体系?有了评估体系,又能怎样?个人的评估和团队的评估是否可以采用同一个指标体系?作者认为,要解决以上问题,项目经理首先需要了解数据指标。

1 .数据指标是什么

作者举一个简单的例子进行说明。在一个 IT 项目中,当面临需求大面积“加塞”的情况时,项目经理经常会听到一些议论: 5 天后正常按计划上线的目标应该可以按时实现;目前,大概还有 300 人天的资源可用;这部分需求上线后感觉不能达到业务预期的效果;感觉这个版本可能会出一些技术上的问题。上述议论说明,在没有数据指标的情况下,所有的评估和度量都有可能出现不确定、不具体和不准确的情况。

为什么需要数据指标?度量的三位一体的方法包含点、线和面。度量的点,管理者需要帮助个体和团队提升交付能力,抓住既定的时间点,推动任务达成目标;度量的线,管理者需要控制风险,在度量数据的配合下,形成数据趋势性的结果和目标达成的里程碑的高度契合;度量的面,管理者需要根据度量结果进行资源的动态调配,梳理标杆,帮扶落后,同时进行团队和组织的横向考评和调整。通过度量的三位一体方法,最终达到优化的目的。从上述方法中,可以得出一个结论,即数据指标是度量体系的直接支撑,也是数字化的底层结构。数据指标存在的意义就是对抗不确定。

回到上面的议论,项目经理可以这样回答: 5 天后按计划上线没有问题;有 20% 的需求优先级较低,可以延后;目前,可以调剂出 300 人天的资源;对于这部分需求,业务组织已经完成准确测算,上线后可以达到预期效果;这个版本有时间进行第二轮的回归测试,能够解决可能出现的 95% 的问题,可以保证上线后的质量。如果项目经理这样回答,那么会获得量化、具体且明确的效果,这就是运用数据指标的最优方式。

2 .数据指标体系是什么

在工程 效率的管理中,尤其侧重于团队和个人的效能饱和度,想准确说清楚是一件麻烦的事情。例如,在研发团队中,交易中台研发团队在项目的某个版本中的研发效能很高,人均日产出代码达到 500 行。但要实际评估这些工作量,可以挑出一堆问题,如图 8-12 所示。

图 8-12

一个问题的产生往往涉及很多方面,只用一个指标不能充分说明问题,此时需要一组有逻辑的数据指标来描述,这就是数据指标体系。

8.5.2 数据指标体系的 5 个关键要素

1 .全局指标

DevOps 价值交付流水线涵盖了交付过程中的关键节点,如项目管理、需求管理、资源管理、研发管理、测试管理、运维管理和安全管理,以及交付后的交付管理、项目后评价,每个关键节点都需要一个或几个全局指标来进行度量。这些全局指标可以进行过程管理,也可以进行结果回溯,因此全局指标是主指标,也是一级指标。这类指标的显著特征为通俗易懂,便于理解。从数据时效性的角度来看,全局指标的数据可以是实时的,也可以是滞后的。

全 局指标是一个核心指标,用来评价一件事或一个阶段的效果,如对于某个版本,交易中台研发团队的效能较高,我们想到的是没有 bug ,因为没有 bug 表示交付的代码质量高。

每一个全局指标都有以下 4 个要素。

( 1 )指标的含义。这个指标在 DevOps 交付全链路中表示什么。

( 2 )数据来源。数据来自哪里。

( 3 )统计时间。在什么时间段产生的。

( 4 )计算公式。如果有比例或比率,就需要说明分子和分母分别表示什么。如果是汇总,则需要说明汇总数据分别表示什么。

2 .细分指标

构 成全局指标计算公式的是细分指标,也称子指标。细分指标的覆盖范围较小,只针对某一聚焦的点。相对于主指标的综合评价,细分指标侧重于综合评价二级指标、三级指标。

以 DevOps 交付流水线为例,项目经理负责管控整个交付流程,把控项目进度和项目风险,相应的全局指标应该包括交付效率、交付质量和交付能力。交付效率可体现端到端的快速交付,交付质量可体现端到端的质量交付,交付能力是为了提高工程效率,实现高效的持续交付能力。

项目 经理和产品经理、开发技术经理、测试技术经理、运维技术经理形成矩阵式管理,因此,整个交付阶段的全局指标应该分解到需求、开发、测试、发布和运维关键节点中。每个关键节点又有各自的全局指标,如需求交付周期、开发交付周期和需求交付吞吐量。表 8-3 列举了 DevOps 的全链路交付流水线中全局指标和细分指标的一些对照关系。

表 8-3

选择的主指标不同,拆解的细分指标也不同,如表 8-3 所示。如果选择开发效能饱和度作为二级指标,往下拆解的细分指标一般有代码提交量、代码重复率和代码注释率,还有承接需求数、承接任务数等细分指标作为关联。在细分指标领域,存在较多的虚荣性指标,如研发阶段的人天代码量指标,需要与代码注释率、代码重复率、冒烟通过率、 bug 数等指标相结合,属于颗粒度较细的指标,在度量上需要更为谨慎。

3 .过程指标

在 DevOps 的度量体系中,过程指标的数量比例为 80% 。过程指标侧重于比较一件具体的事或一个具体的团队。在过程管理中,过程指标主要用来帮助管理者快速通过度量发现过程中一些偏离目标的行为,对偏离目标的行为进行纠正并优化。

相对于主指标,基层管理者需要关注一件具体的事或一个具体的团队在某个阶段的结果。项目经理可以根据项目职责的不同,将基于项目的主指标大致分为项目成本管理和项目风险管理两个方面。在项目管理过程中,项目经理可以依据需求“加塞”指标、需求优先级提升指标、研发资源的变化指标、测试阶段的质量管控指标和各能力子域的任务停留时长指标,对项目风险进行评估,最终判断项目交付周期是否出现不可控的情况。

在 DevOps 的度量过程中,仅看一个能力子域阶段性结果,无法监督 DevOps 价值交付 的过程,也无法对 DevOps 价值过程中的偏差进行纠正。如果 DevOps 的推进者和管理者想更有效地进行过程管理,就需要对过程进行更科学的管理,对指标的要求更细致。因此,在 DevOps 的价值交付流水线中,在各关键节点中,进行过程管理,添加二级指标、三级指标,进行更细致的管理。

4 .分类维度

对于一个大的版本,度量的指标有很多,指标之间的关联关系也有很多。对于产品经理,需要关注需求吞吐率、需求覆盖率和需求的交付能力。基于需求的分类维度较丰富,一般包括需求文档的定稿、需 求的任务分解、需求的系统分解、需求的交付周期、开发的交付周期、测试的交付周期和研发团队的需求评审。研发管理者对多个研发团队和个人的效能很重视,关注每个团队、每个人完成了多少任务,完成任务的质量如何。在分类维度中,将主指标切成若干块,这样可以避免平均数陷阱和团队的虚荣指标,将整体和局部看得更加清楚。表 8-4 为任务在 各能力子域中平均停留时长的相关过程指标。

表 8-4

注意,分类维度不是一成不变的,能提升管理能力的分类维度就是好的维度。

5 .判断标准

判断标准一般有两种,一种是和以往的指标对比;另一种是和行业内的头部企业相比。参照物的选择本身就是个复杂的分析过程,需要进行深入的分析。在构建指标体系的时候,这些判断标准往往是和有关数据共同呈现的,这也是为了方便后期的度量,因此,好的判断标准能够带来直接的管理方面的提升。

8.5.3 数据指标体系的准则

D evOps 价值交付全链路的度量可以不断地解决与修复交付链路过程中出现的问题和缺陷, 确保度量设计的价值输出。对于软件交付,提高软件交付的质量和效率不是根本目标,提升软件 的价值交付来促进产品达成商业目标才是最终目的。因此,构建数据指标体系是为了构建 DevOps 度量体系,数据指标体系是度量体系的前置条件,在度量体系中,我们遵循下列准则。

1 .明确工作目标

明确工作目标的同时,主指标需要具备清晰的反馈。在明确工作目标之前,管理者需要了解指标能够带来什么提升,指标能够赋予哪些场景,管理者需要对主指标的管理、优化和定位进行充分思考,最终确定主指标的判断标准,同时需要确定主指标对应的细分指标,以及每个指标需要哪些管理流程进行约束。

2 .清晰的判断标准

在工程效率方面,总有一个参照物,这个参照物能够返回一个明确的结果,即好或待改进。因此,一个清晰的判断标准很重要,决定了你看到的分析结果是否为有用 的数字。 DevOps 度量体系内的项目后评价的作用:能够 完成成本复盘,能够对过程管理中的判断标准进行结果回溯。因此,判断标准是不断演进和得到优化的。

8.5.4 常见的数据指标体系

常见的数据指标体系有提升效率指标体系、质量管控指标体系和业务域保障指标体系。提升效率指标体系是为了快速交付,质量管控指标体系是为了更好地交付,业务域保障指标体系是为了稳定地交付。

( 1 )提升效率指标体系,如表 8-5 所示,“目标”列中的 TBD 表示待定,需要在度量时合理制定。

表 8-5

( 2 )质量管控指标体系,如表 8-6 所示。

表 8-6

( 3 )业务域保障指标体系,如表 8-7 所示。

表 8-7

全部连载

《DevOps权威指南:IT效能“新基建”》-前言
《DevOps权威指南:IT效能“新基建”》-认识DevOps(1.1)
《DevOps权威指南:IT效能“新基建”》-认识DevOps(1.2)
《DevOps权威指南:IT效能“新基建”》-认识DevOps(1.3)
《DevOps权威指南:IT效能“新基建”》-支撑管理(3.1)
《DevOps权威指南:IT效能“新基建”》-支撑管理(3.2)
《DevOps权威指南:IT效能“新基建”》-支撑管理(3.3)
《DevOps权威指南:IT效能“新基建”》-DevOps的度量体系(8.1)
《DevOps权威指南:IT效能“新基建”》-DevOps的度量体系(8.2)
《DevOps权威指南:IT效能“新基建”》-DevOps的度量体系(8.3)

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广