首页

/

DevOps系列:GQM与4Keys在研发效能中的应用

发布日期:2025-01-03 15:29:31

分享到

01.引言

目前,很多企业在做指标体系设计时,指标通常来源于员工以往工作经验的积累、公众号文章的推荐以及效能大会上的分享。通过这些方式得到的度量指标往往只是简单的堆砌,缺乏对指标的用途、意义以及指标间关联关系的清晰解释。因此,尽管指标看似很多,却难以达到最终期望的度量效果。

度量工作需要考虑成本。过于盲目的度量不仅会给软件过程改进组织带来成本压力,还会阻碍软件组织过程的改进。若度量过程脱离开发过程的实际情况,可能会导致无效的度量结果、误导性决策等问题。因此,确保正确、有效的度量至关重要。

如果不使用科学的方法来支持研发效能度量,可能会导致目标模糊、问题不清、指标设置不合理、数据解读困难等一系列问题,从而难以为决策和改进提供有效的支持。


02.两种适用于研发效能度量场景的方法论

1)GQM(目标-问题-标记)

根据组织目标(Goal)确定问题(Question),然后进行度量(Metrics)以实现目标。

GQM是一种系统性的软件度量方法,它面向目标,采用自上而上下的方式,将总体目标逐步细化为具体、可度量的指标。该方法的基本前提是,在组织中,首先需要明确并设定组织和项目的目标,随后通过跟踪数据来定义这些目标,最终提供一个解释数据与相关目标之间关系的框架。

每个组织和项目都设定了一系列待实现的目标,为了实现这些目标,需要回答一系列问题来确定目标是否实现。对于每个提出的问题,都可以找到一个可量化的、满意的解答。GQM模型将组织的目标归纳和分解为度量指标,并将这些指标提炼成可测量的值,从而更好地预测和控制过程性能,实现软件开发的定量化管理。


GQM模型基于目标自上而下有三个层次,这三层分别是:

  • 概念层-目标(Goals)
  • 操作层-问题(Questions)
  • 数据层-度量(Metrics)

这三层形成了一个继承性的结构,每一层都对上一层进行了细化,通过逐步求精的过程,最终得到了所需的度量指标。


示意图:




步骤:

  • 目标定义阶段:明确组织或项目的目标,例如提高效能、降低成本等。
  • 问题提出阶段:根据目标,提出几个问题,以便进一步地度量和评估。问题通常与目标相关,但以更具体的方式提出。
  • 指标定义阶段:为每个问题确定一个或多个度量指标,以便回答问题和实现目标。指标应该能够为问题提供答案和支持决策。
  • 度量设计阶段:为每个指标定义度量方法和采集数据的方式。

示例:




2)4Keys(关键角色-关键问题-关键步骤-关键指标

4Keys基于GQM理论,并在GQM的基础上做了改进。

4Keys提炼了度量过程中最关键的四个步骤:数据的服务用户是谁?目标用户最关注什么?如何完整刻画关注的问题?用什么指标评估问题?


4Keys与GQM类似,都是一种面向目标、自上而下的度量定义方法。然而,它们最大的区别在于4Keys更强调“面向角色”和“面向过程”的思路。“面向角色”意味着首先需要明确度量的服务对象是谁,因为不同的服务对象会有不同的目标。数据不可能服务于所有人,不同角色的目标也不会完全相同。只有明确定义了目标角色,才能有效地帮助特定群体解决问题。

在定义了角色后,我们就可以根据每个角色的目标来定义相应的问题。在定义好问题后,便需要“面向过程”来指导度量的拆解。每个问题都会对应一个或多个过程,因此我们需要先将问题拆解成对应的过程,然后针对每个过程逐一定义相关的指标。通过这种方式,我们能够清晰地描述每个指标与哪个过程相关,以及指标之间的先后顺序或关联关系,从而完整地描绘出研发场景的全貌。这样,我们就能够避免在众多的指标中迷失方向,且能够准确地确定出有价值的指标。


示意图:



步骤:

  • 角色定义阶段:明确数据为谁服务,帮谁解决问题,给谁带来价值。
  • 目标定义阶段:明确角色的目标,例如提高效能、降低成本等。
  • 问题提出阶段:根据目标,提出几个问题,以便进一步地度量和评估。问题通常与目标相关,但以更具体的方式提出。
  • 过程定义阶段:将问题描述成完整的过程,用以指导价值指标的选择。
  • 指标定义阶段:根据过程对应拆解成一个或多个指标,以便回答问题和实现目标。指标应该能够为问题提供答案和支持决策。
  • 度量设计阶段:为每个指标定义度量方法和采集数据的方式。


示例:

某项目经理的核心诉求是成功地完成项目,这主要体现在能够按时交付高质量的项目成果上。这一核心诉求在研发过程中具体表现为,确保所有版本的需求能够按时完成,并将高质量的项目成果交付给客户。



根据4Keys方法论拆解得到各个过程的衡量指标。

  • 横向关联指标:串联观察整个研发过程
  • 纵向对比指标:深度关注重点维度情况



以上图为例,按横向、纵向方法拆解后,得到了“期望版本的需求能够按时上线”主题下关联的一组指标,若发现研发停留时长过长:

  • 横向分析(考虑关联步骤中是否有异常情况):是否需求调研停留时长过短反映需求调研不清晰、研发阶段返工多?
  • 纵向分析(考虑各维度间的相互影响):是否因并发任务数多导致研发任务堆积,或是代码质量差导致的研发效率低下?

由此可见通过4Keys方法拆解的指标,摆脱了简单地堆砌,将一组指标进行了关联,刻画了一个完整的研发场景,回答了“指标能帮助谁解决什么问题”、“该用什么指标进行度量”、“指标关联关系如何解读”的问题。


另外再介绍几个常用的方法论:

  • 平衡计分卡:平衡计分卡是一种综合性的管理工具,其将财务、客户、内部运营、学习与成长四个维度结合起来,有助于企业更好地了解自身的优势和不足,从而有针对性地改进运营状况,提高综合竞争力。
  • 精益价值树:精益价值树是一种以价值成效为导向、分析组织愿景和战略的工具,通过精益价值树,企业能够清晰地梳理出愿景、目标、投注与举措,进而实现数字化转型。然而,要有效运用精益价值树,企业需要以客户价值为驱动,并且已经完成了团队级和规模化敏捷转型,因为此方法对人员自驱力要求较高。


03.总结

方法论提供了一种指导思想,涵盖了一系列的原则、理论和规范,旨在帮助人们更加有效地分析问题、制定计划和实施行动。

在研发效能度量领域,推荐使用4Keys方法论,4Keys发挥了GQM的优势,精准捕捉了不同团队规模和角色所关注的核心问题,从问题出发,旨在解决实际场景中的问题。它基于明确的路径和完整的流程,根据不同环节产出相应指标,刻画了一个完整的研发过程的场景。在其他领域,企业根据自身需求、现状和使用场景,选择最适合的方法论。

免费申请演示

联系我们

服务热线:

020-38847288

QQ咨询:

3593213400

在线沟通:

立即咨询
查看更多联系方式

申请演示

请登录后在查看!