什么是敏捷开发?它有什么特点
随着软件开发技术的不断发展,现在出现了很多种不同的开发模式,其实敏捷开发已经成为现在很多企业开发应用程序都想要选择的开发方案。那么什么是敏捷开发呢?下面一起来了解一下相关的知识吧!
常用的 4 种开发模式:
1.瀑布式开发
瀑布式开发是由 WW.Royce 在 1970 年提出的软件开发模型,是一种比较老的计算机软件开发模式, 也是典型的预见性的开发模式。在瀑布式开发中,开发严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤进行,步骤的成果作为衡量进度的方法,例如需求规格、设计文档、测试计划和代码审阅等。 瀑布式开发最早强调系统开发应有完整的周期,且 必须完整地经历每个周期内的每个开发阶段,井系统化地考量分析所涉及的技术、时间与资源投入等。
瀑布式开发的主要问题是它的严格分级导致自由度降低,项目早期即作出承诺会导致对后 期需求的变化难以调整且代价很大,这在需求不明晰并且在项目进行过程中可能有变化的情况 下基本上是不可行的。
2.迭代式开发
法代式开发也被称为迭代增量式开发,是一种与传统的瀑布式开发相反的软件开发过程, 它弥补了传统开发方式的一些弱点,有更高的成功率。在迭代式开发中,整个开发工作被组织 为一系列短小的、固定长度的小项目,每次选代都包括需求分析、设计、实现与测试。采用迭代式开发时, 工作可以在需求被完整地确定之前启动, 并在一次选代中完成系统的一部分功能 或业务,再通过客户的反馈来细化需求,并开始新一轮的迭代。
迭代式开发有如下特点:
每次只设计和实现产品的一部分;
一步一步地完成;
每次设计和实现一个阶段,这叫作一个迭代。
3.螺旋式开发
螺旋式开发是由巴利 · 玻姆在 1988 年正式发表的软件系统开发模型,它兼顾了快速原型的法代特征及瀑布模型的系统化和严格监控,其最大的特点是引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减少损失。 同时,在每个法 代阶段构建原型是螺旋模型用来减少风险的方法。 螺旋模型更适合大型的昂贵的系统级的软件开发, 一开始应用的规模很小,当项目被定义得更好、更稳定时逐渐展开。其核心在于不需要 在刚开始时就把所有事情都定义清楚,可以先定义最重要的功能去实现它,然后听取客户的意 见,再进入下一个阶段,如此不断循环、重复,直到得到满意的产品。螺旋模型在很大程度上 是一种风险驱动的方法体系,因为在每个阶段及经常发生的循环之前,都必须先进行风险评估。
特点:
制定计划:确定软件目标,选定实施方案,弄清楚项目开发的限制条件。
风险分析: 分析、评估所选方案,考虑如何识别和消除风险。
实施工程:实施软件开发和验证。
客户评估:评价开发工作,提出修正建议,制定下一步计划。
4.敏捷开发:
敏捷开发(Agile)是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简单地来说,敏捷开发并不追求前期完美的设计、完美编码,而是力求在很短的周期内开发出产品的核心功能,尽早发布出可用的版本。然后在后续的生产周期内,按照新需求不断迭代升级,完善产品。
敏捷软件开发特点:
首要任务是尽早地、持续地交付可评价的软件,以使客户满意。
乐于接受需求变更,即使在开发后期也是如此。敏捷软件开发能够驾驭需求的变化,从 而为客户赢得竞争优势。
频繁交付可使用的软件,交付的间隔越短越好,可以从几个月缩减到几个星期。
在整个项目开发期间,业务人员和开发人员必须朝夕工作在一起。
围绕那些有推动力的人们来构建项目,给予他们所需的环境和支持,并且相信他们能够把工作做好。
开发团队及在开发团队内部进行最快速、有效的传递信息的方法是面对面交谈。
可使用的软件是进度的主要衡量指标。
提倡可持续发展。出资人、开发人员及使用者应该共同维持稳定的开发速度。
为了增强敏捷能力,应持续关注技术上的杰出成果和良好的设计。
简洁,最小化那些没有必要投入的工作量是至关重要的。
最好的架构、需求和设计都源于自我组织的团队。
团队定期反思如何变得更有战斗力,然后相应地转变井调整其行为。
敏捷开发模式的分类
敏捷开发的实现主要包括 SCRUM、XP(极限编程)、Crystal Methods、FDD(特性驱动开发)等等。其中 SCRUM 与 XP 最为流行。
同样是敏捷开发,XP 极限编程 更侧重于实践,并力求把实践做到极限。这一实践可以是测试先行,也可以是结对编程等,关键要看具体的应用场景。
敏捷开发与 DevOps:
DevOps 是 Development 和 Operations 的合成词,其目标是要加强开发人员、测试人员、运维人员之间的沟通协调。如何实现这一目标呢?需要我们的项目做到持续集成、持续交付、持续部署。
敏捷开发是一种快速开发应用程序的方式,以最快的途径完成应用程序的开发,帮助企业提高应用程序的交付速度。
什么是敏捷开发?它有什么特点相关推荐
- 从瀑布模型、极限编程到敏捷开发
从瀑布模型.极限编程到敏捷开发 ---软件开发管理者思维的变化 Jack zhai 软件开发是一种对人类智慧的管理,对人大脑思维的"工厂化"管理.人是有感情的.有情绪的.变化的.相 ...
- 网上商城代码实现_中国中铁网上商城转型敏捷开发模式,实现快速反应、快速迭代...
△北研中心的同事给业务部门演示迭代成果中国中铁网上商城成功转型敏捷开发模式,实现快速反应.快速迭代.切实解决公司内部以及合作方的业务需求,更好服务多样化的客户群体.经历了两次每2周为一迭代的短期快速开 ...
- [敏捷开发实践](2) 用于开发和维持复杂产品的敏捷开发框架Scrum
[敏捷开发实践](2) 用于开发和维持复杂产品的敏捷开发框架Scrum 1,Scrum概述 上篇中提到敏捷开发有两种主流的方法,一个是XP,另一个是Scrum,本篇简要介绍Scrum方法.Scrum是 ...
- 一步步学敏捷开发:开篇
一步步学敏捷开发:开篇 http://www.cnblogs.com/jetlian/p/3913687.html
- 敏捷开发实践总结(二):关于测试
用了两个冲刺周期,我们组算是把敏捷开发的测试流程给捋顺了.这里对我们的测试,以及敏捷开发中的测试做一个小结. 一.开发组一定不能讳疾忌医. 作为开发人员,一定要秉着这个出发点去看待测试.业务测试测试组 ...
- 敏捷开发之道(二)极限编程XP
上次的博文敏捷开发之道(一)敏捷开发宣言中,我们介绍了一下敏捷开发宣言,在其中,我们了解到了关于敏捷开发的几个重要的价值观.今天我们来了解一个敏捷开发的方法--极限编程XP 1.介绍 极 ...
- 敏捷开发日常跟进系列之二:燃尽图(中)
这是敏捷开发日常跟进系列的第二篇(栏目目录). 迭代及燃尽图的目标 燃尽图的目标是完成迭代的目标,迭代的目标是什么呢? 1. 按产品经理的要求,交付计划会中计划的用户故事 2. 尽量完成1 之后还会看 ...
- 尹伊:用敏捷开发思维来成长!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale线上 分享:尹伊,哥伦比亚大学,Datawhale成员 「WhaleShare ...
- 研发流程在敏捷开发中的详解
在传统的软件研发模型中,从提出需求到最后交付,时间周期较长.瀑布模型遵循需求分析.设计.编码.集成.测试.维护六个步骤进行.一旦需求发生变化,不仅浪费前期投入,还不易于调整. 1. 敏捷开发是什么 在 ...
- 使用leangoo做多团队敏捷开发项目管理
概述 多团队敏捷开发主要是指多个Scrum团队/敏捷团队开发同一款大型产品或大型项目的敏捷开发. 适用场景 适用于多个团队进行大规模敏捷开发协作.Leangoo基于多团队大规模敏捷开发需求,也提供了可 ...
最新文章
- 企业必备:商业智能中应该具备的3种仪表盘(Dashboards)
- 计算机制图国家规范,竣工图绘制相关国家规范
- maven netty 配置_SpringBoot整合Netty(附源码)
- 你还在抱怨开发工具,为什么不动手优化? | 人物志
- 调整样式_“寒来暑往”美国海军陆战队应季节调整迷彩样式的规定变化
- 18 比较数组找出最大两个数
- ARM汇编,MCR和MRC
- python绘制函数x^2+y^2的3D图像
- colorui 使用iconfont图标
- SpeedFan 控制风扇转速
- SPI读写串行FLASH(W25Q64)
- python: not found 问题的解决
- 视频分配器(视频放大分配器)
- 蚂蚁金服 mPaaS 模块化开发与架构重构深度解析
- JavaScript推箱子游戏开发笔记
- 【转载】测试报告模板
- Pigeon的一次调用客户端发生了什么
- Win10下次使用debug进入DOS进行汇编开发
- 【调研】DRL优化网络通信领域顶会及期刊
- 后台界面设计之表格设计