本文概述
敏捷的含义是快速的或通用的。”敏捷过程模型”是指基于迭代开发的软件开发方法。敏捷方法将任务分解为较小的迭代, 或者部分不直接涉及长期计划。在开发过程的开始就确定了项目范围和要求。事先明确定义了有关迭代次数, 每次迭代的持续时间和范围的计划。
每次迭代都被视为敏捷流程模型中的短时间”框架”, 通常持续一到四个星期。将整个项目分成较小的部分有助于最大程度地降低项目风险, 并减少总体项目交付时间要求。每次迭代都涉及一个团队, 在整个软件开发生命周期中进行工作, 包括计划, 需求分析, 设计, 编码和测试, 然后再向客户展示有效产品。
敏捷模型的阶段
以下是敏捷模型中的阶段, 如下所示:
- 需求收集
- 设计需求
- 构建/迭代
- 测试/质量保证
- 部署方式
- 反馈
1.需求收集:在此阶段, 你必须定义需求。你应该解释商机, 并计划构建项目所需的时间和精力。根据此信息, 你可以评估技术和经济可行性。
2.设计需求:确定项目后, 与利益相关者一起定义需求。你可以使用用户流程图或高级UML图来显示新功能的工作, 以及如何将其应用于现有系统。
3.构建/迭代:当团队定义需求时, 工作就开始了。设计师和开发人员开始着手他们的项目, 该项目旨在部署有效的产品。该产品将经历各个改进阶段, 因此它包括简单, 最少的功能。
4.测试:在此阶段, 质量保证团队检查产品的性能并查找错误。
5.部署:在此阶段, 团队为用户的工作环境发布产品。
6.反馈:发布产品后, 最后一步是反馈。这样, 团队将收到有关产品的反馈, 并通过反馈进行工作。
敏捷测试方法
- Scrum
- 水晶
- 动态软件开发方法(DSDM)
- 功能驱动开发(FDD)
- 精益软件开发
- 极限编程(XP)
Scrum
SCRUM是一个敏捷开发过程, 主要关注在基于团队的开发条件下管理任务的方式。
其中有三个角色, 它们的职责是:
- Scrum Master:Scrum可以组建Master团队, 安排会议并消除流程中的障碍
- 产品负责人:产品负责人进行产品积压, 确定延迟的优先级, 并负责每次重复的功能分配。
- Scrum团队:该团队管理其工作并组织工作以完成冲刺或周期。
极限编程(XP)
当客户不断变化的需求或要求或不确定系统性能时, 可以使用这种方法。
水晶:
此方法有三个概念-
- 包机:此阶段涉及多项活动, 例如组建开发团队, 进行可行性分析, 制定计划等。
- 循环交付:在此之下, 又包括两个周期, 分别是:
- 团队更新发布计划。
- 集成产品交付给用户。
- 总结:根据用户环境, 此阶段执行部署, 部署后。
动态软件开发方法(DSDM):
DSDM是用于软件开发的快速应用程序开发策略, 并提供了敏捷的项目分发结构。 DSDM的基本功能是必须积极地联系用户, 并且已赋予团队制定决策的权利。 DSDM中使用的技术是:
- 时间拳击
- MoSCoW规则
- 原型制作
DSDM项目包含七个阶段:
- 前期项目
- 可行性研究
- 商业研究
- 功能模型迭代
- 设计和构建迭代
- 实作
- 项目后
功能驱动开发(FDD):
此方法侧重于”设计和构建”功能。与其他智能方法相比, FDD描述了每个功能应分别获得的工作的小步骤。
精益软件开发:
精益软件开发方法遵循”准时生产”的原则。精益方法表明软件开发的速度不断提高, 并且降低了成本。精益开发可以分为七个阶段。
- 消除浪费
- 加强学习
- 推迟承诺(尽早决定)
- 提早交货
- 赋予团队权力
- 建筑诚信
- 优化整体
何时使用敏捷模型?
- 需要频繁更改时。
- 有一支高素质和经验丰富的团队。
- 当客户准备好一直与软件团队开会时。
- 当项目规模较小时。
敏捷方法的优点
- 频繁交货
- 与客户面对面的交流。
- 高效的设计并满足业务需求。
- 随时可以接受更改。
- 它减少了总的开发时间。
敏捷模型的缺点
- 由于缺少正式文件, 因此会造成混乱, 并且各个团队成员随时可能会误解贯穿各个阶段做出的重要决定。
- 由于缺乏适当的文档, 一旦项目完成并且开发人员被分配到另一个项目, 完成的项目的维护就会变得很困难。
评论前必须登录!
注册