自敏捷开发这一概率进入我们的视野,仅在短短几年内,软件开发领域便进入了高速开发的时代。似乎从业者们都在谈快速,谈迭代,不管是否感受过敏捷开发的益处,先跟风吹起来,只要凑近这一新技术,就像走在了行业的前列。

领域中有部分人采用敏捷开发做项目,其每个迭代都能看到不断完善的产品,相关人员表示非常有成就感,客户的满意度也很高;另一部分开发者则用迭代开发,完全按照客户需求来开发软件,按照优先级排到迭代周期即可。有时就在思考,敏捷开发好像也分迭代周期的,这两者会不会就是一回事?

迭代开发是什么?迭代开发流程:

在迭代开发中,整个工作被划分为一系列袖珍的、固定时间的小项目,这叫系列迭代,即是迭代开发。每一次迭代都包括了定义、需求分析、设计、实现与测试。而敏捷开发是以用户的需求为核心,采用迭代、循序渐进的方式开发软件。

前者是软件的开发周期模型,是一种开发过程;而后者是多种软件开发项目管理方法的集合,这是两者最根本的区别。与迭代开发对应是瀑布模型、螺旋模型,而与敏捷开发对应的是Scrum,XP(极限编程),Crystal(水晶编程),所以二者不可混为一谈,但其中又有一定的联系。

在敏捷开发的定义中已说明,其采用了迭代的方法。那敏捷开发为什么要采用迭代开发?

敏捷开发的核心原则是关注项目中的变化。迭代式开发正适用于需求不明确的项目,如果开发过程中突然变化需求,所带来的影响要比其他模型小。而现在的很多项目中,需求在开发过程中变化的情况很常见,所以迭代式开发就显得更有优势,这正符合敏捷开发的关注变化的特性。

迭代开发不要求把每个阶段都做到完美,明知还有不足之处却不完善,而是追求用最短的时间搭建出主要功能,用最低成本先完成一个“主体半成品”直至提交,然后再通过客户或用户的反馈信息,在这个“主体半成品”上逐步进行完善,这正符合敏捷开发的递增变化。

敏捷开发是总体概念,而迭代式开发是实践敏捷开发概念的一个手段。敏捷开发除迭代式开发外,还包含了其他许多管理与工程技术实践,如演进式架构设计、敏捷建模、重构、自动回归测试(ART)。综上,敏捷开发与迭代开发是整体与局部的关系,前者是家族,而后者是家族成员。

敏捷开发概念发展史

虽然敏捷和迭代不一样,但是它们也是分不开的,二者的有机结合,既能保证产品质量又可保持在项目持续改进过程中的优势。吸取精华,破其糟粕,只有这样,项目才会趋于完美。

所以敏捷和迭代的方式一定是完美的?这还真不一定,但不可否认的是敏捷开发相对于传统开发是有很大优势的。

近些年来,由于一些特定的需求,越来越多的软件团队开始采用敏捷开发模式,但是在开发过程中却对其核心思想理解不足,有些敏捷开发团队甚至没有管理者,仅设一名Scrum Master向产品经理汇报,职责划分也很暧昧。

除了软件公司,在很多常规企业中,敏捷开发已经成为一种无负责人的开发流程。所谓的产品经理与销售、CEO随意加功能、改需求,然后交给开发团队去“敏捷”开发。在开发过程中,需求调研、设计、反馈、代码评审、测试、全不需要。说好听点这叫敏捷开发,说不好听点,这就是技术大杂烩,能做到哪一步算哪一步,完全忽略了敏捷开发的实质。

而实际上,敏捷开发并不是这样的,迭代的核心在于软件的超前规划。如果没有专业规划者的全程指导,造出来的软件系统必不合格 – 时间超限、预算超支、充斥着各种不科学的奇思妙想、根本不管需求是否合乎逻辑。所以,无论用什么开发思维,不管是哪种开发手段,都要制定合理科学的开发方案,这样才可事半功倍。

更多敏捷开发详情参阅:https://www.learun.cn

