敏捷开发和迭代开发是一回事么?

对于从事IT行业工作的人来说,每个人都熟悉“敏捷开发”一词。敏捷开发不是一种技术或工具,而只是一种软件开发方法,也可以简单地理解为一种思想方法。那么什么是敏捷开发?敏捷开发和迭代开发是一回事么?什么是敏捷开发?敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。

换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。什么是迭代开发?迭代开发:在迭代开发中,整个开发工作被组织为一系列的短小的、固定长(如3周)的小项目,被称为一系列的迭代,这叫迭代开发。每一次迭代都包括了定义、需求分析、设计、实现与测试。什么是瀑布式开发?传统的开发有个专有名词叫“瀑布式开发”,分为5个阶段:需求分析、设计、编码、测试和维护。

这套方法定义了很完备的过程规范、严格遵从这种方式会使得研发运作过程十分严谨。传统的瀑布式开发要求针对客户需求写出详细的分析说明书,仅仅这一点就耗费了大量时间。敏捷开发和迭代开发是一回事么?敏捷开发就是以用户的需求进化为核心,迅速迭代、循序渐进地进行软件开发的方法,核心是快速响应和持续迭代。要保证在迭代周期内,团队成员思想保持高度一致、以共同的节奏和共同的周期完成周期性运转。

迭代也让团队内外有着共同的预期,知道什么时间点该做什么,该交付什么出来。和瀑布式开发相比,敏捷开发的特点就是“小步快跑、尽早交付”。在市场环境和客户需求变更非常迅速的情况下,为了让需求方尽早地看到结果,并给出反馈,以小步快跑进行开发并尽早地交付新的版本不失为一种好的解决方式。毕竟在互联网时代,可用的产品一定胜过完备的文档,并且及时的迭代可以不断修正问题。

迭代开发模型中最重要/容易出问题的阶段是什么?

迭代开发模型是一个周期性模型,适用于项目不能完整定义产品所有需求,计划多期开发的软件生命周期模型;其完整的过包括:初始、细化、构造、移交四个阶段。以个人的经验总结来说,认为最重要/容易出现问题的不是在某一个阶段本身,而是在初始、细化、领导各个阶段需要做的工作相互交错混杂,没有做的详细的规划。比如:有一次带团队开发项目时,团队形式上是采用迭代开发,但是实际工作还是采用平行分层模式,导致代码实现重构的代价巨大,工作效率极低;没有顾全大局,过于关注一些细小功能的极致,忽视了设计本身。


文章TAG:MBA  迭代  百科  智库  开发  
下一篇