进化的策略跟增量有所不同,主要是在于用户的需求并不是一开始就被充分理解,并且需求不能够在开始阶段被预先定义,而是在一个又一个的build中完善。这种迭代方式具有如下几个特点:
通过一个简短的先启迭代建立范围和构想,并定义business case
在精化阶段有多个迭代,并在每个迭代都精化需求。
通过一个单一的构建迭代完成架构、用例的实现。
在产品化阶段通过多个迭代完成软件产品的交付。
这种策略的采用往往是因为问题域是新的或者是不熟悉的,再有就是项目团队缺乏相关的经验。对于某些新产品开发项目还是比较适用的。