大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

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

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

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

关注

评论

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

将ChatGPT引入企业财务共享服务的探讨与思考

用友BIP

EVE-NG强大的网络模拟器和实验平台

小齐写代码

制程架构并驾齐驱,软件硬件双核驱动 英特尔携手合作伙伴兑现AI PC承诺

E科讯

智能商品管理系统相比传统商品管理在自动化程度上有哪些优势?

第七在线

Office 2013-2021专业增强版激活许可证 Mac/win

Rose

office许可证 office下载

一文了解:仿真技术的巨头——美国Altair公司

智造软件

CAE CAE软件 altair

康威定律:AI时代的IT组织变革

FN0

AI 软件开发 组织设计

Apache Doris 聚合函数源码阅读与解析|源码解读系列

SelectDB

数据库 大数据 数据仓库 数据分析 apache doris

如何下载会员视频?推荐使用唐尼downie 4 !

Rose

mac软件下载 视频下载工具 Downie 4 Mac版 Downie 4中文版

你还在“垃圾”调优?快来看看JDK17的ZGC如何解放双手 | 京东云技术团队

京东科技开发者

零代码集成自动化的实现逻辑是什么?

谷云科技RestCloud

零代码 APPlink

英文版sketch怎么转为中文,Sketch中英文切换教程

Rose

Mac矢量图设计 Sketch 99 Sketch中英文切换教程

Final Cut Pro for Mac(fcpx视频剪辑)v10.7.1 中文版

Rose

技术菜鸟如何提升自己的能力

老张

个人成长 自动化测试 技术提升

Java AtomicReference

0x5d0de9

Java

软件测试/测试开发/全日制/测试管理丨Redis内存数据库

测试人

软件测试

Premiere新手入门教程:Premiere Pro (PR) mac版基础教程合集

Rose

Premiere Pro下载 Premiere教程 PR转场预设

如何使用代码混淆技术保护移动应用程序安全

第35期 | GPTSecurity周报

云起无垠

好玩有趣的桌面宠物Desktop Goose for mac

Rose

Desktop Goose mac破解版 mac桌面宠物

虾皮shopee根据ID取商品详情 API (shopee.item_get):利用虾皮shopee API提升电商平台用户转化率与客单价

技术冰糖葫芦

API

软件开发

Geek_8da502

即时通讯技术文集(第31期):IM开发综合技术合集(Part4) [共13篇]

JackJiang

网络编程 即时通讯 IM

当创建pvc后,kubernetes组件如何协作

华为云开发者联盟

Kubernetes 开发 华为云 华为云开发者联盟

SVN管理工具Cornerstone for mac入门教程

Rose

SVN管理工具 cornerstone 4 破解版 Cornerstone入门教程

软件测试/测试开发/全日制/测试管理丨MongoDB NoSQL数据库

测试人

软件测试

Photoshop 2024 崩溃怎么办?

Rose

Photoshop启动时崩溃 PS冻结

随着 AI 的兴起,Web3 停滞不前丨 RTE 开发者日报 Vol.123

声网

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