📜  SDLC-敏捷模型

📅  最后修改于: 2020-12-13 14:33:44             🧑  作者: Mango


敏捷SDLC模型是迭代过程模型和增量过程模型的组合,通过快速交付工作软件产品来关注过程适应性和客户满意度。敏捷方法将产品分解为小的增量构建。这些构建在迭代中提供。每次迭代通常持续约一到三周。每次迭代都需要跨职能团队同时在各个领域开展工作,例如-

  • 规划
  • 需求分析
  • 设计
  • 编码
  • 单元测试和
  • 验收测试。

在迭代结束时,将工作产品显示给客户和重要的利益相关者。

什么是敏捷?

敏捷模型认为,每个项目都需要以不同的方式进行处理,并且需要调整现有方法以最适合项目要求。在敏捷中,任务被划分为多个时间框(较小的时间范围),以交付特定的功能。

采取迭代方法,并在每次迭代后交付工作软件版本。每个构建在功能方面都是增量的;最终版本包含客户所需的所有功能。

这是敏捷模型的图形化图示-

SDLC敏捷模型

敏捷思维过程从软件开发的早期开始,并因其灵活性和适应性而随着时间的流逝而开始流行。

最受欢迎的敏捷方法包括Rational Unified Process(1994),Scrum(1995),Crystal Clear,Extreme Programming(1996),自适应软件开发,功能驱动开发和动态系统开发方法(DSDM)(1995)。在《敏捷宣言》于2001年发布后,这些方法现在统称为“敏捷方法论”。

以下是敏捷宣言原则-

  • 个人和互动-在敏捷开发中,自我组织和动力很重要,同位和配对编程等互动也很重要。

  • 工作软件-演示工作软件被认为是与客户沟通以了解其需求的最佳方式,而不仅仅是依赖于文档。

  • 客户协作-由于各种因素导致无法在项目开始时完全收集需求,因此持续的客户互动对于获得适当的产品需求非常重要。

  • 响应变化-敏捷开发专注于对变化的快速响应和持续发展。

敏捷与传统SDLC模型

敏捷基于自适应软件开发方法,而传统的SDLC模型(如瀑布模型)则基于预测方法。传统SDLC模型中的预测团队通常会进行详细的计划,并对未来几个月或产品生命周期中要交付的确切任务和功能有完整的预测。

预测方法完全取决于在周期开始时进行的需求分析和计划。任何要合并的变更都要经过严格的变更控制管理和优先级划分。

敏捷使用了一种自适应方法,该方法没有详细的计划,并且仅在需要开发哪些功能方面才对未来的任务有明确的说明。功能驱动开发,团队动态适应不断变化的产品需求。通过发布迭代,对该产品进行了非常频繁的测试,从而最大程度地减少了将来发生任何重大故障的风险。

客户交互是此敏捷方法论的基础,具有最少文档的开放式沟通是敏捷开发环境的典型功能。敏捷团队彼此密切协作,通常位于同一地理位置。

敏捷模型-利弊

敏捷方法最近在软件界被广泛接受。但是,此方法可能并不总是适用于所有产品。这是敏捷模型的一些利弊。

敏捷模型的优点如下-

  • 是一种非常现实的软件开发方法。

  • 促进团队合作和交叉培训。

  • 功能可以快速开发和演示。

  • 资源需求最低。

  • 适用于固定或变化的要求

  • 提供早期的部分工作解决方案。

  • 稳定变化的环境的良好模型。

  • 最少的规则,易于使用的文档。

  • 在整体计划范围内实现并发开发和交付。

  • 几乎不需要计划。

  • 易于管理。

  • 给开发人员以灵活性。

敏捷模型的缺点如下-

  • 不适合处理复杂的依赖项。

  • 可持续性,可维护性和可扩展性的更大风险。

  • 必须有一个总体计划,一个敏捷的领导者和一个敏捷的PM实践,否则,它将无法工作。

  • 严格的交付管理规定了交付的范围,功能以及根据截止日期进行的调整。

  • 很大程度上取决于客户的互动,因此如果客户不清楚,团队可能会朝错误的方向发展。

  • 由于生成的文档最少,因此个人依赖性很高。

  • 由于缺乏文档,将技术转让给新团队成员可能会遇到很大挑战。