敏捷模型是迭代和增量过程模型的结合,关注客户满意度。它允许公司在小而快速的部分中开发高质量的软件。在这篇文章中,我们将讨论什么是敏捷模型方法,它的核心价值,一些流行的敏捷模型方法(如Scrum, XP, DSDM和精益),它们的优点和缺点。
什么是敏捷模型方法论
它是一个总括性术语,描述了一组实践和原则软件开发.
敏捷方法促进构建和测试的持续迭代软件开发生命周期这个项目。
图1 -敏捷软件开发模型
在英语中,敏捷的意思是“快速而轻松地移动”。这也是敏捷模型的主要关注点。
在敏捷模型中,整个项目被划分为小的增量构建。每次迭代持续一到三周。每次迭代都在不同的领域工作,比如:
- 规划
- 需求分析
- 设计
- 建筑
- 测试
敏捷模型的核心价值
它专注于四个核心价值观:
- 个人与互动-在敏捷方法论中,个人动机和互动起着重要的作用。
- 工作软件-需要一个工作的软件来了解客户的需求,单靠文档是没有用的。
- 客户协作-在敏捷方法中,一开始并没有收集完整的需求,因此与客户的持续互动对掌握适当的需求非常重要。
- 应对变化-在敏捷模型中,项目的持续开发和对变化的快速响应是可能的。
图2 -敏捷模型的核心价值
流行的敏捷模型方法
每种敏捷模型方法在遵循特定的方法方面都是不同的,但它们都有一个共同的愿景。他们都专注于项目和软件的持续计划、持续调试、持续集成和完整交付。
一些流行的敏捷模型方法有:
- Scrum
- 极限编程(XP)
- 动态系统开发方法(DSDM)
- 精益软件开发
图3 -敏捷模型方法
敏捷模型方法学
它是最流行的轻量级敏捷方法之一,具有控制和管理所有类型的增量项目的能力。它有助于更好地组织团队。
在这个敏捷模型方法中,“Scrum Master”负责团队会议并清除任何障碍(如果有的话)。“产品负责人”以“产品待办事项列表”的形式与团队密切合作,以确定系统功能的优先级。
它是一个存储库/存储库,所有的需求都被跟踪和保存,以便成功发布。
图4 - Scrum -敏捷模型方法学
Scrum模型
Scrum Model中的流程流程如下:
- scrum的每一次迭代都被称为Sprint
- 产品待办事项列表是跟踪所有需求的列表
- 在每个sprint中,产品待办事项列表项被选中并发送到sprint待办事项列表中
- 团队致力于重要的sprint backlog,并检查日常工作
- 在sprint周期的末尾,功能产品交付
极限编程(XP)——敏捷模型方法论
软件开发方法。XP的重点开发周期频繁的发布导致成本的低变化。
它是最突出的敏捷模型之一它强调持续的计划、持续的测试、客户参与和频繁的反馈,以每1-3周的时间间隔快速交付工作软件。
极限编程(XP)模型值
最初的XP模型基于四个值。在极限编程的第二次添加中添加了一个新值(Respect)。这五个值是:
- 沟通
- 简单
- 反馈
- 勇气
- 尊重
图5 -敏捷开发模型-极限编程(XP)
动态系统开发方法(DSDM敏捷模型)
它是一种快速应用程序开发(RAD)方法软件开发t. DSDM的主要重点是早期和持续的积极沟通,频繁交付,授权团队和集成测试。
动态系统开发方法中的技术
DSDM中使用的技术有:
- 时间限制
- 米oSCoW规则
米-必须有要求
年代-应该让一切都成为可能
C-有可能,但不严重
W-这次不会,以后会
- 原型设计
动态系统开发方法(DSDM)阶段
DSDM敏捷模型的方法包括七个阶段:
- 项目前期工作阶段
- 可行性研究
- 业务研究
- 功能模型迭代
- 设计迭代
- 实现
- 结项阶段
图6 -敏捷开发模型- DSDM
精益软件开发模型
它所基于的原则可以应用于软件开发提高软件开发速度,将编程工作量和缺陷率减少三分之一。
它使团队专注于向客户交付价值。
精益软件开发模型的原则
精益软件开发模型的主要原则如下:
- 消除浪费
- 放大的学习
- 晚做决定
- 快速交付
- 团队授权
- 建筑的完整性
- 将应用程序视为一个整体
图7 -敏捷开发模型-精益原则
敏捷模型的优势
敏捷模型的优点包括:
- 专注于商业价值敏捷理解什么对客户的业务是重要的,并交付对他们有最大商业价值的功能。
- 透明度-在敏捷模式中,客户参与整个项目,从迭代平移到频繁交付。因此,他们也可以看到软件的工作进展。
- 提高客户满意度-由于客户参与项目的每一步,这给了客户一个洞察力,并信任团队交付高质量软件的能力。
- 可预测的早期交付-通过使用时间盒原则,新功能被频繁地整合和交付,具有高度的可预测性。
- 易于管理-由于需要最少的规划,易于管理。
- 高质量的频繁地交付高质量软件(几周而不是几个月)。
- 立即响应-立即处理和回应更改请求。
敏捷模型的缺点
敏捷模型的缺点包括:
- 缺乏设计和文档会产生问题。
- 如果客户代表不清楚他们想要的最终结果是什么,项目可以退居二线。
- 需要高客户参与度和交互性。
- 新的要求可能与现有的系统相冲突。
还读:软件开发生命周期(SDLC)——重要性、各个阶段和解释条码数字系统-类型,结构,如何工作,应用,优点和缺点嵌入式系统-特征,类型,优点和缺点大数据-类别,属性,应用程序和Hadoop