50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

敏捷度量指标争论又起

  • 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:153009
用户头像

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

关注

评论

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

2023-10-18:用go语言,给定一个数组arr,长度为n,表示有0~n-1号设备, arr[i]表示i号设备的型号,型号的种类从0~k-1,一共k种型号, 给定一个k*k的矩阵map,来表示型号

福大大架构师每日一题

福大大架构师每日一题

Generative AI 新世界 | 大模型参数高效微调和量化原理概述

亚马逊云科技 (Amazon Web Services)

人工智能 机器学习 生成式人工智能 Amazon SageMaker 大语言模型

消除隐患 防患未然|AIRIOT智慧消防管理解决方案

AIRIOT

语音识别技术:端到端的挑战与解决方案

数据堂

大规模语言LLaVA:多模态GPT-4智能助手,融合语言与视觉,满足用户复杂需求

汀丶人工智能

人工智能 计算机视觉 GPT 大语言模型

软件测试/测试开发丨深入了解性能测试:方法、工具和最佳实践

测试人

软件测试 性能测试 测试开发

Disruptor在流程编排中的应用与探索

ZA技术社区

金融科技 众安保险 ZA技术社区 keji

OpenHarmonyMeetup2023深圳站圆满举办

科技热闻

阿里内推强推的并发编程学习笔记,原理+实战+面试题,面面俱到!

小小怪下士

Java 程序员 并发编程

敏捷思维和免费敏捷管理工具

顿顿顿

敏捷项目管理 敏捷开发管理工具 scrum工具 scrum敏捷工具 敏捷开发工具

低代码系列——可视化编辑器

互联网工科生

低代码 可视化编排

语音识别技术的挑战与机遇再探讨

数据堂

稳定币揭幕:了解发展策略

区块链软件开发推广运营

数字藏品开发 dapp开发 区块链开发 链游开发 NFT开发

“创新启变 聚焦增长”极狐(GitLab)媒体沟通会,共话智能时代软件开发新生态

极客天地

数字化转型与架构-架构设计篇|系统组件有哪些?

数字随行

数字化转型

语音识别技术的行业应用与发展趋势

数据堂

腾讯云发布新品数据编排平台(dop)-与大数据生态紧密结合,提供通用数据编排服务

腾讯云大数据

大数据

低代码:时代的选择

树上有只程序猿

低代码 低代码开发平台

9款好用的在线流程图软件推荐!

彭宏豪95

效率 流程图 在线工具 科技 流程图绘制

TiDB 7.4 发版:正式兼容 MySQL 8.0

编程猫

文心4.0,启动大模型时代的飞轮效应

脑极体

AI

从手动操作到自动化管理,如何实现企业身份业务全面自动化?

Authing

事件驱动 企业管理 Authing 身份自动化

五大场景告诉你,如何把iPaaS运用到实处

谷云科技RestCloud

数据同步 数据同步工具 ipaas

等不及了,2023云栖大会精彩剧透提前看!

阿里云CloudImagine

云计算 云栖大会

大模型背景下软件工程的机遇与挑战

CODING DevOps

开放原子开源基金会开源安全委员会九月新增成员单位

开放原子开源基金会

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