写点什么

如何对敏捷实践相关的实验性数据进行分析利用

  • 2007-10-10
  • 本文字数:1175 字

    阅读完需:约 4 分钟

在人们谈到敏捷开发实践的效果时,常常会听到有人这样引用说“在名校 Y 任职的 X 教授,曾经做过一个实验,证明了敏捷实践 Z 比传统的软件开发实践的效率要高 出 20%”。然后我们就会信以为真——因为——它确实是真实的。不幸的是,大多数进行并公布的试验,其结果都不应该被当作是真实世界中的开发项目的产出。 而幸运的是,要判断出你对实验性的结果(不)应该抱有多大的信心还不算太难。

下面是一些有效性标准,你可以用它来快速的判断一下你是否应该期待会得到和实验同样的结果:

外部有效性——也被称作

普遍性—— 可以帮助你判断实验结果是否可以适用于其他的条件。用学生来做结对编程,其结果适用于专业开发人员么?可以干净利落地回答一个字——不。如果你是在商业环 境中,那么用学生作的实验就不能当作参考,因为其应用环境,所构建的软件以及开发人员的经验是截然不同的。实验环境应该和真实世界的应用非常接近。

内部有效性—— 在条件变化的时候,其成因和结果还会是真实的么?例如,结对编程会提高代码质量么?如果一个团队在做结对编程,他们首先编写测试用例,然后用更长的时间来 构建应用——那么我们可以顺理成章的猜想是结对编程提高了质量么?还是会有其他的解释?比如他们花了更长的时间来构建应用这一事实会不会造成质量的差别?

结构有效性——你的度量方式和所研究的概念(结构)是否相一致。你所使用的度量方法,以环路复杂性(Cyclomatic Complexity)为例,它是不是确实能够表示出所评估的概念的质量?如果这里被评估的是设计的话,又会是什么结果呢?

统计有效性—— 样本的范围够不够大?其结果是不是做过大规模的统计分析?如果你看到一个调查报告,上面写着一些真正的开发人员用一星期的时间做了一个实验,结果表明使用 TDD 可以提高设计质量,我们真的能把它当真么?单从这个例子来看,肯定是不能的。一个星期所产出的数据是没法衡量在长达数月或是数年的项目中TDD 的效 用的。

这里可 以找到一个有关评估TDD 效用(在开发速度和设计质量方面)的实验,这个实验实际上就是一些资深开发人员编写了200 多行代码。如果读者意识到了不同类型 的有效性标准,那么这里就可以很容易的看出,如果我们想把实验结果照搬到成千上万(乃至百万)行代码的项目中,那可就彻头彻尾的错了。 在 hacknot 上还有一个非常严谨的实验报告,它对结对编程进行了研究,得出了结对编程比传统的开发方式要快上 15% 的结论。

实际上,如果想要让一个实验结果可以应用于真实世界的项目中,那代价势必是非常昂贵的。用学生做的实验,其结果就只能应用于其他学生身上。用专业 开发人员在有限的时间内做的实验,就不能照搬到长期的开发项目中。如果你从前引用过某些实验结果,请带着新的视角,重新迅速翻一遍那些文章,然后回来跟我 们分享一下你的想法。

查看英文原文 Analyzing Experimental Data Concerning Agile Practices

2007-10-10 00:49996
用户头像

发布了 197 篇内容, 共 59.3 次阅读, 收获喜欢 21 次。

关注

评论

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

免费试用商业智能工具,帮助您轻松选择BI工具

夜雨微澜

英特尔Lisa Spelman浅谈未来计算:驱动AI创新 释放至强力量

E科讯

解读 6 月 NFT 行业:市场停滞,Azuki 崩跌

Footprint Analytics

区块链游戏 NFT NFT链游

用友BIP时间轴——回溯历史 预置未来

用友BIP

人力资源

用友:数智技术核心驱动  服务企业数智化与商业创新

用友BIP

国产替代

大型企业全面预算管理数智化转型路径

用友BIP

全面预算

版本更新|OpenTiny Vue 发布了 v3.9.0 🎉。

OpenTiny社区

开源 前端 UI组件库

共筑开源新长城 龙蜥社区走进开放原子校源行-清华大学站

OpenAnolis小助手

操作系统 容器云 开放原子开源基金会 龙蜥社区 清华大学

10个不容错过的VSCode插件

互联网工科生

Visual Studio Code

财务共享,驱动企业持续升级的动力引擎

用友BIP

财务共享

可观测性 Trace 全量存储之性能优化

乘云数字DataBuff

APM 可观测性 k8s监控 全链路追踪 Dynatrace

亮相亚太 CDN 峰会,火山引擎 CDN 与加速助力数字化业务加速发展

火山引擎边缘云

CDN 火山引擎 全球加速 火山引擎边缘云

银行机构数据治理案例解读,构建全行数据资产体系

袋鼠云数栈

数字化转型 金融

2023算网融合产业峰会,网心科技边缘计算+AI创新实践获权威认可

网心科技

边缘计算 边缘云 AIGC

平衡业务合作,推动企业全面预算管理取得成功

智达方通

数据分析 全面预算管理 业务合作

龙蜥白皮书精选:面向 HTTP 3.0 时代的高性能网络协议栈

OpenAnolis小助手

开源 HTTP 标准化 QUIC 龙蜥白皮书

Sentieon | 每周文献-Population Sequencing-第一期

INSVAST

基因数据分析 生信服务 群体基因

Flask快速开发Web应用:入门到精通必备知识

互联网工科生

Python flask

一文看懂SBD(一种基于存储的扩展防护服务)

统信软件

储存

Java面试为什么会越来越难?

程序员小毕

程序员 后端 架构师 java面试 八股文

CQ 社区版 2.2.0 发布 | 配置要求降为 4 核 16G!!!

BinTools图尔兹

数据库 数据安全 数据库管控工具 数据库管控

白鲸开源WhaleScheduler完成阿里云PolarDB数据库产品生态集成认证

阿里云数据库开源

开源数据库 国产数据库 polarDB PolarDB-X PolarDB for PostgreSQL

如何对敏捷实践相关的实验性数据进行分析利用_研发效能_Amr Elssamadisy_InfoQ精选文章