总结目前敏捷开发框架(持续更新....)

news2024/11/17 13:41:25

文章目录

  • 0 敏捷开发
  • 1 类型分类
    • 1.1. Scrum
    • 1. 2.极限编程(XP)
    • 1. 3. 快速应用程序开发 (RAD)
    • 1. 4. 动态系统开发方法(DSDM)
    • 1.5.统一流程(UP)
    • 1. 6. 精益方法
    • 1. 7. 看板
    • 1. 8.FDD(功能驱动开发)
    • 1.9.水晶开发(Crystal Clear)
  • 2、总结
  • 3、引用


在这里插入图片描述

0 敏捷开发

1、敏捷是一种思维方式和行为方式。
2、敏捷是一种心态,是一套价值观和原则。
3、敏捷是关于短周期、迭代和增量交付、快速失败、获得反馈、尽早向客户交付业务价值以及人员、协作和交互。
4、敏捷是一种思考透明度、检查和适应的方式。但是,敏捷不包含任何角色、事件或工件。这是一种心态。。


1 类型分类

1.1. Scrum

这是一种非常流行的方法,它借用了足球scrum的名称并将其用作以下隐喻:

1、每日站立会议,
2、Scrum 的迭代很短。每次迭代都专注于交付由 Scrum 团队开发的工作软件,
3、Sprint和产品有严格的优先级“积压”,并且分配了“产品所有者”角色来设置优先级。
4、维护敏捷最佳实践的“ Scrum Master ”


1. 2.极限编程(XP)

XP是一套工程实践。开发人员必须超越他们的能力来实施这些实践。团队计划少量工作并在短时间内构建,称为 1-4 周迭代。

XP 与其他迭代框架的主要区别在于 XP 侧重于需要达到极端水平的软件工程实践。例如,XP 将代码审查视为极端,并鼓励通过结对编程 100% 的时间进行同行审查


1. 3. 快速应用程序开发 (RAD)

Rap不仅是一系列敏捷迭代方法的总称,也是 James Martin (1991) 所描述的一种方法。Rad 负责分析、设计、构建和测试阶段,并迭代开发原型和增加功能的版本。


1. 4. 动态系统开发方法(DSDM)

DSDM 是一种敏捷的软件开发方法。它是一种迭代和增量方法,主要基于快速应用程序开发(RAD)方法。然而,RAD 方法通常是非结构化的,并且 rad 团队之间没有共同的流程。因此,每个组织都建立了自己的方法和框架,标准也各不相同,因此很难招募到有经验的 rad 从业人员。为了解决这个问题,DSDM应运而生。该方法提供了一个四阶段的框架,包括:
1、可行性和商业研究
2、功能模型/原型迭代
3、设计和构建迭代执行


1.5.统一流程(UP)

Up是一个迭代和增量框架,具有多种实现,包括 RUP、Open-UP 和 Agile-UP。一个高度可定制的框架,具有以架构为中心和以风险为中心的 rad 方法。UP的每个阶段被称为初始阶段、细化阶段、构建阶段和过渡阶段,每个阶段都有不同的侧重点。


1. 6. 精益方法

精益起源于 1970 年代的制造业。Mary 和 Tom Popendieck (2003) 在他们的《精益软件开发》一书中将精益原则应用于软件开发。精益专注于为客户提供价值并消除流程中的浪费。


1. 7. 看板

看板:一种起源于精益制造的方法,由 David Anderson (2010) 进一步发展。看板基于工作流可视化,通常在物理板上,解决导致问题的问题,限制团队正在进行的工作并平衡对团队的需求。


1. 8.FDD(功能驱动开发)

功能驱动开发,简称 FDD,是一个不那么流行和知名的敏捷框架。如果您正在处理一个长期运行的大型项目,特别是在敏捷仍然仅限于软件开发的组织中,FDD 可能是您最好的朋友。这个框架弥合了敏捷和传统瀑布方法中发现的紧急过程之间的差距。让我们进一步研究以发现 FDD 的基本含义、原理和用途。

什么时候需要 FDD?

与其他以纪律严明和技术熟练的开发人员小团队为中心的敏捷框架相比,FDD 主要专注于大型团队。此外,无论他们采用何种敏捷方法,较小的团队可能更容易管理并且更有可能成功。

