阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

敏捷度量指标争论又起

  • 2009-11-11
  • 本文字数:1402 字

    阅读完需:约 5 分钟

敏捷教练和咨询顾问们经常警告他们的客户:传统的度量指标,诸如收益价值、工作小时数、代码行数,以及代码测试覆盖率等都不能与敏捷项目很好地吻合。但是这样,客户们就会产生下面的问题:什么是好的敏捷度量指标?相对于坏的度量指标,怎么能提出好的度量指标?即使是好的度量指标,在某些环境里是否也会变得不再合适?

XP/Scrum 团队里面经典的度量指标自然是开发速率(Velocity),或者说团队在上一次迭代里面完成了多少开发工作?这个指标起初只是为了帮助团队更好地决定下一次迭代的计划工作量。然而,“开发速率是否可以度量团队的生产率,或者比较两个团队?”——这样的问题却屡见不鲜。 Hiren Doshi 指出开发速率这一参数是与具体团队相关的。另外,敏捷顾问 Peter Stevens 也质疑团队是否会因此在度量上耍花招:这个故事应该是 2 个点,还是 3 个点?这完全依赖于团队的判断。如果团队认为需要交付尽可能多的故事点数,那么他们显然会选择 3 个点,也许更多——5 个点。”

敏捷/ 精益教练 Dave Nicolette 警告大家设计拙劣的度量指标会导致低劣的产出结果。举例来说,如果业务上奖赏修复 bug 和救火的行为——人们就会因此去制造 bug,四处点火。

敏捷教练 Deborah Hartmann Press 和敏捷管理顾问 Robin Dymond 在他们的论文“ Appropriate Agile Measurement ”中给出了好的敏捷度量指标的几个启发性原则:

  • 坚持并强化精益与敏捷原则
  • 度量产出结果,而不是产量
  • 追踪趋势,而不是数量
  • 选取轻量的度量指标和“诊断”方法
  • 易于收集
  • 展示指标的上下文和重要的参数,而不是掩饰
  • 促进有意义的讨论
  • 度量价值(产品)或者流程
  • 鼓励“足够好”的质量

那么,什么是好的敏捷度量指标?

Ron Jeffries 建议使用可工作的经过测试的特征数量(Running Tested Features,简写为 RTF,下同):

  1. 所需的软件被分解为给定名称的特征(需求、故事等),它们组成了需要交付的整个系统
  2. 对于每个给定名称的特征,至少有一个或者多个自动化验收测试,(当它们都通过了),反映了特征已经全部完成
  3. RTF 指标表示了项目在各个时刻有多少特征通过了各自的全部验收测试

Scrum 教练 Peter Hundermark 建议可工作的自动化测试数量(Running Automated Tests)也是度量指标:

在一定条件下,团队拥有更多的可工作的(即通过的)自动化测试,对于软件质量是一个积极的信号。但一旦超出某个水平,该项指标就将不再真实,但我们还没有遇到哪支团队达到了这一点。(我们倒希望遇到呢!)

根据小道消息,在 salesforce.com 向敏捷的大转变中,这项指标就是该公司使用的主要指标之一。

此外,他还提到了“进行中工作量”:

进行中的条目项(故事)是一种生产率指标。它旨在帮助团队跟踪他们的协作状态。在敏捷团队里,这表示对于整个团队而言,只要条件允许,就在单个工作条目上协作直到其“完成”。这样增加了产出率、质量和相互之间的学习,减少了直到 Sprint 结束时条目仍未完成的风险,那样导致了浪费。 跟踪每天有多少任务项处于“进行中”状态,能使团队的协作程度透明化。图表则以天为单位对进行中的故事进行跟踪。它反映出 Sprint 的不可预测性:它应该随着时间逐渐趋近于 1,一旦出现任何大于 2 的数值,Scrum Master 就该行动了。

最后,Deborah 和 Robin 提醒大家在设计指标的时候,不仅应该考虑何时使用,也要考虑何时停止使用,以及可能的利益博弈。

请参阅 InfoQ 之前相关报道: Metrics in an Agile World Agile EVM 查看英文原文: What is a Good Agile Metric?

2009-11-11 20:152485
用户头像

