写点什么

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

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

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

关注

评论

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

MyBatis 的在使用上的注意事项及其辨析

EquatorCoco

mybatis

AI赋能数据安全体系化落地,出席网安标委2024年第一次标准周“数据安全标准与能力建设研讨会”

百度安全

BOE(京东方)携MLED新品及创新商显应用亮相2024美国InfoComm 以卓越创新实力打造科技盛宴

爱极客侠

到手仅899元!紫光闪存UNIS S2 Ultra 2TB京东开启预售

新消费日报

Microsoft Remote Desktop Beta for Mac(微软远程连接工具)v10.9.8版

Mac相关知识分享

MacBook 远程桌面 mac软件下载 mac下载

Spring Security 如何防止点击劫持

江南一点雨

终端中的 Kubernetes 集群管理——K9s

伤感汤姆布利柏

制造企业如何利用低代码开发平台实现数字化战略?

EquatorCoco

低代码 制造业

快速识别你家的猫猫狗狗,教你用ModelBox开发AI萌宠应用

快乐非自愿限量之名

人工智能 AI

详解Spring Boot的RedisAutoConfiguration配置

华为云开发者联盟

Java Spring Boot 华为云 华为云开发者联盟 企业号2024年6月PK榜

直播预告!经管科研范式变革下的工具与实践 | 和鲸“101数智领航计划”

ModelWhale

人工智能 数据 经管

从游戏到实体《云上的中国3》深度解读网易伏羲的AI技术应用探索

新消费日报

Screen Wonders for Mac(3D壁纸屏保软件)

Mac相关知识分享

壁纸 mac壁纸 mac软件下载 壁纸软件

字节面试:MySQL自增ID用完会怎样?

王磊

Java 面试

淘宝商品详情API接口:商品属性深度挖掘,助力精准营销

技术冰糖葫芦

API Explorer API 安全 API 文档 pinduoduo API

七个备受欢迎的IntelliJ IDEA实用插件

伤感汤姆布利柏

「小爱同学」接入豆包大模型;华为鸿蒙 OS 成为中国第二大操作系统丨 RTE 开发者日报 Vol.224

声网

AlertManager解析:构建高效告警系统

快乐非自愿限量之名

告警管理 系统搭建

数字化转型的关键:全面探索低代码开发平台的实际应用

不在线第一只蜗牛

低代码 数字化

数据驱动工业 AI :EMQ 参加 2024 中控全球新品发布会

EMQ映云科技

emq

MQTTX 1.9.10 发布:升级 Faker.js、增强连接与订阅诊断、优化 UI

EMQ映云科技

mqtt

夯实网络底座:智能云解析助推新基建发展再上新台阶

国科云

团队能免费使用Confluence吗?一文读懂

爱吃小舅的鱼

知识管理 Cofluence

10W大奖等你瓜分,OpenTiny CCF开源创新大赛报名火热启动!

OpenTiny社区

Vue 低代码 组件库 OpenTiny TinyEngine

塑造财务规划团队的未来角色

智达方通

企业管理 全面预算管理 财务管理 财务规划

以太网交换机堆叠和级联的区别

Ogcloud

交换机 网络交换机 交换机配置

云手机工具推荐:Facebook多账号运营如何防止封号?

Ogcloud

facebook 云手机 海外云手机 社媒运营 云手机推荐

实时数据的处理一致性如何保证?

不在线第一只蜗牛

数据处理 实时数据

容器网络实现(下):为容器插上”网线“

不在线第一只蜗牛

Docker 容器

如何轻松利用人工智能深度学习,提升半导体制造过程中的良率预测?

Altair RapidMiner

人工智能 深度学习 数据分析

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