谈谈敏捷开发概念和迭代开发方案相关推荐

  1. APP软件项目迭代开发

    目前2C的APP在生活中使用已经非常普及,市场也基本饱和,APP市场的竞争已经进入2B市场,越来越多的企业希望做属于自己的APP,为客户提供更加便捷高效的产品和服务.接着上一篇文章,接下来和大家分享软 ...

  2. 基于生命周期的开发方法——迭代开发方法

    迭代开发方法 上一篇原型方法只是一种需求验证的手段,如果将其思想运用到整个开发过程,使得每个阶段的任务经过反复多次,或者将分析.设计.实施的周期反复多次,通过一次次迭代,不断在原来的基础上完善和修正, ...

  3. 敏捷开发_敏捷开发和迭代开发的异同分析

    随着软件开发技术的不断发展,现在出现了敏捷开发和迭代开发两种新的开发方式,这两种开发方式都可以提高软件开发的效率.那么它们之间有什么相同的地方和不同的地方呢?下面一起来了解一下相关的知识吧! 一.定义 ...

  4. 开发模式(敏捷开发,瀑布式开发,螺旋型开发,迭代开发,devOps开发)

    一. 敏捷开发 以人为核心.迭代.循序渐进的开发方式 简化文档,提取文档重点,主要在于人与人之间的沟通, 对开发产品进行迭代,最终完成开发. 迭代:迭代是指把一个复杂且开发周期很长的开发任务,分解为很 ...

  5. 软件研发中敏捷开发和迭代开发的异同

    软件研发中敏捷开发和迭代开发的异同 在讲敏捷开发之前,先了解几个常见的软件研发模式 瀑布模型:瀑布模型的软件研发过程与软件生命周期一致,由文档驱动,两相邻之间存在因果关系,需要对阶段性的产品进行rev ...

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

    (转自:http://www.cnblogs.com/xiangzhong/p/4983257.html) 浅谈敏捷开发和迭代开发相结合 由于最近公司委派管理一个项目的开发,以往对开发体系没有特别的研 ...

  7. 《敏捷迭代开发:管理者指南》—第2章2.5节渐进开发和自适应开发

    本节书摘来自异步社区<敏捷迭代开发:管理者指南>一书中的第2章2.5节渐进开发和自适应开发,作者[美]Craig Larman,更多章节内容可以访问云栖社区"异步社区" ...

  8. 《敏捷迭代开发:管理者指南》—第2章2.14节推荐读物

    本节书摘来自异步社区<敏捷迭代开发:管理者指南>一书中的第2章2.14节推荐读物,作者[美]Craig Larman,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  9. 《敏捷迭代开发:管理者指南》—第2章2.9节增量交付

    本节书摘来自异步社区<敏捷迭代开发:管理者指南>一书中的第2章2.9节增量交付,作者[美]Craig Larman,更多章节内容可以访问云栖社区"异步社区"公众号查看. ...

最新文章

  1. Linux常见面试题2
  2. Pytorch CookBook
  3. python 函数重载_在Python中实现函数重载,60%的人都不会
  4. createelement 设置id_还记得你的第一个网络ID是什么吗?
  5. java运行环境jdk的安装和环境变量的配置
  6. ulead gif animator_搞笑GIF:家庭聚餐,还有三十多个没来呢?|搞笑gif
  7. 测试用例-写测试用例时怎么入手
  8. hadoop 命令行运行
  9. 随想录(英语学习的几个误区)
  10. 基于lightgbm的金融风控算法实践(Python版)
  11. FigDraw 8. SCI 文章绘图之饼图 (Pieplot)
  12. 0到3个月的宝宝护理重点和注意事项,家长要记住哦
  13. Diff算法中使用index作为key的弊端
  14. EPROCESS+KPCR+ETHREAD部分介绍-学习记录
  15. 2022.12.14 英语背诵
  16. 前端disable和readonly的区别?
  17. 区块链会与io域名有什么关系
  18. 《从0到1》读书笔记第11章“顾客不会自动上门”: 当幸福来敲门(完)
  19. 《快递查询-您身边的快递助手-隐私协议》
  20. MySQL学习笔记(三)查询

热门文章

  1. 2021年中国汽车保有量及汽车保险发展情况分析:车险保费收入同比增长0.7%[图]
  2. linux shell比大小expr,Linux shell命令中expr(示例代码)
  3. HTML5中canvas画布属性,html5 Canvas之画布合成的属性总结
  4. 图解地址解析协议ARP
  5. css定位元素-随心记
  6. 腾讯一季度总酬金成本超 204.01 亿元
  7. uploadify session java_解决uploadify使用时session发生丢失问题的方法
  8. 键盘查询方式的c语言编程,C语言键盘操作.pdf
  9. 选择与循环:剪刀石头布_《剪刀手爱德华》:放下剪刀不能保护你,拿起剪刀不能拥抱你...
  10. 深入探讨JDBC往MySQL中插入Timestamp类型字段报错问题