高架学习笔记之主要敏捷方法概览

devtools/2024/9/23 0:50:44/

一、极限编程(Extreme Programming,XP)

        XP是一个轻量级、灵巧、严谨周密的开发方法,它的价值观是交流,朴素,反馈和勇气,可理解为加强交流,从简单做起,寻求反馈,勇于实事求是。XP是一种类似螺旋式的开发方法,将复杂的开发过程分解为一个个相对简单的小周期,通过积极的交流,反馈等手段,使得开发人员和用户可以及时地调整开发过程。XP在一些对费用控制严格的公司中的使用是非常有效的。

二、水晶系列方法

        水晶系列方法的目的是发展一种提倡“机动性”的方法,在于用最少的纪律约束而仍能成功的方法。水晶系列方法认为,每个项目都是独一无二的,因此需要根据项目的特定情况来定制方法和实践。水晶系列方法根据项目的大小、关键性和优先级分为不同的颜色,包括:

Crystal Clear:适用于小型团队(6人以下),重点在于频繁交付、反馈、个人安全感和技能提升。

Crystal Yellow:适用于稍大的团队(10-20人),在Crystal Clear的基础上增加了更多的结构和文档要求。

Crystal Orange:适用于中型团队(20-50人),需要更多的协调和跟踪机制。

Crystal Red:适用于大型团队(50-100人),通常涉及多个部门,需要更加正式的沟通和文档。

        水晶系列方法强调的是项目管理和执行应该根据项目的具体情况来调整,而不是一成不变地遵循某一套固定的规则。

三、Scrum

        Scrum侧重于项目管理,是一个迭代式增量软件开发过程,在Scrum中,会将所有需求按价值进行排序产生一个需求列表,根据此需求列表将开发过程分割为多个小周期,每个小周期完成N个优先级最高的需求,当所有需求结束时,即完成了最终的软件产品。Scrum的核心在于明确定义了可重复的方法过程,通过不断地冲刺(sprint),最终迭代式地完成所有需求。

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

        FDD是一个迭代的开发模型,致力于短时的迭代阶段和可见可用的功能,在FDD中,一个迭代周期一般是两周。FDD认为有效的软件开发需要3个要素:人,过程和技术。其中有6种关键的项目角色以及5个核心过程:

角色:项目经理、首席架构设计师、开发经理、主程序员、程序员和领域专家;

核心过程:开发整体对象模型、构造特征列表、计划特征开发、特征设计和特征构建。

五、动态系统开发方法(DSDM)

        动态系统开发方法(Dynamic Systems Development Method,简称DSDM)旨在为项目提供稳定的交付节奏,并强调适应性、可持续性和风险管理。DSDM适用于需要快速迭代和频繁交付软件以响应市场变化的项目。DSDM的核心是快速、连续地交付可用的软件功能。这种方法通过将项目分解成一系列短周期的迭代来工作,每个迭代结束时都应交付一个可运行的软件产品。这些迭代通常被称为“冲刺”或“周期”。DSDM的五个基本原则包括:

业务价值驱动:确保项目团队关注那些能为客户带来最大业务价值的特性。

可持续速度:保持一个稳定的工作节奏,避免过度劳累,确保项目可以长期维持。

风险管理:识别潜在的风险,并采取措施来减轻它们。

增量发展:通过逐步构建和迭代来发展系统,确保每个迭代都有价值。

持续反馈:通过持续的反馈,确保项目团队对变化做出快速响应,并保持产品的方向正确。

        DSDM包含以下主要阶段:

项目启动:确定项目范围、目标、关键干系人和期望。

需求迭代:与干系人合作,确定并优先排序需求,形成初步的架构和设计。

设计迭代:详细设计,准备第一个可运行的软件版本。

构建迭代:实际的编码和测试工作,每个迭代结束时都有可交付的产品。

交付:最终产品的交付和部署。

        DSDM特别适用于那些需求不明确或不断变化的项目,因为它允许项目团队在开发过程中不断调整和适应。此外,DSDM的迭代和增量方法也有助于风险的早期识别和缓解。


http://www.ppmy.cn/devtools/40037.html

相关文章

CMake 学习笔记(访问Python)

CMake 学习笔记(访问Python) 利用Python可以做很多事情。比如: 利用 Python 自动生成一些代码。 在我们的程序中植入一个 Python 解释器。 为了做这些事情。就需要 CMake 能够知道 python 装在哪里,装的是什么版本的 python&a…

[机器学习-05] Scikit-Learn机器学习工具包进阶指南:协方差估计和交叉分解功能实战【2024最新】

🎩 欢迎来到技术探索的奇幻世界👨‍💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…

分布式存储故障导致数据库无法启动故障处理---惜分飞

国内xx医院使用了国外医疗行业龙头的pacs系统,由于是一个历史库,存放在分布式存储中,由于存储同时多个节点故障,导致数据库多个文件异常,数据库无法启动,三方维护人员尝试通通过rman归档进行应用日志,结果发现日志有损坏报ORA-00354 ORA-00353,无法记录恢复,希望我们给予支持 M…

iLogtail 社区开源之夏活动来了!

作者:玄飏 在这个充满活力的夏日,随着阳光一同灿烂的是开源精神的光辉与创新的火花。iLogtail 社区高兴地宣布,我们正式加入开源之夏 2024 的行列,诚邀每一位怀揣梦想与激情的学生开发者,共同开启一场探索技术前沿、贡…

es6语法总结

【1】语法 (1)声明变量(let-var-const) 变量提升: 是JavaScript引擎在代码执行前将变量的声明部分提升到作用域顶部的行为。尽管变量的声明被提升了,变量的赋值(即初始化)仍然保留在原来的位置。因此&…

将本地docker镜像以压缩包格式保存至其他路径、从本地的镜像压缩包中加载docker镜像

保存本地Docker镜像为压缩包至其他路径 你可以使用 docker save 命令结合输出重定向( -o 选项)来将本地Docker镜像保存为一个压缩包(通常是tar格式)并直接保存到指定的路径。以下是一个示例命令: docker save -o /pa…

VO,PO,DTO

DTO(Data Transfer Object)数据传输对象 前后端之间的传输时使用 比如前端登录请求的请求参数有username,password,但后端pojo类user有username,password,birthday,gender时,可以创…

使用 Docker 部署 TaleBook 私人书籍管理系统

1)项目介绍 GitHub:https://github.com/talebook/talebook Talebook 是一个简洁但强大的私人书籍管理系统。它基于 Calibre 项目构建,具备书籍管理、在线阅读与推送、用户管理、SSO 登录、从百度/豆瓣拉取书籍信息等功能。 友情提醒&#x…