关于敏捷:度量避坑指南合理选择指标-IDCF

26次阅读

共计 8482 个字符,预计需要花费 22 分钟才能阅读完成。

管理层都喜爱指标,是基于这样的出发点,“咱们须要一个数字来掂量咱们的体现。数字会关注人并帮忙咱们掂量胜利。”尽管本意是好的,但数字治理会不盲目地导致有问题的行为,并最终有损于更宽泛的我的项目和组织指标。指标实质上并不是一件好事,只是常常不恰当地被应用。这篇文章展现了管理层对指标的传统应用所引起的许多问题,并提供了解决这些功能障碍的代替办法。

通知我你如何掂量我,我会通知你我的行为形式。

——埃利亚胡·戈德拉特

一、咱们应用指标的形式有什么问题?

从数字治理角度查看指标的组织遵循如下流程:

  • 管理层提出指标并制订措施;
  • 管理层为从事工作的人制订了一个长期(3-6 个月到 1 年)的指标;
  • 管理层只传播指标(依据约定的指标);
  • 从事工作的人尽其所能达到目标人数。

这一过程激励出于以下目标对指标进行装载:

  • 指标作为指标——数字的指标使人们特地容易将其用作传播指标的惟一伎俩。通知人们一个尺度和一个数字通常比解释一个简单得多的指标要容易得多。指标通常是一个拍脑门的数字,一些组织甚至破费大量工夫来确定该数字应该是多少。
  • 掂量绩效的指标——有了一个既定的数字而不是一个明确的指标,管理人员当初很容易应用雷同的衡量标准来跟踪人们朝着指标后退的速度。许多组织将这些数字与集体绩效指标分割起来。
  • 指标作为最佳实际——将指标同时用作指标和绩效衡量标准会导致意想不到的副作用——这意味着该指标是实现目标的最佳办法。当一个独立的个人应用数字指标来掂量其他人时,它会对从事工作的人施加更大的压力,以达到既定的数字。因为他们仅依据该指标的绩效进行掂量,因而他们会尽其所能来实现该特定指标。这意味着没有其余办法最适宜实现最终目标。

装载具备多种用处的繁多指标会导致许多问题,尤其是在处理软件等常识工作时。度量是对一个简单得多的属性的一种简化,简化复杂性的代价是以漠视真正的最终目标为代价的,并以次优后果告终。

让咱们看一个例子:

一位测试经理,咱们称她为 Mary,每周都会与开发主管 Dan 举办会议。“咱们的谬误数量如何了?”她问他们最近的一次迭代。丹答复说:“咱们革除了三个优先级为一级的谬误,修复了四个优先级为二级的谬误并革除了创纪录的十二个优先级为三级的谬误。这周还不错吧?”

玛丽看着开发负责人,微微点头,“很遗憾,咱们的客户报告了五个一级谬误,六个二级谬误和十五个三级谬误。下周你须要更加致力。”因错过指标而感到愤恨和手足无措的丹来到了会议,想着让他的团队再工作一个周末。

在这个非常简单的故事中,所抉择的指标达到了使会议疾速进行的益处:在丹报告他的后果和玛丽回应后,两个人都很快理解了停顿。可怜的是,交付有用软件的隐含指标被脱漏了,丹来到会议时提出了一个更可能导致进一步软件问题并连累软件品质的解决方案。

玛丽陈说她的指标的形式给丹施加了压力,要求他缩小谬误的数量,这仿佛是一个值得钦佩的指标。尽管缩小谬误的数量是一个很好的指标,但它也导致了一个十分被动的解决方案,丹来到会议时想着该要多致力工作。Mary 提出的问题漠视了更宽泛的指标,也没有提出关键问题来帮忙领导 Dan 和他的团队解决谬误存在的根本原因。如果不解决这个根本原因,Dan 和他的团队注定要一生修复谬误。

Dan 正在经验单循环学习 [1]。单循环学习是对同一问题的反复尝试,办法没有变动,也从不质疑指标。如果 Dan 心愿解脱这种恶性循环,他须要做一些不一样的事件。软件的不当应用使 Dan 偏离了交付有用软件和进步整体软件品质的最终目标。爱因斯坦对精力错乱的定义仿佛很适宜这里:“一遍又一遍地做同样的事件,却期待不同的后果。”

二、小心你度量的货色

组织喜爱指标,因为它使设定指标更容易,并阻止人们质疑指标背地的指标。这导致管理者对组织效率产生谬误的意识。与弱小指标相干的弱小激励迫使人们只专一于工作的一部分,而疏忽了可能使指标更加胜利的其余促成因素。组织必须警觉这种踊跃的破坏性焦点,它会导致人们漠视其余重要因素。

即便是麻利技术也不能爱护团队免受因测量和跟踪谬误数字而导致的不良行为的影响。例如,麻利团队常常应用故事卡 [2] 进行开发工作。团队常常在其组织的软件生命周期中将这些小的工作增量可视化。一个典型的流程可能看起来像这样,现实的故事流从左到右挪动:

图 1:故事墙示例

管理人员和产品管理人员常常会问这样一个问题:“该性能多久能够实现?”团队通常抉择将其解释为编码实现时,屈服于测试和生产门路是软件过程中微不足道和无关紧要的局部的想法。项目管理则通过提出下述问题进一步强化了这种认识:“咱们这周实现了多少个故事?”而不是更好的问题,“咱们有信念向最终用户公布多少故事?”或者更好的是,“咱们向最终用户公布了多少故事?”再好一些的问题是,“咱们的用户从咱们最近的版本中发现了多少价值?”

团队心愿做正确的事件,因而这些问题和指标促使开发人员专一于让故事开发实现。让咱们看看适度专一于这个次优指标的结果:

Malcolm 是营销代表,他总是对开发人员为他构建的产品十分感兴趣,因而他会尽可能频繁地到访团队。他常常与开发人员 Dan 交谈,询问他的性能何时实现。Dan,不想让马尔科姆悲观,他致力专一于实现马尔科姆提出的任何要求,他晓得离 Malcolm 回来询问停顿不远了。Dan 常常对本人说,“这个性能肯定十分重要。”Tim 是团队的最新的测试人员,常常须要与 Dan 等开发人员分割,以理解如何触发新开发的性能。

有一天,蒂姆走近丹,“嗨丹!我真的须要你的帮忙来理解如何测试你上周实现的这个性能。”丹,在提供快照的压力下,“你不能自己做任何事件吗?我须要实现这个性能,这样马尔科姆能力解脱我的反对。”对丹的回应感到震惊,蒂姆回到他的办公桌前,期待着。他心想:“除非丹帮我,否则我什么也做不了。”

每周都会产生这种状况,随着工夫的推移,期待测试的故事会越来越多。最终,马尔科姆招集团队散会,关怀他两个月前要求的性能在生产中依然未能看到。令人诧异的是,丹说他一个多月前就实现了。蒂姆害羞地答复说:“我无奈测试那个故事,因为我须要丹的帮忙,而他始终忙于其余工作。我不想打断他。”

咱们能够从这个故事中学到什么?首先,对 Malcolm 来说重要的是工作流程曾经实现。只管马尔科姆问什么时候能够实现,但他真正想要的是可能在生产中应用它。咱们晓得蒂姆没有实现工作所需的常识,他的工作以及丹实现更多工作的压力阻止蒂姆取得更多常识。最终的后果是在测试过程中造成了一个恶性循环,始终没有公布,而且 Malcolm 不明确为什么他没有收到他要求的性能。这就是为什么像看板软件开发这样的办法激励 明确的正在进行的工作 限度。当瓶颈呈现时,这些限度迫使人们帮忙别人。这些 WIP 限度有助于克服当人们用谬误的集体生产力指标而不是交付的整体价值来掂量时呈现的不良行为。《精益软件开发》一书,强调掂量端到端后果的重要性,而不仅仅是过程的一小部分,并提出称之为“优化整体”的准则。优化整体意味着确保应用的指标不会推动次优行为实现交付有用软件的真正指标。

