极低缺陷项目

2004年1月24日

当人们谈论极限编程时,他们通常会关注其自适应计划风格或其演化方法设计。我特别感兴趣的一个小而不断增长的趋势是,越来越多的 XP 项目拥有极低的缺陷率,我的意思是每月少于一个生产错误。

我遇到的第一个例子是肯特对一家生产食品分拣机的公司的描述。这些机器有传送带,传送带经过摄像头和其他传感器,这些传感器会将水果和蔬菜分类到不同的类别(所有这些都是由 Smalltalk 驱动的)。该团队当时有大约一百个未解决的错误,但自从采用 XP 以来,错误率下降到他们大约每隔几个月才会遇到一个错误。

我特别高兴地遇到了我看到的第二个案例,因为它涉及到我的一些来自C3的老朋友。他们现在正在克莱斯勒开发一些门户软件。虽然他们最初的缺陷率令人震惊,每月一次,但在 2002 年,他们只记录了一个针对其系统的错误。在此期间,他们每隔一两周就会发布新版本的软件。

一家软件公司已经大幅转向 XP。它的大部分工作都涉及大型遗留系统,这是一个挑战。但在一些新的开发中,他们取得了一些非常低的缺陷率。两个这样的项目每月运行的错误率不到一个。其中一个项目发现,预安装的政府认证时间从几周缩短到几天。

我们也看到 Thoughtworks 出现了一些这种情况。由于我们候选的极低缺陷项目的发布还处于早期阶段,但有一些项目也看到了类似的低错误率。

虽然这些低比率只由少数项目实现,但似乎是一个普遍的结果,即认真采用 XP 的团队会看到明显更低的错误率。我听说过许多关于缺陷率大幅下降的故事,即使它们没有降到每月低于一个错误的水平。

我需要强调的是,到目前为止,只有少数 XP 团队获得了极低的错误率。到目前为止,我只遇到过少数几个。这些团队似乎非常自律,并且由拥有至少一两年 XP 经验的人领导。

由于这仍然只占项目的一小部分,因此你不应该假设仅仅通过采用 XP 就能获得超低的错误率。也不应该假设其他流程无法获得这种错误率。

但我可以得出结论,这些错误率在软件开发中是可以实现的。我还可以得出结论,一些达到这一目标的团队认为 XP 是帮助他们实现这一目标的一个非常重要的工具。