迭代式开发是什么意思(什么是迭代式开发方法)
迭代式开发怎么理解
举个例子, 你想开发一个自己的IDE(集成开发环境), 因为基层开发环境通常都包含许多内容, 你没有办法一次全设计实现, 于是就使用下面这样的步骤:
1.首先实现一个有代码高亮显示功能的记事本
2.再在该记事本的基础上添加了一个编译和执行用的按钮
3.再在添加了两个按钮的记事本的基础上添加...
这种每次只设计和实现系统的一部分, 逐步逐步完成的方法叫迭代开发, 每次设计和实现一个的一个阶段叫做一个迭代.
什么是迭代式开发
我们的软件开发存在巨大的风险,但问题到底出在哪里呢?这对于问题的解决至关重要。
1.
我们在没有深刻理解业务需求的情况下就必须完成需求分析;
2.
客户在没有弄明白自己的真正需求的情况下就被要求确定软件的业务需求;
3.
我们在没有与客户再次沟通的情况下埋头苦干,直到完成开发并交付客户。
既然问题出在这里,我们就可以制订我们的解决办法:
1.
业务需求的分析不再是一蹴而就,而是贯穿软件开发的始终。一方面,我们在与客户的持续沟通中加深业务领域的理解,进而加深对业务需求的理解,另一方面,客户也在加深对软件的理解,进而完善自己的需求。
2.
软件开发的过程不再是单反面的埋头苦干,而是双方的良性互动。定期的用户体验,可使用户及时了解项目进度,发现软件问题,并及时提出来予以纠正,使软件的开发不断朝着正确的方向前进。
这就是迭代式开发。它是对以往开发模式的一种革新,但不是对以往开发模式的完全否定与摒弃,而是一种改造。
以往的瀑布式软件开发模式将整个软件开发过程分为四个阶段:需求分析、设计、开发、测试。与瀑布式软件开发不同,迭代式软件开发首先将整个开发过
程分为一个又一个的小段,每个小段大概在20个工作日左右,被称为“迭代(Iteration)”。一个迭代就是一个小的开发过程,如同瀑布式开发一样被
分为四个阶段:需求分析、设计、开发、测试。
采用迭代式开发,就是将以往的一个瀑布,变成了数个循环往复的瀑布,使软件以进化的方式逐渐推进。
最初的迭代,开发的是软件最基本最主要的功能,经过第一次迭代以后交付给客户。这时候客户看到的,不再是虚无缥缈的需求描述,而是实实在在的软件
界面。在此基础上,客户可能会认可我们的设计,也可能提出一些改进意见。修改这些意见,开始进入第二次迭代。第二次迭代可能是在第一次迭代的基础上进一步
丰富和完善功能,也可能是进一步实现其它第一次迭代还未实现的功能,之后再次交付客户。
如此循环往复,使我们不断在需求分析、设计、开发、测试,以及交付中,推进我们的软件开发。这样的开发过程,注定最终交付给客户的是他们满意的软件。这就是迭代式软件开发。
什么是迭代开发?增量开发呢?
迭代和增量开发的定义是:“迭代设计+增量建设模型”或“迭代方法+增量建设模型”的软件开发方法。在思艾特最擅长的敏捷开发领域,迭代和增量开发是其scrum敏捷开发模式中不可或缺的核心部分。