度量避坑指南,合理选择指标 | IDCF
共 8720字,需浏览 18分钟
·
2021-12-19 09:43
作者:Patrick Kua 领导开发团队利用敏捷方法为客户提供有价值的软件,他是《回顾手册:敏捷团队指南》的作者 译者:冬哥 原文:https://martinfowler.com/articles/useOfMetrics.html
管理层都喜欢指标,是基于这样的出发点,“我们需要一个数字来衡量我们的表现。数字会关注人并帮助我们衡量成功。” 虽然本意是好的,但数字管理会不自觉地导致有问题的行为,并最终有损于更广泛的项目和组织目标。指标本质上并不是一件坏事,只是经常不恰当地被使用。这篇文章展示了管理层对指标的传统使用所引起的许多问题,并提供了解决这些功能障碍的替代方法。
告诉我你如何衡量我,我会告诉你我的行为方式。
——埃利亚胡·戈德拉特
一、我们使用指标的方式有什么问题?
从数字管理角度查看指标的组织遵循如下流程:
管理层提出目标并制定措施; 管理层为从事工作的人制定了一个长期(3-6 个月到1年)的目标; 管理层只传达目标(根据商定的指标); 从事工作的人尽其所能达到目标人数。
指标作为目标——数字的指标使人们特别容易将其用作传达目标的唯一手段。告诉人们一个尺度和一个数字通常比解释一个复杂得多的目标要容易得多。目标通常是一个拍脑门的数字,一些组织甚至花费大量时间来确定该数字应该是多少。 指标作为绩效——有了一个既定的数字而不是一个明确的目标,管理人员现在很容易使用相同的衡量标准来跟踪人们朝着目标前进的速度。许多组织将这些数字与个人绩效目标联系起来。 指标作为最佳实践——将指标同时用作目标和绩效衡量标准会导致意想不到的副作用——这意味着该指标是实现目标的最佳方法。当一个独立的团体使用数字目标来衡量其他人时,它会对从事工作的人施加更大的压力,以达到既定的数字。由于他们仅根据该指标的绩效进行衡量,因此他们会尽其所能来实现该特定指标。这意味着没有其他方法最适合实现最终目标。
一位测试经理,我们称她为Mary,每周都会与开发主管Dan举行会议。“我们的错误数量如何了?” 她问他们最近的一次迭代。丹回答说:“我们清除了三个优先级为一级的错误,修复了四个优先级为二级的错误并清除了创纪录的十二个优先级为三级的错误。这周还不错吧?” 玛丽看着开发负责人,微微摇头,“很遗憾,我们的客户报告了五个一级错误,六个二级错误和十五个三级错误。下周你需要更加努力。” 因错过目标而感到愤怒和不知所措的丹离开了会议,想着让他的团队再工作一个周末。
二、小心你度量的东西
组织喜欢指标,因为它使设定目标更容易,并阻止人们质疑目标背后的目标。这导致管理者对组织效率产生错误的认识。与强大指标相关的强大激励迫使人们只专注于工作的一部分,而忽略了可能使目标更加成功的其他促成因素。组织必须警惕这种积极的破坏性焦点,它会导致人们忽视其他重要因素。
Malcolm 是营销代表,他总是对开发人员为他构建的产品非常感兴趣,因此他会尽可能频繁地到访团队。他经常与开发人员 Dan 交谈,询问他的功能何时完成。Dan,不想让马尔科姆失望,他努力专注于完成马尔科姆提出的任何要求,他知道离Malcolm回来询问进展不远了。Dan经常对自己说,“这个功能一定非常重要。” Tim 是团队的最新的测试人员,经常需要与 Dan 等开发人员联系,以了解如何触发新开发的功能。 有一天,蒂姆走近丹,“嗨丹!我真的需要你的帮助来了解如何测试你上周完成的这个功能。” 丹,在提供快照的压力下,“你不能自己做任何事情吗?我需要完成这个功能,这样马尔科姆才能摆脱我的支持。” 对丹的回应感到震惊,蒂姆回到他的办公桌前,等待着。他心想:“除非丹帮我,否则我什么也做不了。” 每周都会发生这种情况,随着时间的推移,等待测试的故事会越来越多。最终,马尔科姆召集团队开会,关心他两个月前要求的功能在生产中仍然未能看到。令人惊讶的是,丹说他一个多月前就完成了。蒂姆害羞地回答说:“我无法测试那个故事,因为我需要丹的帮助,而他一直忙于其他工作。我不想打断他。”
三、更恰当地使用指标的指南
鉴于因指标使用不当而出现的不良行为,这是否就意味着它们没有立足之地?度量指标当然有其发挥空间,只是需要一种不同的方法。使用以下指南可引导你更恰当地使用指标:
明确地将指标与目标联系起来; 倾向于跟踪趋势而不是绝对数字; 使用更短的跟踪周期; 当指标停止推动变革时改变指标。
方法必须少于 15 行,一个方法的参数不能超过 4 个,方法圈复杂度不得超过 20。
我们希望我们的代码不那么复杂并且更容易改变。因此,我们的目标应该是编写具有低圈复杂度(小于 20 行)的短方法(少于 15 行)。我们还应该瞄准少数参数(最多四个),以便方法尽可能保持专注。
因每周修复错误而沮丧的开发人员Dan考虑为什么他要不断修复错误。在过去的三周里,马尔科姆报告了许多关于事情没有按他预期工作的问题。他退后一步思考到底发生了什么,不再关心他总是被问到的错误数量,而是更多地关心他为什么要开始处理这些错误。 当丹拿起一个故事时,他经常向马尔科姆提出很多关于它应该如何运作的问题。丹知道马尔科姆还有其它营销活动让他忙碌,也明白马尔科姆不能坐在他旁边回答他的问题。丹在交付某些东西方面承受着巨大的压力,因此他做出了几个假设以确保他可以交付一些东西而不是什么都没有。 看着错误,Dan 意识到报告的许多错误都是基于他不断做出的那些小假设。交付某些东西的压力意味着 Dan 从来没有第一次就做出正确的东西。 当丹向马尔科姆解释这一点时,他们同意在每个新故事的开头坐下来,以确保丹的所有问题在他开始编码之前都得到解答。他们在第二周尝试这个,并且报告的错误总数减少了。
结论
指标在组织和团队中具有目的和地位,它们不能用作思考的替代品。组织也不能认为按数字管理就足以有效地交付软件。组织必须警惕因指标使用不当而出现的不良行为。双循环学习帮助我们理解,在组织学会更合适地使用指标之前,不可能存在关注个人行为的不同。
Esther Derby 的 Gaming Incentives - 反思人们如何操纵情况以最大化他们的激励计划。 Vanity Metrics vs. Actionable Metrics 作者 Eric Ries - 精益创业布道者,Eric Ries 描述了如何使指标更具可操作性以及为了衡量而衡量的危险。 速度是杀死敏捷性的 吉姆海史密斯 - 一篇高度相关的文章,描述了公司如何将速度误用为指标。
1:Chris Arygris 和 Donald A. Schön 在他们的著作《组织学习:行动视角理论》中描述了单循环和双循环学习的概念。 2:如应用的用户故事中所述:用于敏捷软件开发。
玩乐高,学敏捷,【规模化敏捷联合作战沙盘之「乌托邦计划」】,2022年3月5-6日登陆深圳,将“多团队敏捷协同”基因内化在研发流程中,为规模化提升研发效能保驾护航!!🏰⛴
企业组队和个人均可报名参加,一起挑战极客乌托邦