度量避坑指南,合理选择指标 | IDCF
一位测试经理,我们称她为 Mary,每周都会与开发主管 Dan 举行会议。“我们的错误数量如何了?” 她问他们最近的一次迭代。丹回答说:“我们清除了三个优先级为一级的错误,修复了四个优先级为二级的错误并清除了创纪录的十二个优先级为三级的错误。这周还不错吧?”
玛丽看着开发负责人,微微摇头,“指标都有助于以简单地方式 很遗憾,我们的客户报告了五个一级错误,六个二级错误和十五个三级错误。下周你需要更加努力。” 因错过目标而感到愤怒和不知所措的丹离开了会议,想着让他的团队再工作一个周末。
玛丽陈述她的目标的方式给丹施加了压力,要求他减少错误的数量,这似乎是一个值得钦佩的目标。虽然减少错误的数量是一个很好的目标,但它也导致了一个非常被动的解决方案,丹离开会议时想着该要多努力工作。Mary 提出的问题忽视了更广泛的目标,也没有提出关键问题来帮助指导 Dan 和他的团队解决错误存在的根本原因。如果不解决这个根本原因,Dan 和他的团队注定要终身修复错误。
Dan 正在经历单循环学习[1]。单循环学习是对同一问题的重复尝试,方法没有变化,也从不质疑目标。如果Dan希望摆脱这种恶性循环,他需要做一些不一样的事情。软件的不当使用使 Dan 偏离了交付有用软件和提高整体软件质量的最终目标。爱因斯坦对精神错乱的定义似乎很适合这里:“一遍又一遍地做同样的事情,却期待不同的结果。”
二、小心你度量的东西
管理人员和产品管理人员经常会问这样一个问题:“该功能多久可以完成?” 团队通常选择将其解释为编码完成时,屈服于测试和生产路径是软件过程中微不足道和无关紧要的部分的想法。项目管理则通过提出下述问题进一步强化了这种看法:“我们这周完成了多少个故事?” 而不是更好的问题,“我们有信心向最终用户发布多少故事?” 或者更好的是,“我们向最终用户发布了多少故事?” 再好一些的问题是,“我们的用户从我们最近的版本中发现了多少价值?”
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 指标作为棘轮
扭转低质量的趋势是唯一的出路,通过棘轮机制使其成为可能,我的同事 Chris Stevenson 在他的博客文章“使用棘轮机制修复损坏的 Windows ”中提到了这个词。
3.4 使用更短的跟踪周期
许多组织使用指标来设定很长一段时间的目标,通常是 3-6 个月,甚至长达一年或更长时间。管理人员制定了这个目标,负责工作的人有责任尽他们所能来实现这个目标。管理层在期末重新审视这一目标,以评估从事工作的人员。在这个系统中,管理层和员工之间的关系,说的好听点,可以描述为对抗性的。员工尽其所能实现目标,而这隐含的想法是管理层没有任何的责任。
3.5 当指标停止推动变革时改变指标
准则#2 和#3,监控趋势并在更短的时间内,这样做是为了帮助组织更快地实现他们的目标。它不是通过本章前面描述的单循环学习来实现的。组织需要的是 Argyris 所说的双循环学习。适当使用指标会促使人们质疑目标,并根据收集的真实数据实施变革以实现目标。
因每周修复错误而沮丧的开发人员Dan考虑为什么他要不断修复错误。在过去的三周里,马尔科姆报告了许多关于事情没有按他预期工作的问题。他退后一步思考到底发生了什么,不再关心他总是被问到的错误数量,而是更多地关心他为什么要开始处理这些错误。
当丹拿起一个故事时,他经常向马尔科姆提出很多关于它应该如何运作的问题。丹知道马尔科姆还有其他营销活动让他忙碌,也明白马尔科姆不能坐在他旁边回答他的问题。丹在交付某些东西方面承受着巨大的压力,因此他做出了几个假设以确保他可以交付一些东西而不是什么都没有。
看着错误,Dan 意识到报告的许多错误都是基于他不断做出的那些小假设。交付某些东西的压力意味着 Dan 从来没有第一次就做出正确的东西。
当丹向马尔科姆解释这一点时,他们同意在每个新故事的开头坐下来,以确保丹的所有问题在他开始编码之前都得到解答。他们在第二周尝试这个,并且报告的错误总数减少了。
多重因素分析在大学评估指标整合中的应用
多重因素分析(Multiple Factor Analysis,MFA)是基于主成分分析(Principal Components Analysis,PCA)的一种统计方法,与传统的因素分析不同,传统的因素分析方法是将所有变量作为一个整体来进行因子提取,用较少的因子来表征数据的特征。当所收集的数据既有连续变量又有分类变量或是明显属于不同维度的数据时就不适宜采用传统的因素分析方法。多重因素分析通过将变量分成几个子群,对每个子群和总群分别进行主成分分析,进而考察子群与总群之间和各个子群之间的关系,为深入了解事物(变量)之间的关系提供了一种有效的数据分析方法,鉴于多重因素分析方法能够同时处理具有不同属性的变量,它就成为同时分析(simultaneous analysis)或联合分析(joint analysis)的重要方法之一。[4][5]
多重因素分析中,当一个变量组群在某个方向上具有较大惯量时,最终该变量组群会对整体分析的主轴产生影响偏差,因此需要对每个变量组群的最大轴惯量进行归一化处理。即每个变量组群的变量先各自进行标准化和归一化处理,再对所构成的矩阵进行奇异值分解,将奇异值作为矩阵的标准差,然后利用首奇异值对各变量值实施加权处理,从而使最大轴惯量归一化。由于奇异值的平方等于对该变量组群进行主成分分析后所得的特征值,所以在计算奇异值时也通常利用主成分分析计算每个变量组群的特征值,借此对每个变量组群进行加权,最后将加权后的变量组群拼接在一起通过主成分分析或矩阵的奇异值分解来进行整体分析(参见图1)。通过整体分析除能够揭示由观测对象所组成的空间结构外,多重因素分析还提供了叠加表征方法,既可以将变量叠加至空间中,也可以将观测对象叠加到空间中,以图形化的方式来直观揭示观测对象之间、变量之间、组群之间或因素之间的关系。针对不同变量组群对观测对象所进行的主成分分析(因素分析)可以称之为“局部分析”,那么通过局部分析所得到的观测对象的空间结构之间是否具有相似性?它们之间的关系如何?这正是引言中所涉及的问题。
注:i为某观测对象;表示观测对象i在变量组群j所构成的空间中的表征。
指标都有助于以简单地方式
搜索
友情链接:
邮政编码:610041
指标都有助于以简单地方式
【摘要】绩效预算是市场经济条件下预算改革的方向,推行绩效预算在我国正处于理论准备和调研可行性阶段。正确理解绩效预算的含义才能在绩效预算改革中少走弯路。本报告根据绩效预算的起因以及西方国家对绩效预算所作的相关定义,对绩效预算的确切含义做了探讨,并着重分析了政府绩效评价体系与绩效预算的关系。本报告根据科学发展观和执政为民的执政观对政府绩效作出了解释,并认为政府绩效评价体系作为绩效预算的基础部分,其基本要点包括确定政府目标、评价标准和评价指标。本报告认为,地方政府政绩考核作为政府绩效评价体系的雏型,其内容的设计及其合理化对推行绩效预算具有奠基作用。
【关键词】绩效 预算 制度 改革
三、绩效预算对政府预算制度改革中的启示
就现实国情而言, 由于我们目前没有做到把政府的全部资源特别是公共资产方面的资源都纳入预算管理的范围, 也缺乏准确地把握完成绩效目标需耗费的成本的完备的预算信息和预算分析能力, 财经纪律弱化仍然没有从根本上得到遏制, 并且实行新绩效预算需要一个支持和强调预算的公共责任与追求结果绩效的氛围与机制, 需要发展出一套成熟而且运行成本比较低、达成一致的绩效测量体系。因此简单和盲目移植西方国家预算管理经验, 难免出现"淮橘成枳"的结果。当前应在部门预算改革、国库集中收付、政府采购的支出管理改革的基础上, 为实施成功的绩效预算积极创造条件
(一)加快构建完整统一的公共预算体系。中国公共财政框架的构建, 无疑需要建立在全部政府收支纳入预算的基础之上。只有全部政府收支纳入预算, 在建立完整统一的公共预算体系的前提下, 人民代表大会以及广大人民群众才能谈得上真正监督政府支出的绩效提升。因此, 应当以建立完整统一的公共预算作为一项重要的改革议程。以着眼于规范政府运行机制的“费改税”为契机, 逐步将预算外收支纳入预算管理。在此基础上, 形成一个覆盖政府所有收支、不存在任何游离于预算之外的政府收支项目的公共预算体系。
(二)以法律规范推进绩效管理改革, 逐步提升预算管理的透明度。绩效管理涉及职责与权能的重新分配, 利益结构也会重新整合, 在使一些部门受益的同时, 也会影响另一些部门的既得利益。由于法律所具有的相对稳定性和权威性, 为了降低改革的阻力, 顺利推进绩效预算改革, 市场经济国家通常借助于立法手段, 以法律的形式将各方的权利和义务固定下来。就公共预算管理的立法修订与完善而言, 需要在各方面的支持配合下, 立足于我国基本国情和市场经济的客观需要, 吸取国际上的成功经验, 深入开展调查研究, 广泛听取各方面意见, 在公共预算绩效评价与绩效管理、财政支出透明度方面, 进一步完善相关的立法规范。
(三)推进权责发生制政府会计与预算改革, 真实、完整、全面地反映政府绩效。权责发生制的政府会计制度, 能够比较全面、准确地反映一些长期项目和或有债务的信息, 有助于增加预算信息的完整性、可信度和透明度, 加强预算成本计量与政府业绩考核。目前, 澳大利亚、新西兰及英国、瑞典、美国等国家已经在政府预算会计中使用权责发生制, 或部分采用权责发生制。为了真实、完整地反映政府活动的成本和绩效, 应在政府会计及预算中引进权责发生制, 更为准确、全面地反映政府部门的真实绩效。
(四)创新预算编制方法与编制过程, 逐步引入绩效评价内容, 建立起绩效评价结果与预算编制紧密结合的预算约束机制。建立这种新的预算分配和考评机制, 首先, 要建立起体现部门战略规划的滚动预算制度, 增强预算的前瞻性和连续性, 为编制部门年度预算和实施绩效考评创造条件。其次, 建立体现部门年度绩效计划的部门年度预算制度, 提出明确的绩效目标, 并将年度预算置于滚动预算的约束之下, 真正形成滚动预算计划的分年度实施预算。最后, 运用绩效指标对年度预算进行绩效评价, 并根据考评结果, 安排、调整下一年度预算, 强化绩效评价结果对预算的约束。(姚丽媛)