SDLC-敏捷模型
敏捷SDLC模型是迭代和增量过程模型的组合,通过快速交付工作软件产品来关注过程适应性和客户满意度。敏捷方法将产品分解为小的增量构建。这些构建是在迭代中提供的。每次迭代通常持续大约一到三周。每次迭代都涉及跨职能团队在各个领域同时工作,例如 -
- 规划
- 需求分析
- 设计
- 编码
- 单元测试和
- 验收测试。
在迭代结束时,将向客户和重要的利益相关者展示工作产品。
什么是敏捷?
敏捷模型认为,每个项目都需要以不同的方式处理,现有的方法需要进行定制以最适合项目的要求。在敏捷中,任务被划分为时间框(小时间范围),以交付版本的特定功能。
采用迭代方法,并在每次迭代后交付工作软件构建。每个版本在功能方面都是增量的;最终版本包含客户所需的所有功能。
这是敏捷模型的图解说明 -
敏捷思维过程始于软件开发的早期,并因其灵活性和适应性而随着时间的推移而开始流行。
最流行的敏捷方法包括 Rational Unified Process (1994)、Scrum (1995)、Crystal Clear、极限编程 (1996)、自适应软件开发、功能驱动开发和动态系统开发方法 (DSDM) (1995)。2001 年敏捷宣言发布后,这些现在统称为敏捷方法论。
以下是敏捷宣言的原则 -
个体和交互- 在敏捷开发中,自组织和动机很重要,协同定位和结对编程等交互也很重要。
工作软件- 演示工作软件被认为是与客户沟通以了解其需求的最佳方式,而不仅仅是依赖文档。
客户协作- 由于各种因素,在项目开始时无法完全收集需求,因此持续的客户交互对于获得正确的产品需求非常重要。
响应变化- 敏捷开发专注于对变化的快速响应和持续开发。
敏捷与传统 SDLC 模型
敏捷基于自适应软件开发方法,而传统的 SDLC 模型(如瀑布模型)基于预测方法。传统 SDLC 模型中的预测团队通常会进行详细的规划,并对未来几个月或产品生命周期内要交付的确切任务和功能有完整的预测。
预测方法完全取决于周期开始时完成的需求分析和规划。任何要合并的变更都要经过严格的变更控制管理和优先级排序。
敏捷使用自适应方法,没有详细的规划,并且仅在需要开发哪些功能方面明确未来的任务。有功能驱动的开发,团队动态适应不断变化的产品需求。该产品通过发布迭代进行了非常频繁的测试,最大限度地降低了未来发生重大故障的风险。
客户交互是这种敏捷方法的支柱,并且以最少的文档进行开放式沟通是敏捷开发环境的典型特征。敏捷团队彼此密切协作,并且通常位于同一地理位置。
敏捷模型 - 优点和缺点
敏捷方法最近在软件界被广泛接受。然而,这种方法可能并不总是适合所有产品。以下是敏捷模型的一些优点和缺点。
敏捷模型的优点如下:
是一种非常现实的软件开发方法。
促进团队合作和交叉训练。
功能可以快速开发和演示。
资源要求最低。
适用于固定或变化的要求
提供早期的部分工作解决方案。
对于稳定变化的环境来说是一个很好的模型。
最少的规则,易于使用的文档。
在总体规划的环境中实现并行开发和交付。
很少或不需要规划。
易于管理。
为开发人员提供了灵活性。
敏捷模型的缺点如下 -
不适合处理复杂的依赖关系。
可持续性、可维护性和可扩展性的风险更大。
总体计划、敏捷领导者和敏捷 PM 实践是必须的,没有它们,一切都将无法进行。
严格的交付管理规定了要交付的范围、功能以及按时完成的调整。
很大程度上取决于客户互动,因此如果客户不清楚,团队可能会被引导向错误的方向。
由于生成的文档最少,因此个人依赖性非常高。
由于缺乏文档,向新团队成员转让技术可能相当具有挑战性。