另一方面,在大型团队中,并不是每个团队成员都纪律严明、技能娴熟。该框架使用所谓的“刚好够用”技术来确保 FDD 可以应用于大型团队。使用这种技术,审查人员和规划人员可以更改和审查功能集和开发人员类别的分配。

请记住,并非所有类都同时签名,仅够用,并且随着项目的发展,类会不断增加。

总而言之,如果您从事长期、复杂和大型项目,您将需要 FDD 敏捷。毕竟,它是为此目的而创建的。因此,FDD 被认为是一种功能性解决方案,旨在支持大型项目的管理。

功能驱动开发的优缺点

如果您的项目对于较小的团队来说太大而无法处理,您可能需要考虑使用 FDD 框架。正是因为这个原因,敏捷特性驱动的方法更适合那些不断改变并在迭代中添加特性的团队。

请记住,FDD 完全可以从小型跨职能团队扩展到大型跨职能团队,因为这种方法旨在满足客户的需求。现在,让我们探讨一些功能驱动开发的优缺点。

优点:
FDD 使团队能够很好地理解他们的期望,并让他们深入了解项目的背景和范围。
您不必花时间在会议上。虽然 Scrum 使用日常会议,但 FDD 并非如此。他们依靠文档进行交流。
以用户为中心的方法,在这种情况下,客户就是最终用户。
FDD 非常适合大型和长期项目。这个框架是可扩展的,它可以随着您的组织的发展而增长。
在 FDD 的帮助下,您可以将功能分解为更小的块,这将使您更容易快速周转、降低风险、修复编码错误并跟踪您的进度。

缺点:
FDD 不适合较小的项目,也不适用于仅涉及开发人员的项目。
这在很大程度上取决于需要担任导师、首席设计师和协调员的首席程序员。
它不向客户提供书面文档,尽管团队成员中有很多文档圈。
它更侧重于个人代码所有权。
它可能不适用于其他系统。


1.9.水晶开发(Crystal Clear)

20世纪 90年代末, AlistairCockburn提出水晶方法论。自 2001年的敏捷宣言提出以来,以极限编程为首的一系列敏捷方法逐渐走入大众视野,这其中当然包括水晶方法( Crystal Method)。
在发展的过程中,各个敏捷方法论在特性及原则上逐渐都有所偏向。而 Alistair Cockburn将水晶方法细化为透明水晶方法论( Crystal Clear)、黄色水晶方法论( Crystal Yellow)、橙色水晶方法论( Crystal Orange)以及红色水晶方法论( Crystal Red)。

这几种水晶方法论按照项目重要程度以及参加人员规模进行划分,一般来讲,透明水晶方法,适用于一个小团队来进行敏捷开发,人数在 6人以下为宜。相比于同样适用于小规模团队的 XP,水晶方法的纪律性较弱,但其管理运作与团队产出相协调。

水晶方法有七大体系特征
1、经常交付:

敏捷方法对交付成果要求很高,注重频繁小批次交付,水晶方法也不例外。通过经常交付以及时获得客户、产品经理的反馈,从而提升客户价值,使产品价值最大化。

2、反思改进:

对于在迭代开发过程中出现的问题和在交付成果中发现的问题,团队要进行及时的反思。把握住问题的关键,快速地找到解决方案。当问题发现不及时,或者团队并未 进行反思改进时,常常会导致问题的叠加,最终影响可用产品的交付。

3、渗透式交流:

在两个或多个成员进行交流的时候,与他们同处于一个空间范围内的其他人员会或多或少地获取他们的对话信息。因此,这种接收并非有意创造的信息来源的方式称为 渗透式交流,成员根据自己的当前工作可以选择忽略,也可以选择接收。

4、个人安全:

个人安全类似于极限编程强调的“勇气”,当个人产生问题困惑的时候,选择指出问题而不是隐瞒问题,且自己的人身安全受到保障。首先,只有坦然面对不足,才能及 时改正,促使自身与团队不断得到提升。其次,人身安全又是团队中互相信任的表现,只有相互信任,才能更好地完成团队协作。

5、焦点:

焦点就是首要计划。团队制定出要完成的计划,然后安排时间
所谓“焦点”,就是确定首先要做什么,然后安排时间,以平和的心态开展工作。确保团队成员清楚的了解他们自己最重要的任务是什么,确保他们能够有充分的时间去 完成这些任务。

