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