三、更失当地应用指标的指南

鉴于因指标使用不当而呈现的不良行为,这是否就意味着它们没有立足之地?度量指标当然有其施展空间,只是须要一种不同的办法。应用以下指南可疏导你更失当地应用指标:

  • 明确地将指标与指标分割起来;
  • 偏向于跟踪趋势而不是相对数字;
  • 应用更短的跟踪周期;
  • 当指标进行推动改革时扭转指标。

3.1 明确地将指标与指标分割起来

在传统格调中,管理层决定实现特定指标的最佳措施是什么;而后,管理层依据该措施设定指标;而后,管理层只向从事工作的人说明这个指标,通常是用数字示意。为监控指标停顿而抉择的措施与理论指标自身之间的界线很含糊。随着工夫的推移,掂量背地的起因隐没了。即使是该指标与最终目标不再相干,人们却仍然专一于实现指标。度量的一个更适合的用处是确保所选的进度度量(指标),始终与其目标(指标)相干。

例如,在软件开发的场景中,您可能会看到如下定义的指标:

  • 办法必须少于 15 行,一个办法的参数不能超过 4 个,办法圈复杂度不得超过 20。

适当的应用度量规范,每一项措施都应与其最后的目标明确分割起来。以后的跟踪和监控机制必须与其指标解耦,并明确指标以便帮忙人们更好地了解指标的用意。存在于更丰盛的上下文中的度量将领导人们为实现目标做出更适合、更求实并且更有用的决策。不足目标,付出的致力意味着人们千方百计创造性地和零碎做游戏,最终将偏离真正的指标。

这是后面例子该有的样子:

  • 咱们心愿咱们的代码不那么简单并且更容易扭转。因而,咱们的指标应该是编写具备低圈复杂度(小于 20 行)的短办法(少于 15 行)。咱们还应该瞄准多数参数(最多四个),以便办法尽可能放弃专一。

将指标与指标明确分割起来,能够让人们更好地挑战其相关性,找到满足需要的其余办法,并帮忙人们了解数字背地的用意。如果没有明确的目标,人们可能会千方百计,却无心中违反了隐含的指标。例如,许多技术可能都有助于缩小办法长度,但如果不以正确的用意利用则更难浏览,从而减少整体复杂性。

软件开发的实质意味着大多数工作是常识工作,因而很难察看。监控流动(他们坐在电脑前的工夫)很容易,但很难察看他们产生的价值(满足理论需要的有用软件)。人们越远离代码,他们就越难了解所波及的复杂性。这意味着,对于离工作最远的人来说,要真正理解监控指标停顿的最佳措施,即便不是不可能,也是十分艰难的。

转向更失当地应用指标意味着管理层不能孤立地提出措施。他们不能再自欺欺人地认为本人晓得监控进度的最佳办法,并进行执行可能与指标最相干也可能息息相关的措施。相同,管理层负责确保始终保持最终目标,与最理解零碎的人单干,提出最有意义的措施来监控进度。

3.2 偏向于跟踪趋势而不是相对数字

管理层对于指标难以抗拒,因为它将组织的复杂性提炼为每个人都能了解的货色,一个数字。很容易看出一个数字比另一个更大或更小,或者一个数字与另一个数字的间隔有多远。然而很难看出这个数字是否依然相干。传统的治理办法喜爱应用这些指标,因为它能够在实现目标时轻松沟通。“只有达到这个数字,咱们就会没事的”。