6、与专家用户建立方便的联系:

建立方便的联系是保证专家、用户、团队能够形成一个短周期反应链,对于小批次交付成果的、用户需求变动建立一个快速反馈机制,提高团队工作效率。

配有自动测试、配置管理和经常集成功能的技术环境:

自动化测试可以对代码进行自动测试,减少了人工成本,是工作变得高效、快捷;
配置管理简单来说,就是可以返回上一步,可以通过撤销新操作出现的失误来解决问题;
经常集成功能使团队对系统快速集成,以及时发现错误、纠正错误。


2、总结

上面只是对有的公司所用的敏捷软件开发所用的模型做了总结,不局限于于上述,由于本人水平有限,有很多可能为增加到,到后期会不断总结增加,


3、引用

1、七种最流行的敏捷开发方法
2、敏捷开发框架有哪些
3、极限编程


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/485996.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年最新版【接口自动化测试,web自动化测试,app自动化测试】全套自动化测试面试题

前言: 自动化测试是软件测试中的一个重要领域,它可以帮助企业提高软件开发质量、缩短测试周期和降低测试成本。随着信息技术的不断发展,自动化测试也在不断地创新和发展。本篇文章收集了2023年最新版的接口自动化测试、Web自动化测试和App自…

通俗理解CNN感受野的计算方法

x o u t x i n − k s 1 x_{out} \frac{x_{in} - k}{s} 1 xout​sxin​−k​1 如果不考虑padding,卷积输出的feature map的计算公式如上,那么 x i n ( x o u t − 1 ) ∗ s k x_{in} (x_{out} - 1) * s k xin​(xout​−1)∗sk。因此计算模型的感…

springbooot使用google验证码

springbooot使用google验证码 1、使用场景2、springboot使用google验证码1、引入依赖2、编写配置类3、编写控制层4、前端实现 1、使用场景 由于需要做一个前后端分离的项目,想着使用google验证码,由于年龄大了,这些知识啊,用完就…

防伪标志使用的全息薄膜,竟可合成大自然的“结构色”

大自然为生物赋予了各种各样的色彩,除了常见的赤橙黄绿青蓝紫外,还有反光效果很好的金属色等等。有趣的是,一些生物身上的颜色也能像金属那样闪闪发光,在不同光线下颜色甚至还会有变化。实际上,大自然很多色彩由色素产…

全注解下的SpringIoc 续6-多环境配置

我们都知道,在企业开发过程中,一个项目往往都会有开发、测试、仿真、生产等环境配置,除了使用配置中心(比如Apollo等)之外,Spring Boot也提供了不同环境之间切换的机制,下面让我们来一起看看。 …

Docker安全最佳实践

目录 1、探测容器开放端口和服务漏洞 2、宿主机、网络、镜像、DockerApi安全 3、更新Docker、日志、事件 4、Docker安全测试 5、Docker安全最佳实践 1、探测容器开放端口和服务漏洞 使用Nmap扫描Docker容器中的开放端口 使用docker ps命令获取正在运行的容器ID或名称。在…

密码学作业——置换密码部分

part1: encrypt加密函数_代码补充&#xff1a; /*请在此处添加*/cout<<Substition[plain[i]]; part2:Decrypt解密函数_代码补充: /*请在此处添加代码*/ cout<<ReverseTable[cipher[i]];part3:设置 转换表Substition[]部分: // 将i对应的置换表元素设为s1中对应…

prometheus实战之三:告警规则

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos 本篇概览 本文是《prometheus实战》系列的第三篇&#xff0c;一起来学习prometheus的告警功能&#xff0c;如下图所示&#xff0c;整个告警功能分为规则和通…

Python使用AI animegan2-pytorch制作属于你的漫画头像/风景图片

Python使用AI animegan2-pytorch制作属于你的漫画头像 1. 效果图2. 原理3. 源码参考 git clone https://github.com/bryandlee/animegan2-pytorch cd ./animegan2-pytorch python test.py --photo_path images/photo_test.jpg --save_path images/animegan2_result.png1. 效果图…

全球首个机器人辅助试管婴儿降生

