灵活的科学证明?

时间:2009-03-22 21:43:24

标签: agile methodology

是否有任何科学研究将敏捷与其他软件开发方法进行了比较?我认为敏捷是一种很好的工作方式,但它有什么科学依据吗?

我正在寻找像this之类的东西,除了这项研究只涉及TDD。有没有关于敏捷的研究?

我问这个是因为我遇到了一个敏捷狂热者,他声称敏捷的工作方式比其他所有工作方式都能产生更好的软件。他将此视为一个事实,我认为不是这样。

9 个答案:

答案 0 :(得分:6)

请参阅this response一个不同的问题,了解为什么很少有关于构建软件的任何方面的实证研究。

答案 1 :(得分:5)

科学?好吧,我对Alistair Cockburn的工作印象非常深刻。听他说here

  

当IBM要求他为面向对象项目编写方法时,Alistair Cockburn已经做了16年的硬件设计师和研究员。 他在过去十年里一直在研究和撰写有关软件开发的文章,并了解到一些最成功的项目拥有最简单的流程。 2001年,他和其他16位软件开发重量级人物开会讨论所谓的轻量级方法其中一个结果是敏捷软件开发宣言,其中包括四个价值陈述:个人和流程与工具之间的互动;全面的文档工作软件;合同谈判中的客户合作;并根据计划作出回应。

答案 2 :(得分:5)

Scrum的某些方面支持经验证据。已经对scrum的不同部分进行了大量的实证研究。我听过Jeff Sutherland(scrum的发明者http://jeffsutherland.com/scrum/)在他的演讲中提到了许多具体的研究和观察。

总的来说,敏捷只是一个总括性的术语,旨在让不同的政治团体保持适度的快乐。 不要指望看到一个实验证明所有“敏捷”的一般性。它太含糊了,无法使用。

答案 3 :(得分:3)

Laurie Williams from NCSU发表了很多关于结对编程效果的非常有趣的研究,然后开始处理敏捷的更多方面。

答案 4 :(得分:2)

不,这不是科学或其他方面的证据。要“证明”,这意味着:

  • 从分析的角度证明其有效性。
  • 表明它在实践中有效,然后推断其有效性

分析方法是不可行的,因为我们在这里处理的是人而不是简单的系统。你不能正式化团队和组织。

另一方面,已经进行了实证研究,但结果是不确定的。例如,Robert Glass在他的书“Software Creativity 2.0”中展示了一些有趣的结果。

所以不,敏捷并未得到证实。差远了。 : - )

答案 5 :(得分:1)

我认为不可能“证明”这样的事情。

我会更进一步说,我不认为通过这样的研究来研究“软件开发生产力”的问题是不可能的。这主要是为什么我们真正必须继续的所有证据都是有经验的人告诉我们的(不幸的是,每个人对各种方法有不同的看法)。

这有一个简单的原因:人们完全不同。坐下一个由5人组成的团队进行为期几个月的项目(我猜测,这比大多数研究管理的更多;让我们看到有人资助几个月的开发人员时间),你一定会完全得到不同的结果。问题是,没有办法在这里分离出许多不同的因素:

  1. 个别程序员的能力。
  2. 程序员投入的精力/努力。
  3. 使用这些工具的经验。
  4. 任何担任团队领导者的人的能力(仅仅遵循一种方法论是不够的。如果有人不知道如何管理团队,那么这种方法就不会得到很好的体现。)
  5. 可能还有更多因素。

    所以我想说的是,不要相信已经“证明”一种方法/工具/任何东西比其他方法更好的研究。他们几乎不可能做到。

答案 6 :(得分:0)

我所证明的是瀑布的统计失败,即scientific management应用于软件开发。敏捷作为一种运动,只是对这一经验证据的回答(例如参见CHAOS报告)。

答案 7 :(得分:0)

interview with Linda Rising on InfoQ在某种程度上解决了您的问题。她谈到了安慰剂的有效性以及我们对医学的信念以及这些事物与软件开发的关系。基本上,我们是否在敏捷社区给自己一个“糖丸”?

采访摘录

  

科学是关于实验,关于在短时间内持有一个想法并对其进行测试,然后检查该测试的结果以确定该假设是否成立。这就是敏捷的真正含义。敏捷是关于小实验的。我现在相信我们所做的一切,不仅仅是软件开发,而是我们的生活应该是一系列小实验。

     

我们引进所有可能的利益相关者,我们引入客户,引入用户,测试人员与开发人员合作。我们一直在仔细检查那些糖丸。它真的有效吗?你怎么看?你对结果满意吗?这是拯救我们的唯一因素 - 敏捷本身。这一系列的小实验。

答案 8 :(得分:0)

This paper分析了敏捷与传统方法的投资回报率(ROI)。它基于已发表研究的实际结果。

摘自:

  

敏捷方法投资回报率是其四倍   比昂贵的传统方法,   比便宜的两倍,   和最好的敏捷和传统   方法具有相同的投资回报率。