在发射哈勃望远镜时,上面有一面镜子给装错了。但直到它完全到位,并且我们(哈勃望远镜的客户)能够控制它之后,这个问题才被发现。只有当人造卫星进入外太空时,我们(人造卫星的客户)才能使用它。但我们为什么要这样来对待软件呢?
如果你走进一个电子实验室,看见工作台上满是陈旧的设备。一台笨重的,显像管还是那种圆形的旧式电视;一台老式的调幅收音机。你会保留它们吗?仅仅因为电视机的电源部分还是好的,那收音机还可以当作射频发生器使用。你肯定不会的,因为桌上太乱了,你根本作不了什么事情。但我们在开发软件时却恰恰是这样。
横跨萨吉诺河上的Zilwaukee大桥需要在很短的时间内完工。它是从河的两岸 |
同时修建,最后在河中间合拢。但是当修到中间时才发现两边不一样高,一边比另一边高出了3英尺。当你的软件项目一半在河东,一半在河西,则只有在项目后期才能将它们集成起来。但是,为什么要这样做呢?
极限编程(XP)就是针对这些问题设计的。它从影响软件开发速度快慢这个角度对开发流程进行观察。从以下两点可见XP是一个重要的新的软件工艺。第一,也是最主要的,它对现有软件开发中一些标准的做法提出了不同的见解。第二,它是几种新的为降低软件开发费用的轻量级软件开发方法
中的一种。XP更进一步,它定义了一套简单而愉快的流程。
|