当你将一个定性的和高度解释性的问题(想想生产力、品质和可用性)转化为一个数字时,任何数字都是绝对的和随便的。5% 和 95% 的代码覆盖率可能存在显着差别,但 94% 和 95% 之间真的存在显着差别吗?抉择 95% 作为指标有助于人们理解何时进行,但如果须要付出一个数量级的致力能力取得最初的 1%,这真的值得吗?这只是人们必须在他们本人的组织环境中主观解决的事件。

与指标是否实现相比,查看趋势提供了更乏味的信息。确定是否达到目标很容易,难的是,管理人员必须与有技能的人一起来实现察看趋势的工作,看看他们是否朝着冀望的方向和是否以足够快的速度后退。趋势为随组织复杂性而来的绩效提供了当先指标。当趋势越来越远离现实状态时,关注数字的差距显然毫无意义。

关注趋势很重要,因为它会依据无关施行的任何更改的实在数据提供反馈,并为组织做出更多反馈抉择。例如,如果团队正在远离现实状态,他们能够问问本人是什么导致他们偏离指标,以及他们能够做些什么。它比简略地在计算出数字之前尽可能多地采取行动要早得多。如果一个团队发现自己趋向于现实状态,他们能够问问本人是什么在帮忙他们朝着指标后退,还有什么能够做来放慢这个速度。测量团队激励人们进行更多的试验,调整一件事并察看它对趋势的影响,

任意的相对数字也会造成无助感,尤其是当实现目标的停顿迟缓并且对其余部门或团队管制之外的公司政策的依赖妨碍了更多停顿时。趋势有助于将人们的致力集中在朝着正确的方向后退,而不是在看似无奈解决的差距之间陷入瘫痪。

更失当地应用指标须要管理层更多地参加报告和记录趋势的变动,因为围绕团队建设生态系统是管理层的责任。这个生态系统包含组织的政策、工作安顿或打算的形式以及团队和人员的组织形式。这种生态系统通常对集体付出的致力对趋势的影响要大得多。管理层应该对趋势感兴趣,以察看变动对这个生态系统的影响。

适当应用指标会发现趋势比相对数字更有用。如果没有正确的趋势,任意给出的指标就没有多大意义,当思考影响趋势的因素以及能够采取哪些措施来影响趋势时,更好的问题会浮现,而不是随便的指出数字与事实之间的差距。

3.3 指标作为棘轮

Thoughtworks 常常被要求援救每次更改须要太长时间的软件我的项目。被认为很小的扭转通常须要一个月以上的工夫能力真正实现。这些类型的我的项目具备一个十分独特的特色——代码品质被视为预先思考项,并且曾经产生了大量的技术债权。

典型救济我的项目的代码库充斥了大量代码异味。在许多畛域(如许多并行继承层次结构)中都弥漫着繁多的代码滋味的呈现频率很高;其余状况,代码滋味很大,例如一个过大的办法;最坏的状况,代码异味的呈现频率和水平都很大。解决这些问题中的任何一个一开始仿佛都是不可能的,因为解决一个问题的致力是压倒性的。始终如一地解决繁多代码异味很艰难,因为它须要立刻进行交付增量业务价值。

扭转低质量的趋势是惟一的前途,通过棘轮机制使其成为可能,我的共事 Chris Stevenson 在他的博客文章“应用棘轮机制修复损坏的 Windows”中提到了这个词。

棘轮机制波及将代码剖析工具增加到继续集成的构建中,当某个指标超过某个值时,CI 就会失败。团队通常都以这种形式作为开始,将其增加到继续集成构建中,免得进一步朝着谬误的方向倒退。在交付其余性能和业务价值的同时,逐渐解决所选代码异味的问题,一次一小步。在每次小的改良上,团队都会向下批改指标的以后值。

仿佛是一个无奈解决的问题,一次被拆成一小块。棘轮到位以避免向后挪动,每一个小的改良都会将趋势推向正确的方向。

3.4 应用更短的跟踪周期

