迭代是一开发种技术,用来把系统功能传递到一系列的增量的完整版本号,每一个版本号一个特定固定的时间段被开发,该时间段称之为迭代。
每一个迭代的经历过程:
整个迭代过程:
图中颜色代表每次开发每项活动所占的比重不同
迭代式开发的长处:
1、减少风险
2、得到早期用户反馈
3、持续測试和集成
4、适应变更
开发特征:
1、在进行大规模的投资前,就攻克了关键的风险问题
2、使的早期用户反馈在初始迭代中就能出现
3、连续进行測试和集成。
4、各个目标里程碑提供了短期的焦点。
5、对过程的測量是通过实现的评定来进行的
6、能够对局部的实现进行部署。
迭代与传统瀑布式相比:
传统的瀑布式开发,也就是从需求到设计,从设计到编码,从编码到測试,从測试到提交大概这种流程,要求每个开发阶段都要做到最好。
特别是前期阶段,设计的越完美。提交后的成本损失就越少。我如今从事的外包项目就是这种流程。
迭代式开发则是有非常多个非常多个瀑布式开发的过程组成,其成果是一个可运行产品的一个版本号,是最总系统系统产品的一个子集。通过多次迭代连续添加和精化系统。在每一个迭代过程中逐步添加信息,进行细化。
每次迭代多选择眼下对风险影响最大的使用实例进行,以分解和减少风险。