概念
- 一定是采用迭代开发的方式进行开发
迭代开发将一个大任务,分解成多次连续的开发,本质就是逐步改进。
开发者先快速发布一个有效但不完美的最简版本,然后不断迭代。每一次迭代都包含规划、设计、编码、测试、评估五个步骤,不断改进产品,添加新功能。通过频繁的发布,以及跟踪对前一次迭代的反馈,最终接近较完善的产品形态。
- 一般采用增量开发(incremental development)划分迭代
所谓"增量开发",指的是软件的每个版本,都会新增一个用户可以感知的完整功能。
也就是说,按照新增功能来划分迭代。
增量开发加上迭代开发,才算真正的敏捷开发。
优点
- 早期交付,降低成本
- 及时了解市场需求,降低市场不适用的风险
如何进行每一次迭代
虽然敏捷开发将软件开发分成多个迭代,但是也要求,每次迭代都是一个完整的软件开发周期,必须按照软件工程的方法论,进行正规的流程管理。
具体来说,每次迭代都必须依次完成以下五个步骤。
- 需求分析(requirements analysis)
- 设计(design)
- 编码(coding)
- 测试(testing)
- 部署和评估(deployment / evaluation)
参考: