迭代开发的典型特点

  迭代开发是UP和大多数其他现代方法中的关键实践,在这种周期方法中,开发被组织成一系列固定的短期小项目,称为迭代,每次迭代都产生经过测试、集成并可执行的局部系统。每次迭代都具有各自的需求分析、实现和测试活动.

(1)允许变更需求。需求总是会变化,这是事实。给项目带来麻烦的常常主要是需求变化和需求“蠕变”,它们会导致延期交付,工期延误客户不满意,开发人员受挫。通过向用户演示迭代所产生的部分系统功能,我们可以尽早的手机用户对于系统的反馈,及时改正用户需求的理解偏差,从而保证开发出来的系统真正地解决客户问题。

(2)逐步集成元素。在传统的项目开发中,由于要求一下子集成系统中所有的模块,集成阶段往往要占到整个项目很大比例的工作量,这一阶段的工作经常是不确定并且非常棘手的。在迭代式方法中集成可以说是连续不断的,每一次迭代都会增量式集成一些新的系统功能,要集成的元素都比过去少得多,所以工作量的难度都是比较低的。

(3)尽早降低风险。迭代开发的主要指导原则就是以构架为中心,在早期的迭代中所要解决的主要问题就是尽快确定系统架构,通过几次迭代来尽快的设计出能够满足核心需求的系统架构,这样就可以迅速降低整个项目的风险。等到系统架构稳定之后,项目的风险就比较低了,这个时候再去实现系统中尚未完成的功能,进而完成整个项目。

(4)有助于提高团队的士气。开发人员通过每次迭代都可以在短期内看到自己的工作成果,从而有助于他们增强信心,更好的完成开发任务。而在非迭代式开发中,开发人员只有在项目接近尾声时才能看到开发的结果,在此之前的相当长时间,大家还是在不确定性中摸索前近。

(5)生成更高质量的产品。每次迭代都会产生一个可运行的系统,通过对这个可运行系统进行测试,我们在早期的迭代中就可以及时发现缺陷并改正,性能上的瓶颈也可以尽早发现并处理。因为在每次迭代中总是不断地纠正错误,我们可以得到更高质量的产品。

(6)保证项目开发进度。每次迭代结束时都会进行评估,来判断该次迭代有没有达到预定的目标。项目经理可以很清楚的知道有哪些需求已经实现了,并且比较准确的估计项目的状态,对项目的开发进度进行必要的调整,保证项目按时完成。

(7)容许产品进行战术改变。迭代化的开发具有更大的灵活性,在迭代过程中可以随时根据业务情况或市场环境来对产品的开发进行调整。例如为了实现有的同类产品竞争,可以决定采用抢先竞争对手一步的方法,提前发布一个功能简化的产品。

(8)迭代流程自身可在进行过程中得到改进和精炼。一次迭代结束时的评估不仅要从产品和进度的角度来考察项目的情况,而且还要分析组织和流程本身有什么待改进之处,以便在下次迭代中更好的完成任务。

猜你喜欢

转载自blog.csdn.net/baidu_36586543/article/details/53484639