敏捷方法—为不断发展的软件而生
在90年代初,许多敏捷软件开发方法就已经出现。尽管它们在细节上有所不同,在总体上思想上一致的:它们都认为对于软件开发方法需要进行重新思考。首先,软件应该不得不接受被修改的现实。今天的设想和需求在明天可能已经发生变化,软件需要迅速的响应这些变化。为了面对这种挑战,敏捷方式主张简单化。制作能够满足今天需求的最简单的系统,而且要做好明天修改的准备。

图2、敏捷软件开发原则
敏捷方法所倡导的两个技术值得特别关注:重构和开发测试。Martin Fower在他的经典著作中将一种开发思想优雅的称为重构(refactoring):在不改变现有代码工作方式的前提下改善其设计。

图3、重构
重构可以允许敏捷的系统接受修改,同时又保持软件的稳定和效率。如同一个装潢设计师不断的改变和完善你的家具的布局,敏捷开发者为了从整体上改进他的产品可以不断的修改代码。代码被不断的修改,可以确保我们最终拥有一个可以反映我们目前需要的最简单、最合适的系统。
使用敏捷方法创建的软件系统要成功的多,因为它们已经采取了改进,可以适应需求不断改变这个问题。这些系统如同一个有生命的东西,可以不断的变化以适应一直变化的需求。毫无疑问,敏捷方法在两方面对今天我们开发软件的思维方式带来了很大的冲击:动态编程和连续编程。