提起度量,就是考核,就是对比,就是数字游戏,就是你好我坏你上我下。但是,事物都具有两面性,度量既可以让人们在一条窄道上拼个你死我活,也提供了弯道超车的捷径。
在敏捷团队度量系列的第一篇和第二篇里,我们聊了
为什么传统的,以度量结果为导向的度量方式不管用。
以及在打造敏捷团队的过程中,应该做的第一个度量--成本度量。
今天在终篇里,跟大家分享一下如何找出适合具体团队/部门的度量方式,构建出合适的考核体系来。这个方式分为三个步骤:
明确度量目标是什么(What)
度量通往度量目标的路径(Path)
构建组合度量参数,同时度量What 和Path,取代单一参数度量。
我们来逐个看一下,这三步的技术细节
明确度量什么【What】
找出"度量什么"是度量的第一步。这个"度量物"可以是价值,客户满意度,可以是公司设定的KPI,人/天,代码行数,质量,故事点。 什么对体现团队绩效重要,就考核什么。或者干系人,客户看重什么,就考核什么 --- 把他们关心的数据增长放在他们案头。Measure what matters ,就是这么简单。
有人觉得度量什么很重要, 但是我目前觉得这反而是比较不重要的一步。或者说,在现实情况中, 度量什么往往是不能自主选择的。况且全世界的老板和客户真正关心什么,一共也就那么几项,十个手指头都数的过来。但是,” 通往"度量物"的路径”(Path)却是可以选择,而且能起很大作用的,也是接下来我们重点要度量的。
通往度量目标的路径【Path】
有一种度量,叫做『我不关心过程!我只关心结果!』
如果是这种方式的话,只需要明确”度量什么”然后找根鞭子握在手里就好了。本系列的第一篇文章里,之所以所有的度量都有可能导向加班,就是因为度量指标都是结果(What), 导致无论是度量的人,还是被度量的人,都只聚焦在达成结果上, 过程上一团糟。
这方式要是真好用而且没有副作用,绩效考核也不会是一个世界性难题了。
而度量的重要意义在于,不仅仅是要达到结果,还是要推动以期待的方式达到结果。
比如说要求生产率提高50%。 如何做到呢?可用的方式有:加班;增加人手;减少与提高生产率无关的工作;在工作估算的环节玩数字游戏; 提高技术人员的工作能力;减少生产过程中的浪费。
你希望以哪种工作方式来达成目标,就应该在度量的时候,加入对这种工作方式的度量。
所以一个有效的度量,应该是同时包含:
"目标度量"(度量What):度量是否朝着既定目标前进
和
"路径度量"(度量Path):度量是否沿着选定的路径前进。
要度量Path,就要先找到Path。
我们拿 "交付质量" 这个常见的开发团队度量物举个例子。交付质量是"What",那么怎么搞清楚有多少路径,和团队要选择哪条路径呢? 我在做教练的时候,经常用下面三个问题跟团队一起找出答案:
1:对团队的工作来讲,”好的交付质量”的定义是什么?
2:有哪些方式,能够帮我们达到或超过”好的交付质量”?
3: 结合当前团队的情况,我希望优先采取哪些方式?
我们来逐个看一下这几个问题:
1:对团队的工作来讲,”好的交付质量”的定义是什么?
“好的交付质量”定义,是度量目标(What)的一部分。大多数情况下是来自于客户,或者公司干系人的定义。或者是KPI里规定的bug数量, bug修复速度,可能是优异的性能,也可能是几者的综合。必要时我们还会请干系人予以澄清 – 质量对他们来讲意味着什么。
好的考核目标要有一定的清晰度,提供足够的信息指导工作。 不能是”提升质量”,”提升客户满意度”这种模糊的描述。
基于一个清晰的考核目标,我们就可以讨论和选择达到目标的路径, 并且下一步建立度量路径机制。
2:有哪些方式,能够帮我们达到或超过”好的交付质量”?
我希望团队和团队的管理人员,在讨论这个问题时将所有可能的路径都列出来。而不是直接列出他们想要走的路径。
一个测试团队,可能会给出如下答案:
A. 反复测试
B. 增加测试人员
C. 增加自动化测试的覆盖率,节省不必要的手工测试。
D. 提高测试人员对业务逻辑的熟悉水平。
E. ………
列出所有路径除了能帮助拓宽视野外, 还能帮助做出最佳决策。你会发现每条路径都有好处,也需要支付成本。
"反复测试"好处是实施简单,需要支付时间成本. "增加测试人员"好处是能投入测试的人数增加,需要支付额外的人力成本,培训成本,以及新成员加入的风险成本。增加自动化测试覆盖率的好处是用技术节省时间。需要支付的成本是写更多自动化测试用例的成本。
3: 结合当前团队的情况,我希望优先采取哪些方式?
这时,我们就要引入上一篇文章中提到的”成本度量”方法,选出对团队而言性价比最高的路径
不同的团队,面对同一个考核目标(What)的时候,他们选择的路径(Path)可能是完全不一样的。 甚至同一个团队在不同时期,对于同一个目标,选择的Path也是不一样的。
当你的度量体系里既关注What又关注Path的时候,有趣的事情就会发生了: 即使全公司使用统一的KPI目标,考核同样的内容,你仍然可以通过度量不同的Path,引导具体某个团队根据自己的切身需要去发展。这样的考核体系既可以覆盖公司的大目标,又可以兼顾具体团队的差异。
* 我们花了很大的篇幅来搞清楚度量物体What 和Path。这恰恰是大部分度量里缺乏的。也是大量的考核最后沦为数字扯皮游戏的最根本原因。
到此为止,我们就搞定了度量的目标(What)和要度量的路径(Path)。那么,你期待的干货就要来了:
使用组合参数度量取代单一度量
当确定了达到绩效考核的目标(What),和我们即将采取的路径(Path)后,我们需要为路径(Path)来制定一系列度量参数,保证我们是走在正确的路径上。
我们还是以质量考核作为一个例子,假如我们的KPI是"生产环境报告的Bug数量每个月保持在10个以下"。
在以前的"关注结果式"考核下,可能会产出下面这样的报告。
几乎所有”只考核结果”的考核都会出现这种check list式的跟踪报表。考核单一数字,只能得到单一数字。
假设经过第二步,我们想采用到达目标的路径是 "增加自动化测试覆盖率, 减少手动测试占用测试人员的时间。"
那么这个考核就不仅仅包含"bug数量保持在10以下" 这一条了,它会扩展为类似于下面的列表:
-每月的Bug数量 (度量目标)
-自动化测试覆盖率的增长(度量路径)
-自动化测试帮助测试人员节省的时间(度量路径)
-测试人员单位时间内完成的bug数量。(度量路径)
-其他…..
上面这个列表是一个参数组合。包含”目标度量参数”和”路径度量参数”。目标度量参数保证你关注目标,路径度量参数保证你在之前选择的路径上。
路径度量参数组合的时候,应该挑选一些该路径上的独有特征。比如” 测试覆盖率的增长”就算一个独特的特征,它是”反复测试”或者”增加测试人员”这些路径做不到的。
所有的参数组合起来,作为一个结果评审,而不是checklist式的逐个评审。
度量参数组合,它会产出类似以下的报表:
从这张报表上,除了能够读出我们将bug限制在规定数目之外,还能反映出以下数据:
当自动化测试覆盖率超过一定百分比后,继续保持它的增长, 对降低bug数量,和测试人员工作效率的提高起到的作用有限。这就是度量过程的意义,让你”看见”过程里发生了什么。
那么问题来了,【看见】有神马用??
通过看见,我们能知道以下问题的答案:
增加自动化测试覆盖率是否能够帮助完成KPI?
答案:能
我们的自动化测试,做的够好了麽?
答案:做的是不是够好,不重要,重要的是够了,图中可以看出,超过60%以后,覆盖率的继续增长对于控制bug数量和提高测试人员生产力的贡献不大。
下一步应该怎么办?
答案:应该保持自动化测试覆盖率在当前水平, 并且尝试其他路径继续提升质量。
综上所述,通过对过程的度量,让我们可以清晰的了解现状,做出未来的决策,或者提供有力的证据帮助公司和客户做决策。
再举个例子,如果你想通过引入敏捷方法中控制WIP来提高生产效率,加速交付速度,一样可以制定类似的组合度量参数,它可能类似于:
-每个月(迭代)交付的功能点数(度量目标)
-每天WIP的数量(度量路径)
-每个功能点的cycle time(度量路径)。
常常有人问,WIP多少算合适?那么通过度量上面的组合, 当你发现过了某一点之后, WIP的继续减少不能对迭代交付的功能点数的增长,和Cycle time的减少有帮助时, 那个WIP就是合适你团队的WIP。
同样的你还可以通过设置其他的组合度量参数,来了解『user story 多小合适』,『是否还要继续推行某敏捷实践』等等因团队而异,没有统一答案的东西。
相比单纯的度量结果,这种度量结果+过程的式能带来的好处有:
既照顾了公司的整体目标,又能考虑到团队之间的差异,提供个性化考核。
可以帮助清晰的了解现状,而不是对现状停留在”感觉”的状态 并且基于分析,形成对未来的洞见。
帮助追踪路径的工作方法的的有效性。 不至于盲目的推行某种工作方法;或者过度驱动某种工作方式;辅助做决策。
有人可能觉得,度量就是为了提供一个标准,比优劣,定赏罚,度量就是竞争。如果抱着这样的想法,恐怕看完这三篇文章,会觉得,这家伙说了很多,但是并没有什么实际用处。最后的结果就是行成了个洞见,还是比较不出好坏来。
确实是这样的。因为我对度量的理解并不是比较的手段,而是【看见】的手段。相比传统的"只对结果进行度量"的方式, 这种度量"结果+过程"的方式,能让我看见三个事情:
看见到底是哪些工作方法(Path)在起作用.
看见这些方法在起什么样的作用.
看见我们什么时候应该停止对某种方法的投入,转而尝试新的方法。
而且这种【看见】是基于客观数据积累的,并不是基于【感觉】,它有更高的准确性和更强大的说服力。
自己能够【看见】,并且帮助组织和客户【看见】,就实现了自身价值的提升,并为公司或客户提供了更大的价值。从而获取更高层次的认可和收获。在激烈的竞争中做到弯道超车。
度量,可以用来提升自己的价值,为客户带来更多价值。也可以用来跟周围的人论短长,玩数字游戏,互相竞争,互相添堵。
最后我们总结一下使用(度量+过程)组合参数的过程:
1:明确度量目标。
2:通过度量成本,选择要采用的过程,也就是方法。
3:构建组合度量参数:
填入第一类参数 - 度量目标
填入第二类参数 – 选择过程里的一些独有特征参数,作为确认过程发生的方法
4:持续追踪,生成报表。密切观察第二类参数对第一类参数的作用,形成洞见。
END
Lisa Guan
微信号:
lisa_summerwind
扫描二维码关注Lisa的公众号,获取更多的关于敏捷实践案例和疑难问题解答。
曾经的码农,架构师,PM
现任敏捷教练,专注敏捷组织转型,领导力转型
做过什么不重要
重要的是想做什么
长按二维码关注
更多敏捷,设计思维实