敏捷方法简介

敏捷方法简介

特点

  • 适应性,应对变化
  • 以人为本,发挥人的特性
  • 迭代增量式开发,逐版本更新

实践

极限编程

  • 特点
    • 加强交流
    • 从简单做起
    • 寻求反馈
    • 实事求是

水晶系列方法

  • 特点
    • 以人为中心,机动性
    • 一组经过证明、对不同类型项目非常有效的敏捷过程,根据其项目和环境选择最合适的
    • 水晶方法基于两种关键假设:
      • 首先,团队可以通过简化工作和项目流程来提高自身效率。
      • 其次,每个项目都与其他项目不同,都需要一些特定、具体的方法和策略。
    • 方法对项目的适用性影响因素
      • 团队规模
      • 关键程度
      • 项目优先级
  • 参考: https://www.toolsqa.com/agile/crystal-method/

Scrum

  • 特点
    • 基于经验主义和精益思维(减少浪费),利用迭代和增量方法应对未来需求和潜在风险
    • 包括了一系列实践和预定义角色的过程骨架(是一种流程、计划、模式,用于有效率地开发软件)
    • 使用产品 Backlog 来管理产品的需求。产品 Backlog 是一个按照商业价值排序的需求列表。开发时将会开发过程根据 Backlog 分成若干短的过程,每次递交可交付内容
    • 基于经验主义的 Scrum 的三个支柱:
      • 透明 了解工件的行为
      • 检视 了解开发进展
      • 适应 调整工作应对当前情况

特征驱动开发方法 (Feature Driven Development,FDD)

  • 特征是基本的开发单位,一般可在两周之内实现(过长就需要分解)
  • 迭代的开发模型
  • 3个要素:人、过程和技术
  • 6种关键的项目角色:项目经理、首席架构设计师、开发经理、主程序员、程序员和领域专家
  • 5个核心过程:
    • 开发整体对象模型: 主要是收集系统的功能需求,然后使用四色原型进行域建模。得出系统的架构设计图
    • 构造特征列表:根据领域专家对领域的划分,将整个领域分成一定数量的区域(主要功能集),每个区域再细化为一定数量的活动。形成了具有层次结构的分类功能列表
    • 计划特征开发:根据功能的依赖性、开发小组的工作负荷以及要实现的功能的复杂性,计划实现功能的顺序,完成一个功能开发计划。(它提供了对项目的高层视图,让业务代表了解功能开发、测试和发布日期,以便业务代表和部署小组能够计划交付哪些功能的日期。)
    • 特征设计:对功能进行详细设计。同时在域模型的基础上进行分析、设计,得出分析模型、设计模型。
    • 特征构建:按照设计进行编码实现,由程序员实现各自负责的类。在代码完成后有必要的组织代码复查、评审

    计划特征开发根据构造出的特征列表、特征间的依赖关系进行计划,设计出包含特征设计和特征构建过程组成的多次迭代

比较

极限编程和特征驱动开发方法的比较

  • 设计过程:XP过程以在卡片上记录故事开始业务分析。FDD使用特征,执行领域走查,同时要建立一个全面的领域对象模型,以便特征小组对每一组特征产生更好的设计。 FDD具有总体设计
  • 开发队伍规模:XP通常不超过10人;FDD的理想团队成员数在16~20人
  • 代码所有权:XP鼓励集体拥有代码,任何人都可以在需要时添加或修改代码。与之相反,在FDD中,整个开发团队拥有代码的集体所有权。当需要集体验证譬如说软件架构的设计或用户界面构造的时候,FDD就将类所有者与特征小组和审查结合起来满足需要。(类指派给某人负责)
  • 测试:XP利用双人结对编程来不断地在设计和代码层执行走查和非形式化审查。FDD则提倡采用结构化的形式化审查技术。XP中的正确性是由运行单元和功能测试来定义的。在FDD中,单元测试是“按照功能构建”过程的一个部分。FDD没有定义参与测试的形式化等级,由主程序员决定做什么更适合。

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

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

相关文章

【QT】Qt Charts概述

目录 1 QtCharts模块 2 图表的主要组成部分 2.1 QChartView的功能 2.2 序列 2.3 坐标轴 2.4 图例 3 一个简单的QChart绘图程序 QtCharts是Qt提供的图表模块,在Qt5.7以前只有商业版才有Qt Charts,但是从Qt5.7开始,社区版本也包含了Qt C…

蓝桥杯倒计时41天!DFS进阶1——回溯

DFS进阶1——回溯 先说一下回溯的板子 dfs(){ for(......){标记信息dfs()撤销标记 } }回溯模板——递归实现排列型枚举 题目分析 其实就是对1~n的数字全排列,这里就可以用dfs去做,1~n全排列我其实是确定每一个位置我应该放哪一个数字,那么…

Qt程序设计-解析和生成json详解

目录 概述 JSON的两种结构 解析和生成json 解析对象结构 生成对象结构

【MySQL】mvcc以及三个重要日志

🍎个人博客:个人主页 🏆个人专栏:【】数据库 ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 MVCC关键概念: MVCC机制的优点: 三个重要的日志: 重做日志: 回滚日志&am…

