七种最流行的敏捷开发方法介绍︱Agile
wxin55 2024-10-28 20:25 12 浏览 0 评论
在创建敏捷宣言时,有不少“轻量级”开发流程;此后出现了其他此类方法。它们现在统称为“敏捷”方法。
敏捷是一种思维方式和行为方式。
敏捷是一种心态,是一套价值观和原则。
敏捷是关于短周期、迭代和增量交付、快速失败、获得反馈、尽早向客户交付业务价值以及人员、协作和交互。
敏捷是一种思考透明度、检查和适应的方式。但是,敏捷不包含任何角色、事件或工件。这是一种心态。
例如
Scrum 是敏捷方法下广泛使用的框架之一。
它可以帮助你变得更加一个GILE,但也有更多的框架,敏捷运动,如看板,XP,水晶等,如图下图:
1. Scrum
这是一种非常流行的方法,它借用了足球scrum的名称并将其用作以下隐喻:
每日站立会议,
Scrum 的迭代很短。每次迭代都专注于交付由 Scrum 团队开发的工作软件,
Sprint和产品有严格的优先级“积压”,并且
分配了“产品所有者”角色来设置优先级。
维护敏捷最佳实践的“ Scrum Master ”
2.极限编程(XP)
XP是一套工程实践。开发人员必须超越他们的能力来实施这些实践。团队计划少量工作并在短时间内构建,称为 1-4 周迭代。
XP 与其他迭代框架的主要区别在于 XP 侧重于需要达到极端水平的软件工程实践。例如,XP 将代码审查视为极端,并鼓励通过结对编程 100% 的时间进行同行审查。
3. 快速应用程序开发 (RAD)
Rap不仅是一系列敏捷迭代方法的总称,也是 James Martin (1991) 所描述的一种方法。Rad 负责分析、设计、构建和测试阶段,并迭代开发原型和增加功能的版本。
4. 动态系统开发方法(DSDM)
DSDM 是一种敏捷的软件开发方法。它是一种迭代和增量方法,主要基于快速应用程序开发(RAD)方法。
然而,RAD 方法通常是非结构化的,并且 rad 团队之间没有共同的流程。因此,每个组织都建立了自己的方法和框架,标准也各不相同,因此很难招募到有经验的 rad 从业人员。为了解决这个问题,DSDM应运而生。
该方法提供了一个四阶段的框架,包括:
可行性和商业研究
功能模型/原型迭代
设计和构建迭代
执行
5.统一流程(UP)
Up是一个迭代和增量框架,具有多种实现,包括 RUP、Open-UP 和 Agile-UP。一个高度可定制的框架,具有以架构为中心和以风险为中心的 rad 方法。UP的每个阶段被称为初始阶段、细化阶段、构建阶段和过渡阶段,每个阶段都有不同的侧重点。
6. 精益方法
精益起源于 1970 年代的制造业。Mary 和 Tom Popendieck (2003) 在他们的《精益软件开发》一书中将精益原则应用于软件开发。精益专注于为客户提供价值并消除流程中的浪费。
7. 看板
看板:一种起源于精益制造的方法,由 David Anderson (2010) 进一步发展。看板基于工作流可视化,通常在物理板上,解决导致问题的问题,限制团队正在进行的工作并平衡对团队的需求。
概括
敏捷开发是软件开发行业的热词之一。这是管理软件开发项目的一种不同方式。它不是特定的软件开发方法,而是基于敏捷宣言中表达的价值观和原则的一组方法和实践的总称。解决方案是通过自组织、跨职能团队之间的协作,使用适合其环境的适当实践来开发的。
今天还有许多其他的敏捷方法在使用。这包括scrumban、crystal、BDD、TDD、FDD等混合方法,以及各家公司开发的许多内部定制。
来源:CSDN 作者:Warren2Lynch
相关推荐
- ES6中 Promise的使用场景?(es6promise用法例子)
-
一、介绍Promise,译为承诺,是异步编程的一种解决方案,比传统的解决方案(回调函数)更加合理和更加强大在以往我们如果处理多层异步操作,我们往往会像下面那样编写我们的代码doSomething(f...
- JavaScript 对 Promise 并发的处理方法
-
Promise对象代表一个未来的值,它有三种状态:pending待定,这是Promise的初始状态,它可能成功,也可能失败,前途未卜fulfilled已完成,这是一种成功的状态,此时可以获取...
- Promise的九大方法(promise的实例方法)
-
1、promise.resolv静态方法Promise.resolve(value)可以认为是newPromise方法的语法糖,比如Promise.resolve(42)可以认为是以下代码的语...
- 360前端一面~面试题解析(360前端开发面试题)
-
1.组件库按需加载怎么做的,具体打包配了什么-按需加载实现:借助打包工具(如Webpack的require.context或ES模块动态导入),在使用组件时才引入对应的代码。例如在V...
- 前端面试-Promise 的 finally 怎么实现的?如何在工作中使用?
-
Promise的finally方法是一个非常有用的工具,它无论Promise是成功(fulfilled)还是失败(rejected)都会执行,且不改变Promise的最终结果。它的实现原...
- 最简单手写Promise,30行代码理解Promise核心原理和发布订阅模式
-
看了全网手写Promise的,大部分对于新手还是比较难理解的,其中几个比较难的点:状态还未改变时通过发布订阅模式去收集事件实例化的时候通过调用构造函数里传出来的方法去修改类里面的状态,这个叫Re...
- 前端分享-Promise可以中途取消啦(promise可以取消吗)
-
传统Promise就像一台需要手动组装的设备,每次使用都要重新接线。而Promise.withResolvers的出现,相当于给开发者发了一个智能遥控器,可以随时随地控制异步操作。它解决了三大...
- 手写 Promise(手写输入法 中文)
-
前言都2020年了,Promise大家肯定都在用了,但是估计很多人对其原理还是一知半解,今天就让我们一起实现一个符合PromiseA+规范的Promise。附PromiseA+规范地址...
- 什么是 Promise.allSettled()!新手老手都要会?
-
Promise.allSettled()方法返回一个在所有给定的promise都已经fulfilled或rejected后的promise,并带有一个对象数组,每个对象表示对应的pr...
- 前端面试-关于Promise解析与高频面试题示范
-
Promise是啥,直接上图:Promise就是处理异步函数的API,它可以包裹一个异步函数,在异步函数完成时抛出完成状态,让代码结束远古时无限回掉的窘境。配合async/await语法糖,可...
- 宇宙厂:为什么前端离不开 Promise.withResolvers() ?
-
大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发。1.为什么需要Promise.with...
- Promise 新增了一个超实用的 API!
-
在JavaScript的世界里,Promise一直是处理异步操作的神器。而现在,随着ES2025的发布,Promise又迎来了一个超实用的新成员——Promise.try()!这个新方法简...
- 一次搞懂 Promise 异步处理(promise 异步顺序执行)
-
PromisePromise就像这个词的表面意识一样,表示一种承诺、许诺,会在后面给出一个结果,成功或者失败。现在已经成为了主流的异步编程的操作方式,写进了标准里面。状态Promise有且仅有...
- Promise 核心机制详解(promise机制的实现原理)
-
一、Promise的核心状态机Promise本质上是一个状态机,其行为由内部状态严格管控。每个Promise实例在创建时处于Pending(等待)状态,此时异步操作尚未完成。当异步操作成功...
- javascript——Promise(js实现promise)
-
1.PromiseES6开始支持,Promise对象用于一个异步操作的最终完成(包括成功和失败)及结果值的表示。简单说就是处理异步请求的。之所以叫Promise,就是我承诺,如果成功则怎么处理,失败怎...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- ES6中 Promise的使用场景?(es6promise用法例子)
- JavaScript 对 Promise 并发的处理方法
- Promise的九大方法(promise的实例方法)
- 360前端一面~面试题解析(360前端开发面试题)
- 前端面试-Promise 的 finally 怎么实现的?如何在工作中使用?
- 最简单手写Promise,30行代码理解Promise核心原理和发布订阅模式
- 前端分享-Promise可以中途取消啦(promise可以取消吗)
- 手写 Promise(手写输入法 中文)
- 什么是 Promise.allSettled()!新手老手都要会?
- 前端面试-关于Promise解析与高频面试题示范
- 标签列表
-
- hive行转列函数 (63)
- sourcemap文件是什么 (54)
- display none 隐藏后怎么显示 (56)
- 共享锁和排他锁的区别 (51)
- httpservletrequest 获取参数 (64)
- jstl包 (64)
- qsharedmemory (50)
- watch computed (53)
- java中switch (68)
- date.now (55)
- git-bash (56)
- 盒子垂直居中 (68)
- npm是什么命令 (62)
- python中+=代表什么 (70)
- fsimage (51)
- nginx break (61)
- mysql分区表的优缺点 (53)
- centos7切换到图形界面 (55)
- 前端深拷贝 (62)
- kmp模式匹配算法 (57)
- jsjson字符串转json对象 (53)
- jdbc connection (61)
- javascript字符串转换为数字 (54)
- mybatis 使用 (73)
- 安装mysql数据库 (55)