01.引言
目前,很多企业在做指标体系设计时,指标通常来源于员工以往工作经验的积累、公众号文章的推荐以及效能大会上的分享。通过这些方式得到的度量指标往往只是简单的堆砌,缺乏对指标的用途、意义以及指标间关联关系的清晰解释。因此,尽管指标看似很多,却难以达到最终期望的度量效果。
度量工作需要考虑成本。过于盲目的度量不仅会给软件过程改进组织带来成本压力,还会阻碍软件组织过程的改进。若度量过程脱离开发过程的实际情况,可能会导致无效的度量结果、误导性决策等问题。因此,确保正确、有效的度量至关重要。
如果不使用科学的方法来支持研发效能度量,可能会导致目标模糊、问题不清、指标设置不合理、数据解读困难等一系列问题,从而难以为决策和改进提供有效的支持。
02.两种适用于研发效能度量场景的方法论
1)GQM(目标-问题-标记)
根据组织目标(Goal)确定问题(Question),然后进行度量(Metrics)以实现目标。
GQM是一种系统性的软件度量方法,它面向目标,采用自上而上下的方式,将总体目标逐步细化为具体、可度量的指标。该方法的基本前提是,在组织中,首先需要明确并设定组织和项目的目标,随后通过跟踪数据来定义这些目标,最终提供一个解释数据与相关目标之间关系的框架。
每个组织和项目都设定了一系列待实现的目标,为了实现这些目标,需要回答一系列问题来确定目标是否实现。对于每个提出的问题,都可以找到一个可量化的、满意的解答。GQM模型将组织的目标归纳和分解为度量指标,并将这些指标提炼成可测量的值,从而更好地预测和控制过程性能,实现软件开发的定量化管理。
GQM模型基于目标自上而下有三个层次,这三层分别是:
这三层形成了一个继承性的结构,每一层都对上一层进行了细化,通过逐步求精的过程,最终得到了所需的度量指标。
示意图:
步骤:
示例:
2)4Keys(关键角色-关键问题-关键步骤-关键指标)
4Keys基于GQM理论,并在GQM的基础上做了改进。
4Keys提炼了度量过程中最关键的四个步骤:数据的服务用户是谁?目标用户最关注什么?如何完整刻画关注的问题?用什么指标评估问题?
4Keys与GQM类似,都是一种面向目标、自上而下的度量定义方法。然而,它们最大的区别在于4Keys更强调“面向角色”和“面向过程”的思路。“面向角色”意味着首先需要明确度量的服务对象是谁,因为不同的服务对象会有不同的目标。数据不可能服务于所有人,不同角色的目标也不会完全相同。只有明确定义了目标角色,才能有效地帮助特定群体解决问题。
在定义了角色后,我们就可以根据每个角色的目标来定义相应的问题。在定义好问题后,便需要“面向过程”来指导度量的拆解。每个问题都会对应一个或多个过程,因此我们需要先将问题拆解成对应的过程,然后针对每个过程逐一定义相关的指标。通过这种方式,我们能够清晰地描述每个指标与哪个过程相关,以及指标之间的先后顺序或关联关系,从而完整地描绘出研发场景的全貌。这样,我们就能够避免在众多的指标中迷失方向,且能够准确地确定出有价值的指标。
示意图:
步骤:
示例:
某项目经理的核心诉求是成功地完成项目,这主要体现在能够按时交付高质量的项目成果上。这一核心诉求在研发过程中具体表现为,确保所有版本的需求能够按时完成,并将高质量的项目成果交付给客户。
根据4Keys方法论拆解得到各个过程的衡量指标。
以上图为例,按横向、纵向方法拆解后,得到了“期望版本的需求能够按时上线”主题下关联的一组指标,若发现研发停留时长过长:
由此可见通过4Keys方法拆解的指标,摆脱了简单地堆砌,将一组指标进行了关联,刻画了一个完整的研发场景,回答了“指标能帮助谁解决什么问题”、“该用什么指标进行度量”、“指标关联关系如何解读”的问题。
另外再介绍几个常用的方法论:
03.总结
方法论提供了一种指导思想,涵盖了一系列的原则、理论和规范,旨在帮助人们更加有效地分析问题、制定计划和实施行动。
在研发效能度量领域,推荐使用4Keys方法论,4Keys发挥了GQM的优势,精准捕捉了不同团队规模和角色所关注的核心问题,从问题出发,旨在解决实际场景中的问题。它基于明确的路径和完整的流程,根据不同环节产出相应指标,刻画了一个完整的研发过程的场景。在其他领域,企业根据自身需求、现状和使用场景,选择最适合的方法论。
申请演示