当前位置:网站首页>谈谈敏捷开发概念和迭代开发方案
谈谈敏捷开发概念和迭代开发方案
2020-11-09 15:25:00 【香飘飘奶搽】
自敏捷开发这一概率进入我们的视野,仅在短短几年内,软件开发领域便进入了高速开发的时代。似乎从业者们都在谈快速,谈迭代,不管是否感受过敏捷开发的益处,先跟风吹起来,只要凑近这一新技术,就像走在了行业的前列。
领域中有部分人采用敏捷开发做项目,其每个迭代都能看到不断完善的产品,相关人员表示非常有成就感,客户的满意度也很高;另一部分开发者则用迭代开发,完全按照客户需求来开发软件,按照优先级排到迭代周期即可。有时就在思考,敏捷开发好像也分迭代周期的,这两者会不会就是一回事?
迭代开发是什么?迭代开发流程:
在迭代开发中,整个工作被划分为一系列袖珍的、固定时间的小项目,这叫系列迭代,即是迭代开发。每一次迭代都包括了定义、需求分析、设计、实现与测试。而敏捷开发是以用户的需求为核心,采用迭代、循序渐进的方式开发软件。
前者是软件的开发周期模型,是一种开发过程;而后者是多种软件开发项目管理方法的集合,这是两者最根本的区别。与迭代开发对应是瀑布模型、螺旋模型,而与敏捷开发对应的是Scrum,XP(极限编程),Crystal(水晶编程),所以二者不可混为一谈,但其中又有一定的联系。
在敏捷开发的定义中已说明,其采用了迭代的方法。那敏捷开发为什么要采用迭代开发?
敏捷开发的核心原则是关注项目中的变化。迭代式开发正适用于需求不明确的项目,如果开发过程中突然变化需求,所带来的影响要比其他模型小。而现在的很多项目中,需求在开发过程中变化的情况很常见,所以迭代式开发就显得更有优势,这正符合敏捷开发的关注变化的特性。
迭代开发不要求把每个阶段都做到完美,明知还有不足之处却不完善,而是追求用最短的时间搭建出主要功能,用最低成本先完成一个“主体半成品”直至提交,然后再通过客户或用户的反馈信息,在这个“主体半成品”上逐步进行完善,这正符合敏捷开发的递增变化。
敏捷开发是总体概念,而迭代式开发是实践敏捷开发概念的一个手段。敏捷开发除迭代式开发外,还包含了其他许多管理与工程技术实践,如演进式架构设计、敏捷建模、重构、自动回归测试(ART)。综上,敏捷开发与迭代开发是整体与局部的关系,前者是家族,而后者是家族成员。
敏捷开发概念发展史

虽然敏捷和迭代不一样,但是它们也是分不开的,二者的有机结合,既能保证产品质量又可保持在项目持续改进过程中的优势。吸取精华,破其糟粕,只有这样,项目才会趋于完美。
所以敏捷和迭代的方式一定是完美的?这还真不一定,但不可否认的是敏捷开发相对于传统开发是有很大优势的。
近些年来,由于一些特定的需求,越来越多的软件团队开始采用敏捷开发模式,但是在开发过程中却对其核心思想理解不足,有些敏捷开发团队甚至没有管理者,仅设一名Scrum Master向产品经理汇报,职责划分也很暧昧。
除了软件公司,在很多常规企业中,敏捷开发已经成为一种无负责人的开发流程。所谓的产品经理与销售、CEO随意加功能、改需求,然后交给开发团队去“敏捷”开发。在开发过程中,需求调研、设计、反馈、代码评审、测试、全不需要。说好听点这叫敏捷开发,说不好听点,这就是技术大杂烩,能做到哪一步算哪一步,完全忽略了敏捷开发的实质。
而实际上,敏捷开发并不是这样的,迭代的核心在于软件的超前规划。如果没有专业规划者的全程指导,造出来的软件系统必不合格 -- 时间超限、预算超支、充斥着各种不科学的奇思妙想、根本不管需求是否合乎逻辑。所以,无论用什么开发思维,不管是哪种开发手段,都要制定合理科学的开发方案,这样才可事半功倍。
更多敏捷开发详情参阅:https://www.learun.cn
版权声明
本文为[香飘飘奶搽]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4455046/blog/4710048
边栏推荐
猜你喜欢

7-10x write performance improvement: analysis of wiredtiger data page lock free and compression black Technology

spark学习(三)--内存管理和性能调优

Spark Learning (2) -- job scheduling and shuffle analysis

CAD tutorial cad2016 installation course

What kind of experience does a doctor have when he turns his secret love brother into a husband?

C language (circular list) to achieve the basic function of snake

为什么我强烈建议要定制开发小程序,这些好处你需要了解

干货推荐:关于网络安全技术的专业术语,你知道多少?

One year after graduation, I took private jobs to earn 10 W and got offers from several big factories!

7-10倍写入性能提升:剖析WiredTiger数据页无锁及压缩黑科技
随机推荐
C语言—————三子棋游戏
移动安全加固助力 App 实现全面、有效的安全防护
岗位内推 | 微软亚洲研究院智能多媒体组招聘计算机视觉算法实习生
Why I strongly recommend custom development of small programs, these benefits you need to understand
Infrastructure testing based on chef inspec
OpenYurt 深度解读:如何构建 Kubernetes 原生云边高效协同网络?
腾讯云服务器搭建wordpress网站的两种方式(详细图文新手版)
Booker · apachecn programming / back end / big data / AI learning resources 2020.11
5 minutes get I use GitHub's 5-year summary of these operations!
5 minutes get I use GitHub's 5-year summary of these operations!
Autocad2020 full version installation text course, registration activation cracking method
Application and practice of native map and web fusion technology
嘉宾专访|2020 PostgreSQL亚洲大会阿里云数据库专场:王健
你这么不努力,怎么做年薪40W的大数据打工人?
Why is your money transferred? This article tells you the answer
AE(After Effects)的简单使用——记一次模板套用的过程
Restart the heap_ uaf_ hacknote
What kind of experience does a doctor have when he turns his secret love brother into a husband?
程序员买房前后对比,看完后已哭瞎...
arthas无网络环境下离线安装方法