【Java项目介绍和界面搭建】拼图小游戏——打乱图片顺序

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏 …

再次走到了个人发展的十字路口

人生有非常多的十字路口 诸如:大学选择专业、毕业选择公司、选择技术方向、两年发展方向、三年发展方向、五年发展方向。 在之前,我选择深入做elasticsearch,做专精es搜索和优化。做了大概4年时间。 但是现在又走到了很难抉择的十字路口 第…

网络仿真(一)

网络仿真的意义 在网络规划和设计、网络设备研发、网络协议开发中,需要一种手段来反映和预测网络的性能 网络仿真可以提高网络规划设计的可靠性和准确性,明显降低网络投资风险,减少不必要的浪费 Ns-2 is a discrete event simulator Sched…

持安科技亮相张江高科895创业营,总评分第三名荣获「最具创新性企业」!

近日,张江高科895创业营(第十三季)信息安全专场Demo day&结营仪式在上海集成电路设计产业园圆满落幕。本季创业营通过多种渠道在海内外甄选优秀创业项目,一共择优录取了29家入营,最终甄选出9家代表参加Demo day路演…

ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the ‘ssl‘报错解决

安装labelme出错了 根据爆栈的提示信息,我在cmd运行以下命令之后一切正常了,解决了问题! pip install urllib31.26.6参考网址:ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1, currently the ‘ssl’ module is compile…

一文彻底搞懂基于数组和链表分别实现LRU算法

文章目录 1. LRU算法2. 基于数组实现LRU算法3. 基于链表实现LRU算法 1. LRU算法 常见的缓存淘汰策略有三种,分别是:先进先出策略FIFO(First In,First Out)、最少使用策略LFU(Least Frequently Used&#x…

董兆祥出席工业废水资源化,开创变废为宝新途径演讲

演讲嘉宾:董兆祥 董事长 河北奥博水处理有限公司 演讲题目:工业废水资源化,开创变废为宝新途径 会议简介 “十四五”规划中提出,提高工业、能源领城智能化与信息化融合,明确“低碳经济”新的战略目标,热…

springcloud:3.2测试超时机制

服务提供者 Openfeign远程调用服务提供者搭建 文章地址http://t.csdnimg.cn/06iz8 PaymentController【控制层】 /*** 测试超时机制** return*/GetMapping("/timeout")public String TimeOut() {try {TimeUnit.SECONDS.sleep(5);} catch (InterruptedException e) {…

应用层DDoS防护:理解、必要性与实现策略

一、应用层简介 应用层,也称作第七层,是OSI(开放系统互联)模型中的最高层。在这一层,数据以特定的应用程序协议格式进行传输,如HTTP、FTP、SMTP等。应用层的主要职责是为用户提供网络服务,如文…

【笔记】Android Telephony 获取SubscriptionManager和TelephonyManager

背景 早期的手机只有单卡 ,基本用默认卡(代码如下),那么双卡手机的业务逻辑就会存在问题。 //手动搜网的功能案例,根据卡槽/Phone对象直接获取信息private Context mcontext context; private Phone mPhone PhoneF…

LeetCode 560. 和为 K 的子数组

由于题目要求子数组必须连续&#xff0c;也就是需要一个和为K的区间&#xff0c;可以利用前缀和预处理后&#xff0c;枚举找到这些区间段[l,r]&#xff0c;使之满足s[r] - s[l] k。 不理解前缀和的可以先看这里。 class Solution { public:int subarraySum(vector<int>…

MongoDB聚合运算符:$count

文章目录 语法使用举例在$group阶段中使用在$setWindowFields阶段使用 $count聚合运算符返回分组中文档的数量。从5.0开始支持。 语法 { $count: { } }$count不需要参数 使用 $count可以用于下列聚合阶段&#xff1a; $bucket$bucket$group$setWindowFields 在$group阶段中…

【vuex之五大核心概念】

vuex:五大核心概念 一、state状态1.state的含义2.如何访问以及使用仓库的数据&#xff08;1&#xff09;通过store直接访问获取store对象 &#xff08;2&#xff09;通过辅助函数MapState 二、mutations1.作用2.严格模式3.操作流程定义 mutations 对象&#xff0c;对象中存放修…

Freesia 项目引用的依赖

UML图 项目总依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.0</version> </parent> <groupId>com.freesia</groupId> <artifa…

计算机网络_2.1 物理层概述

2.1 物理层概述 一、物理层要实现的功能二、物理层接口特性 B站 深入浅出计算机网络 2.1物理层概述 一、物理层要实现的功能 物理层要实现的功能就是在各种传输媒体上传输比特0和1&#xff0c;进而给上面的数据链路层提供透明传输比特流的服务。 数据链路层“看不见”&#xff…

剑指offer面试题22:链表中倒数第k个节点

面试题22&#xff1a;链表中倒数第k个节点 题目&#xff1a; 实现一种算法&#xff0c;找出单向链表中倒数第 k 个节点。返回该节点的值。 示例&#xff1a; 输入&#xff1a; 1->2->3->4->5 和 k 2 输出&#xff1a; 4思路&#xff1a; 1、求倒数第k个节点的…