设计简单而雅致的软件不如那些设计复杂且难于维护的软件价值高。这是真的吗?极限编程(XP)的出发点就是基于认为这个观点事实上是不正确的。
一般,一个项目在人员身上的开销是花在硬件上的20倍。这就是说,如果一个项目每年在编程人员身上的开销是两百万美元,那么就会有约十万美元是花在计算机设备上。
假如我们都是聪明的编程人员,我们使用了某种非常巧妙的技巧从而可以节约20%的硬件开销。它会造成源代码难于理解和维护,但我们每年节约了两万美元,一笔不小的数目。现在如果换种方法,我们以清晰易懂且容易扩展的方式写代码。这样可期望节约不少于10%的人工费用,就是20万美元,更大的一笔数目。你的客户肯定会注意到这一点。
另外一个重要的问题就是bug。XP不仅仅只是强调测试,而且要很好地测试。自动化的测试;测试犹如一张安全网保护着编程人员和客户;测试形成于编写代码前,代码编写过程中,以及代码编写完成后。只要有新的bug发现,就增加新的测试。把这个安全网的网眼做的很小
同样的一个bug不会两次漏网,这也是客户会注意到的。
另外一个你的客户会注意到是XP开发人员对待需求改变的态度。XP使得我们能够拥抱变化。客户们在软件交付后才看到一个真正的解决方案,这是一个很普遍的现象。XP争取尽早地取得客户的反馈来减少这种情况的发生,但不可能完全杜绝,仍然会有功能上的改变或者为了用户更好地接受而做出改进。你的客户一定会注意到这点。
XP从许多方面对软件开发的方式作了新的诠释。源代码的质量比以往显得更加重要。客户看不到我们的源代码并不就意味着我们不应该花精力在上面,我们应该为作出高质量的代码而感到骄傲。
|