许多组织应用指标来设定很长一段时间的指标,通常是 3-6 个月,甚至长达一年或更长时间。管理人员制订了这个指标,负责工作的人有责任尽他们所能来实现这个指标。管理层在期末从新扫视这一指标,以评估从事工作的人员。在这个零碎中,管理层和员工之间的关系,说的好听点,能够形容为对抗性的。员工尽其所能实现目标,而这隐含的想法是管理层没有任何的责任。

长时间之后从新扫视指标的后果是,未能达到管理层的指标变得越来越不可承受。我听过经理这样说,“你有整整一年的工夫来实现你的指标,但你错过了它。”跟踪期越长,失败的危险和老本就会减少。

麻利办法更喜爱较短的审查工夫,因为任何性能差距的老本都较低。一周内没有获得足够的提高远不如一整年没有获得足够的提高重要。每周回顾停顿比一年后回顾停顿产生更多的抉择,仅仅是因为有更多的机会做出反馈和扭转。在短短的一段时间(例如一周)之后,你还会取得更多对于理论产生的事件而不是打算内容的数据,这应该用于通过应用它来推动改革来影响后果。

组织能够从应用较短的跟踪周期中受害,因为它为从新布局发明了更多机会,从而实现了最大价值。

我与一个团队单干,该团队每两周将软件公布到生产环境中。该企业喜爱定期公布,因为这样他们简直能够立刻应用该软件。在应用最新版本之后部署的软件时,该企业发现他们领有足够的性能,简直能够实现新营销打算所需的所有,而这只是他们最后需要的一小部分。

与开发团队编写可能永远不会应用的性能不同,业务抉择了残余故事的一小部分并开始着手下一个打算。

适当应用指标能够在较小的周期内跟踪进度,因为它提供了更多对于我的项目未来可能会在哪里完结的信息。跟踪较小的周期有助于辨认趋势,暂停使组织可能更明智地辨认影响环境和趋势的速率 / 方向。

跟踪更短的周期还能够实现更多的合作,因为它为管理层提供了更多参加的机会。不是简略地在较大周期完结时评估人们,而是跟踪较小周期提供无关影响趋势的理论状况的更多数据。

3.5 当指标进行推动改革时扭转指标

如果组织可能轻松实现目标,他们就永远不须要指标。组织能够改变方向,能够立刻达到目标。可怜的是,这在事实中不会产生,这就是措施存在的起因,实现目标通常须要更长的工夫。正确应用指标的第一条准则将理论指标与为监控实现该指标的进度而抉择的措施离开。真正的指标必须始终明确。

准则 #2 和 #3,监控趋势并在更短的工夫内,这样做是为了帮忙组织更快地实现他们的指标。它不是通过本章后面形容的单循环学习来实现的。组织须要的是 Argyris 所说的双循环学习。适当应用指标会促使人们质疑指标,并依据收集的实在数据施行改革以实现目标。

这是双循环学习的样子:

因每周修复谬误而丧气的开发人员 Dan 思考为什么他要一直修复谬误。在过来的三周里,马尔科姆报告了许多对于事件没有按他预期工作的问题。他退后一步思考到底产生了什么,不再关怀他总是被问到的谬误数量,而是更多地关怀他为什么要开始解决这些谬误。

当丹拿起一个故事时,他常常向马尔科姆提出很多对于它应该如何运作的问题。丹晓得马尔科姆还有其余营销流动让他繁忙,也明确马尔科姆不能坐在他旁边答复他的问题。丹在交付某些货色方面接受着微小的压力,因而他做出了几个假如以确保他能够交付一些货色而不是什么都没有。

看着谬误,Dan 意识到报告的许多谬误都是基于他一直做出的那些小假如。交付某些货色的压力意味着 Dan 素来没有第一次就做出正确的货色。

当丹向马尔科姆解释这一点时,他们批准在每个新故事的结尾坐下来,以确保丹的所有问题在他开始编码之前都失去解答。他们在第二周尝试这个,并且报告的谬误总数缩小了。

