1、相对于“瀑布”生命周期,迭代和进化式开发对部分系统及早地引入了编程和测试,并重复这一循环。这种方式通常
在还没有详细定义所有需求的情况下假设开发开始,同时使用反馈来明确和改进演化中的规格说明。
2、迭代开发中,我们依赖于短时快速的开发步骤、反馈和改写来不断明确需求和设计。相比之下,瀑布模型提倡在编程
之前就预先完成需求和设计。
3、一直依赖,瀑布模型总是和软件项目的高失败率具有极大关系。
4、UP(Unified Process)已称为一种流行的构造面向对象系统的迭代式软件开发过程。特别是RUP(Rational Unified
Process)是对统一过程的详细精化,并已被广泛采纳。
5、 UP是十分灵活的,并且鼓励引入其他迭代方法中的有用的实践,例如极限编程(Extreme Programming,XP)、Scrum
等。例如UP中引入XP的测试驱动开发(test-driven development)、重构(refctoring)、持续集成(continuous
integration)等实践。
6、UP把普遍认可的最佳时间(例如迭代生命周期和风险驱动开发)结合起来,成为联系紧密并具有良好文档的过程描述
。
7、迭代开发是UP和大多数其他现代方法中的关键实践。在这种生命周期方法中,开发被组织成一系列固定的短期(如三
周)小项目,称为迭代。
8、迭代生命周期基于对经过多次迭代的系统进行持续扩展和精化,并以循环反馈和调整为核心驱动力,使之最终成为适
当的系统。随着时间和一次一次迭代的递进,系统增强式地发展完善,这种方法称为“迭代和增量式开发”或“迭代和进
化式开发”。
9、迭代和进化式开发抱着接受变更和改写的态度,并以此为真正本质的驱动力。这并不是说迭代开发和UP提倡不受控制
的过程。迭代一方面认同和稳定一组需求,另一方面接受需求不断变更的事实。
10、每次迭代选择一小组需求,并快速开发、实现和测试。
11、这种早期反馈具有极高价值。迭代实在一系列有序的构造、反馈、调整循环中向前进展的。随着迭代次的递进,系统
向着预期的方向发展,需求和设计的不稳定性随着时间逐渐下降。
12、一次迭代时间控制在2-6周。小步骤、快速反馈和调整是迭代开发的主要思想。迭代时间过长会破坏迭代开发的核心动机并增加项目风险。
13、迭代的一个关键思想是“时间定量”,或时长固定。例如,假设一次迭代的时间为3周,则必须按照时间表来集成、测试和稳定局部系统,推延时间则违约。如果看起来难以满足期限要求,那么建议从本次迭代中除去一些任务或需求,并将其分配在将来的迭代中,而不是推迟完成日期。
迭代、进化、敏捷1
最新推荐文章于 2021-10-21 19:28:51 发布