迭代开发

转载 2012年03月29日 17:18:52

在许多个产品将要诞生的时候,
你都会听到这个名词:

什么是迭代式开发?
每次只设计和实现这个产品的一部分,
逐步逐步完成的方法叫迭代开发,
每次设计和实现一个阶段叫做一个迭代.

在迭代式开发方法中,整个开发工作被组织为一系列的短小的、
固定长度(如3周)的小项目,被称为一系列的迭代。
每一次迭代都包括了需求分析、设计、实现与测试。
采用这种方法,开发工作可以在需求被完整地确定之前启动,
并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作。
再通过客户的反馈来细化需求,并开始新一轮的迭代。
(主体内容来自度娘的解释,在某些词语上做了部分删减)

其实“迭”可能对于刚接触的人来说,比较难理解,
也可以想象成“叠”,动作其实是一样的,只是“迭”比较内涵化一点。

迭代式开发的优点:
  1、降低风险
  2、得到早期用户反馈
  3、持续的测试和集成
  4、使用变更
  5、提高复用性
迭代式开发特征:
  1、在进行大规模的投资之前就解决了关键的风险分析。
  2、使得早期的用户反馈在初始迭代中就能出现。
  3、对各个目标里程碑提供了短期的焦点(阶段性的中心)。
  4、对过程的测量是通过对实现的评定(而不仅仅是文档)来进行的。
  5、可以对局部的实现进行部署。

用真实的开发产品名词来解释,
会造成初学者的混乱,越看越迷糊,(至少我是- -)

来做个比喻一下:

你暗恋一个人,你想得到TA,
你更想得到TA后还要TA对你死心塌地的,
那你就做了一个如何得到TA的计划,
第一步,你先到处打听有关于TA的喜好(当然知道的越多,也越。。你懂的)
第二步,接近TA,通过某种方式接近,看看TA对你的反应如何,讨厌or喜欢?
              这时候如果对方表现出对你的厌恶感,那你就得去找找原因了,那重
              新回到第一步,搞清楚她的喜好,如果表示好感,那继续第三步。
第三步,可以是约会,可以是打电话,可以是,,这个看个人选择习惯了(切
              记,长路慢走,莫急,也表太慢了,至少按计划来)
第四步,一切皆有可能,当然很可能你会莫名其妙的就被讨厌了,你也不知道
             自己错在哪里,但是总是有原因的,你找吧,找不到就退回去,在找,
             一定有原因的,即使TA精神错乱也是一个其中原因- -。假如一切正常,
             至少你觉得稳定发展。
第五步,可以表白了- -,找个合适的地点,那你就成了。

追加第六步,如果表白成功,那进一步的发展又是另一个方式在轮流一便。

故事的结局:你和TA幸福快乐的生活了一辈子。

迭代开发会出现的状况也犹如你俩生活在一起会发生的状况一样,很有可能,
TA会对你渐渐失去兴趣,所以,你要创新,你在满足TA的基本需求的同时,
也要一些日子里制造一些浪漫,让TA觉得和你在一起每天都很新鲜,开心。
当然TA也会满足你的需求,这样双方就可以长期在一起。

产品与用户的关系:某种意义上,可以想象成生活在一起的2个人的关系,
一个产品虽然对应的多个用户,但是每个人用他的方式不一样,产生的效果
自然也不一样,所以要做到产品能满足广大用户的需求,也并非一件简单的
事,因此,为了使产品的能够渐渐满足越来越多,越来越多的用户,每次都
在这个产品上做了一些用户需要的特性,的这个过程,就叫迭代开发。

PS:迭代开发是长途跋涉,,所以,迭代开发的产 品还具有长寿性的特点,
        当然也有夭折的,但是迭代的目的就是让产品尽量减少夭折的可能性。

 

转自:http://www.douban.com/note/99769540/

相关文章推荐

持续集成与迭代开发

我们应当怎样做需求调研:初识 需求分析  需求调研  敏捷开发  项目启动会议 很多需求分析的工作是从需求调研开始的,我们就从这里说起吧。需求调研是需求分析最重要的一环,也最集中...

Sdk迭代开发设计需要考虑的方面总结

Sdk开发设计与Apk开发不同的地方还是有些明显的不同之处,明显的区别是使用对象不一样,Sdk是基于开发者使用的,都是有一定的开发水平,相对于Apk用户而言基本是大众用户,做得好不好不仅仅是运行起来性...

迭代开发优点

1.它允许需求的变化 。需求的变化和“进一步的蔓延” — 技术和客户驱动的特性的累加 — 一直是项目中导致麻烦、延期交付、令客户不满意和使开发人员泄气的主要原因。为了解决这些问题,使用迭代开...
  • sean_cd
  • sean_cd
  • 2011年03月17日 23:54
  • 221

敏捷开发学习总结(2):敏捷和迭代开发的问与答

从传统开发模式的思维,转换到敏捷和迭代开发肯定会有很多的疑问,这些疑问通常是公司管理层对敏捷和迭代开发抱怀疑态度,或者没有信心的主要原因,因此,在本文中,我以问答的方式,试图去整理一下自已对敏捷和迭代...

Android面试题-迭代开发的时候如何向前兼容新旧接口

Android面试题

关于C++泛型及C++高效迭代开发的思考

C++泛型就是为了代码能够更好的复用,所以一般的小项目,基本用不到的,大的项目用着会很不错的。泛型编程就是以独立于任何特定类型的方式编写代码,而模板是泛型编程的基础。      首先,举个例子:以数字...

敏捷交付!=迭代开发

只写给尝试过敏捷,并还想尝试的人。

迭代开发模型和工作流程管理

“不管做任何事情,发现本质非常重要,不要让它的本质被其外表所呈现出的假象所掩盖,要抓住它的‘内核’——而这正是精益思想的精髓。” IvarJacobson 迭代开发模型和工作流程管理 ...
  • explant
  • explant
  • 2012年05月22日 23:54
  • 1753

软件迭代开发的痛苦与乐趣

在软件开发过程中,我们不可能一开始就实现软件系统所需要的所有功能。反之,我们应该只去实现今天的用户故事,然后重构,明天再扩展系统、实现新的用户故事。虽然这是迭代和增量敏捷的精髓所在。但是这种开发过程又...
  • dqjyong
  • dqjyong
  • 2012年09月05日 10:43
  • 1192

浅谈敏捷开发和迭代开发相结合

(转自:http://www.cnblogs.com/xiangzhong/p/4983257.html) 浅谈敏捷开发和迭代开发相结合   由于最近公司委派管理一个项目的...
  • Baby_T
  • Baby_T
  • 2016年10月17日 17:22
  • 124
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:迭代开发
举报原因:
原因补充:

(最多只允许输入30个字)