双循环学习须要更多对于理论状况的数据。较短的周期会产生更多的数据点,从而更容易看到任何趋势。这些趋势提供了对系统以后性能的洞察力,应该用于引发对系统中更深层次潜在力量的思考和问题解决,而不仅仅是跟踪性能测量。施行真正的改革有助于减速组织实现其以后指标。

扭转人们工作的零碎通常比关注集体更致力或更快工作的影响要大得多。在咱们的故事中,丹本能够每周花更多工夫来尝试修复谬误,然而通过调整信息流以及马尔科姆和丹之间的工作关系,他们使零碎变得更加无效。

我的项目的预先剖析会在我的项目实现后进行回顾,从中吸取经验教训,心愿将其利用于将来的我的项目或在整个组织中流传。在我的项目完结时进行预先剖析没有机会将这些学习理论利用于我的项目自身。麻利回顾的用意有所不同,他们在我的项目进行中寻求扭转,在这种状况下,口头比最终产生的影响更大。这些会议为团队寻找改革机会发明了机会,只管依然依赖人员和组织来承诺这些改革。

当组织达到其指标时,就该返回用于实现目标的指标了。请记住,如果组织能够立刻实现他们的指标,则永远不须要度量指标。定义、跟踪、监控和解释指标须要工夫和资源,而这些工夫和资源本能够更好地用于实现新的指标。适当的应用指标,组织须要随时放弃不再相干的指标,而不是保留他们习惯收集的所有指标。

你能够通过询问人们“为什么咱们须要收集这个数字?”来寻找可能过期的指标的一些症状。一个蹩脚的回应可能包含:“咱们始终都是这样做的”,或者更糟的是,“这是咱们的政策。”这个问题不肯定能辨别解释不清的指标或过期的指标,因而可能须要多开掘一些。管理层有责任确保组织的工夫不会节约在收集和保护不必要的指标上。

论断

指标在组织和团队中具备目标和位置,它们不能用作思考的替代品。组织也不能认为按数字治理就足以无效地交付软件。组织必须警觉因指标使用不当而呈现的不良行为。双循环学习帮忙咱们了解,在组织学会更适合地应用指标之前,不可能存在关注个人行为的不同。

通过适当应用指标,组织能够将每个指标与每个人都了解的明确指标分割起来。抉择用于监控进度的措施必须与指标脱钩,并随着工夫的推移挑战每个指标的相关性。应用指标的组织更失当地了解察看趋势的价值,在更短的工夫内进行监控以理解集体、治理和组织的影响。更好的应用还意味着常常检查和调整这些影响,以确保在一直评估适宜度的最终目标的背景下趋势减速、加速和逆转。

相干文章

您可能会发现以下无关应用和误用指标的文章很乏味:

  • Esther Derby 的 Gaming Incentives – 反思人们如何操纵状况以最大化他们的激励打算。
  • Vanity Metrics vs. Actionable Metrics 作者 Eric Ries – 精益守业布道者,Eric Ries 形容了如何使指标更具可操作性以及为了掂量而掂量的危险。
  • 速度是杀死敏捷性的 吉姆海史密斯 – 一篇高度相干的文章,形容了公司如何将速度误用为指标。

脚注

  • 1:Chris Arygris 和 Donald A. Schön 在他们的著述《组织学习:口头视角实践》中形容了单循环和双循环学习的概念。
  • 2:如利用的用户故事中所述:用于麻利软件开发

作者:Patrick Kua 领导开发团队利用麻利办法为客户提供有价值的软件,他是《回顾手册:麻利团队指南》的作者

译者:冬哥

原文:https://martinfowler.com/arti…

玩乐高,学麻利,规模化麻利联合作战沙盘之「乌托邦打算」,2022 年 3 月 5 - 6 日登陆深圳,将“多团队麻利协同”基因内化在研发流程中,为规模化晋升研发效力保驾护航!!🏰⛴公众号回复“乌托邦”可加入

正文完
 0