当前位置:网站首页>谈谈敏捷开发概念和迭代开发方案
谈谈敏捷开发概念和迭代开发方案
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
边栏推荐
- How can you be a big data worker with an annual salary of 40W if you don't work hard?
- 毕业一年后接私活赚了10w,还拿了几家大厂offer!
- Performance comparison of serialization tools such as Jackson, fastjson, kryo, protostuff
- Notes for csp-j / s 2020
- 我叫Mongo,收了「查询基础篇」,值得你拥有
- spark学习(三)--内存管理和性能调优
- 程序员过高工资导致加班?应该降低程序员工资?网友:放过其他苦逼的程序员吧
- 融云完成数亿人民币 D 轮融资,将持续打造全球云通信能力
- C language -- game of Sanzi
- leetcode算法(1)
猜你喜欢

CAD2016软件安装教程

CAD2016下载AutoCAD2016下载安装详细教程CAD下载

spark学习(二)--作业调度和shuffle解析

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

A certification and authorization solution based on. Net core - hulutong 1.0 open source

Get this template, double your salary

A letter to myself

Full link stress testing of moral integrity -- the evolution of corpus intelligence

5 minutes get I use GitHub's 5-year summary of these operations!

Embedded assembly in IOS
随机推荐
嘉宾专访|2020 PostgreSQL亚洲大会阿里云数据库专场:王健
C language -- game of Sanzi
CSP-J/S 2020考前注意事项
What is website [new four modernizations]?
Simple use of AE (after effects)
MES system is different from traditional management in industry application
spark学习(二)--作业调度和shuffle解析
C language (circular list) to achieve the basic function of snake
干货推荐:关于网络安全技术的专业术语,你知道多少?
「代码整洁之道-程序员的职业素养」读书笔记
Put method of immutablemap
国际顶刊Radiology发表华为云最新联合成果,AI辅助检测脑动脉瘤
Performance comparison of serialization tools such as Jackson, fastjson, kryo, protostuff
CAD2016软件安装教程
Python loading voice class custom dataset
Learning history of C language
International top journal radiology published the latest joint results of Huawei cloud, AI assisted detection of cerebral aneurysms
Low power Bluetooth single chip helps Internet of things
The worst hacker in history: stealing $1 billion of bitcoin without spending it for seven years, and finally being seized by the Department of justice
百万年薪架构师之路:谈应用系统架构设计