多数软件开发仍然是一个显得混乱的活动,即典型的“边写边改” (code and fix〕。设计过程充斥着短期的、即时的决定,而无完整的规划。 这种模式对小系统开发其实很管用,但是当系统变得越大越复杂时,要想加 入新的功能就越来越困难。同时错误故障越来越多,越来越难于排除。一个典 型的标志就是当系统功能完成后有一个很长的测试阶段,有时甚至有遥遥无期 之感,从而对项目的完成产生严重的影响……