发布了 76 篇内容, 共 23.3 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

Mac强大音频采样器Kontakt 7 激活版

Rose

mac音频采样器 Kontakt 7激活版 Native Instruments Kontakt 7 mac下载

弯道超车!阿里高工新产Java面试速成指南,面试骚操作都在里面了

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

5个编写高效Makefile文件的最佳实践

小万哥

c++ Linux 程序员 面试 后端

从源码分析可重入锁(ReentrantLock)

做梦都在改BUG

Java 源码 多线程 ReentrantLock

互联网广告全国精准投放合作 全媒体广告平台代理加盟 利润80%

互联网广告践行者

创业 互联网广告 互联网创业

JVM调优神器,运用 Arthas 释放 Java应用性能的全部潜力

做梦都在改BUG

Java JVM 性能调优 Arthas

肝完阿里最新Java并发编程全优笔记,我成功晋升公司架构组

做梦都在改BUG

Java 并发编程

真香!阿里最新出品Java面试核心讲(终极版),Github已星标50K

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

Cloud Studio 高阶玩家:强大的 YAML 模板

CODING DevOps

JDK源码怎么学?看这篇文章就够了!

Java永远的神

Java 程序员 多线程 jdk源码 架构师

AIGC背后的技术分析 | 机器学习中的卷积神经网络

TiAmo

卷积神经网络 AIGC

Exposure X7 Bundle下载|专业的照片处理插件套装

Rose

滤镜插件 Exposure X7 Bundle下载 Exposure X7中文版

深入理解 ThreadLocal:原理及源码解读

Java你猿哥

Java 源码 多线程 ssm ThreadLocal

吃透阿里2023版Java性能优化小册后,我让公司系统性能提升了200%

做梦都在改BUG

Java 性能优化 性能调优

原生Mac视频下载器Downie4许可证下载v4.6.17

Rose

Mac 视频下载工具 Downie 4 下载 Downie4许可证 Downie 4 Mac版 Downie 4中文版

Mac平台上的条形码生成工具分享~

真大的脸盆

Mac Mac 软件 条形码生成工具 条形码软件

PoseiSwap以2500万美元估值,再获新一轮融资

西柚子

2023最新最全的Java面试八股文小抄开源!带你摸熟 20+ 互联网公司面试考点

采菊东篱下

Java 面试

阿里P8整理的《百亿级并发系统设计》实战手册,实在是太香了

程序知音

Java 高并发 java架构 Java进阶 后端技术

硬核!阿里出品2023版Java架构师面试指南,涵盖Java所有核心技能

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

熬了一个月肝出这份32W字Java面试手册,在Github标星31K+

程序知音

Java java面试 后端技术 Java八股文 Java面试题

太爆了!阿里最新出品2023版JDK源码学习指南,Github三天已万赞

Java你猿哥

Java 源码 jdk 多线程 jdk源码

太猛了!Github大佬那白嫖的分布式进阶宝典,啃完感觉能吊锤面试官

Java你猿哥

Java 架构 软件开发 ssm 架构设计

2024深圳电子信息展

AIOTE智博会

美团二面:聊聊ConcurrentHashMap的存储流程

Java你猿哥

Java 源码 ssm ConcurrentHashMap 红黑树

求爷爷告奶奶,阿里大佬才甩出这份Spark+Hadoop+中台实战pdf

程序知音

大数据 hadoop spark 后端技术

2023最新版互联网Java高级工程师面试八股文出炉!面面俱到,太全了

架构师之道

编程 java面试

卷起来了!阿里最新出品“微服务全阶笔记”,涵盖微服务全部操作

做梦都在改BUG

Java 架构 微服务 Spring Cloud spring cloud alibaba

内部消息!阿里首次10亿级并发系统设计文档,Github都为之低头?

Java你猿哥

架构 ssm 高并发 并发系统设计 并发系统

小白白也能学会的 PyQt 教程 —— 图像类及图像相关基础类介绍

繁依Fanyi

Python PyQt

HashMap 底层是如何实现的?

做梦都在改BUG

Java hashmap

敏捷度量指标争论又起_研发效能_Mark Levison_InfoQ精选文章