近日&#xff0c;两名通过机器人辅助受精手术成功诞生的女婴成为全球瞩目的焦点。这是全球首批由机器人成功辅助受精的婴儿案例&#xff0c;预示着未来生育技术的发展趋势。 以往&#xff0c;试管婴儿受精过程中将精子注入卵子内的环节都是由人工完成。胚胎技术人员需要在显微镜…

最简单的循环

☃️个人主页&#xff1a;fighting小泽 &#x1f338;作者简介&#xff1a;目前正在学习C语言和数据结构 &#x1f33c;博客专栏&#xff1a;C语言学习 &#x1f3f5;️欢迎关注&#xff1a;评论&#x1f44a;&#x1f3fb;点赞&#x1f44d;&#x1f3fb;留言&#x1f4aa;&am…

6. Docker——详说镜像

本章讲解知识点 Docker 镜像 Union File System&#xff08;联合文件系统&#xff09;技术 回说 Docker 镜像分层 Docker 镜像分层原理 1. Docker 镜像 镜像是一种轻量级、可执行的独立软件包&#xff0c;用来打包软件运行环境和基于运行环境开发的软件&#xff0c;它包含…

一文了解 Zebec Labs 投资的 Coral Finance,空投计划或在不久推出

在前不久&#xff0c;Zebec Labs 宣布对链上衍生品协议 Coral Finance 进行150万美元的投资&#xff0c;以帮助该协议完成早期启动并&#xff0c;并在后续持续的为其提供孵化支持。Coral Finance 将在不久部署在 Nautilus Chain 主网上。据了解&#xff0c;Coral Finance 是 Na…

【VM服务管家】VM4.2平台SDK_6.2 模块操作类

目录 2.2.1 流程操作&#xff1a;通过流程或Group设置输入输出图像的方法2.2.2 模块操作&#xff1a;设置输入图像、参数和ROI2.2.3 N点标定&#xff1a;清空标定点、生成标定文件2.2.4 分支字符&#xff1a;控制调试模式开关的方法2.2.5 条件检测&#xff1a;条件检测模块设置…

【GAMES101】02 Review Of Linear Algebra

1.点乘&#xff1a; 向量点乘 → 一个数值 点乘在图形学中的应用&#xff1a; 找到两个方向之间的夹角。找到一个向量投影到另一个向量上是什么样的。计算两个向量的方向&#xff08;是接近还是远离&#xff09;判定高光范围&#xff0c;从1&#xff08;重合&#xff…

【VM服务管家】VM4.2平台SDK_6.5 全局类

目录 2.5.1 全局相机&#xff1a;获取全局相机列表和设置相机参数的方法 2.5.1 全局相机&#xff1a;获取全局相机列表和设置相机参数的方法 描述 环境&#xff1a;VM4.2 VS2013及以上 问题&#xff1a;问题1&#xff1a;如何获取方案中所有的全局相机的连接状态&#xff0c;…

c++基础-分支语句

目录 if语句 if-else switch语句 if语句 在C中&#xff0c;if语句是一种分支结构&#xff0c;它允许程序根据条件执行不同的操作。可以使用if语句来检查一个条件是否为真&#xff0c;如果为真就执行一个语句块&#xff0c;否则执行另一个语句块。 if语句的语法如下&#xff…

自媒体平台图文创作建议和技巧

自媒体博主在自媒体平台进行图文创作时&#xff0c;需要注意哪些方面才能创造出更好的内容获得更多的关注呢&#xff1f;今天跟大家分享自媒体创作中的一些图文创作建议和技巧。 一、确定目标受众 首先需要明确自己要传达的信息和目标受众。要考虑读者的兴趣、需求和阅读习惯&…

2001-2021年全国30省就业人数数据

2001-2021年全国30省就业人数数据/各省就业人数数据 1、时间&#xff1a;2001-2021年 2、范围&#xff1a;包括30个省市不含西藏 3、指标&#xff1a;就业人数 4、来源&#xff1a;各省NJ、社会统计NJ 5、缺失情况说明&#xff1a;无缺失 6、指标说明&#xff1a; 就业人…

【Python入门】人生苦短,我用Python

前言 &#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐的一位博主。 &#x1f4d7;本文收录于Python零基础入门系列&#xff0c;本专栏主要内容为Python基础语法、判断、循环语句、函…