动态系统开发方法

DSDM项目管理方法的模型。

动态系统开发方法DSDM )是一个敏捷的项目交付框架,最初用作软件开发方法。 DSDM最初于1994年首次发布,最初试图为快速应用开发(RAD)方法提供一些纪律。在以后的版本中,DSDM敏捷项目框架进行了修订,并成为项目管理和解决方案交付的一种通用方法,而不是专门专门针对软件开发和代码创建,可以用于非IT项目。 DSDM敏捷项目框架涵盖了整个项目生命周期的各种活动,其中包括强大的基础和治理,这使其与其他一些敏捷方法区分开来。 DSDM敏捷项目框架是一种迭代且增量的方法,它包含敏捷开发原则,包括连续的用户/客户参与。

DSDM从一开始就确定了成本,质量和时间,并将范围优先级的优先级用于必须应该可能并且不会使项目可交付的项目可交付以满足所指定的时间限制。 DSDM是开发软件和非IT解决方案的许多敏捷方法之一,它构成了敏捷联盟的一部分。

2014年,DSDM在“ DSDM敏捷项目框架”中发布了该方法的最新版本。同时,新的DSDM手册认识到有必要与其他框架一起运营以进行服务交付(尤其是ITILPRINCE2 ,管理成功的程序和PMI。以前的版本(DSDM 4.2)仅包含有关如何使用DSDM和极端编程的指导。

DSDM的历史

在1990年代初期,快速应用开发(RAD)在IT行业中蔓延开来。软件应用程序的用户界面正在从旧的绿色屏幕转移到当今使用的图形用户界面。新的应用开发工具正在市场上,例如PowerBuilder 。这些使开发人员能够更轻松地与客户共享他们提出的解决方案 - 原型制作变成了现实,并且可以将经典的,顺序(瀑布)开发方法的挫败感放在一边。

但是,RAD运动非常非结构化:对合适的过程没有普遍同意的定义,许多组织提出了自己的定义和方法。许多主要公司对可能性非常感兴趣,但他们也担心他们并没有失去质量水平

DSDM财团由软件工程领域的供应商和专家协会于1994年成立,其目的是通过结合其最佳实践经验来“共同开发和促进独立的RAD框架”。起源是由巴特勒集团在伦敦组织的活动。该会议上的人们都为英国航空,美国运通,甲骨文和Logica等蓝筹组织工作(数据科学和盟军DOMECQ之类的其他公司已被其他组织吸收)。

2006年7月,DSDM公共版本4.2可供个人查看和使用;但是,任何转售DSDM的人都必须是非营利联盟的成员。

2014年,DSDM手册被在线和公开提供。此外,可以下载DSDM的模板。

2016年10月,DSDM财团将其重新命名为敏捷商业联盟(ABC)。敏捷商业联盟是一个非营利性,独立的组织,拥有并管理DSDM框架。

DSDM

DSDM是一种与供应商无关的方法,它认识到,由于人们的问题而不是技术,更多的项目失败了。 DSDM的重点是帮助人们有效地共同努力以实现业务目标。 DSDM也独立于工具和技术,使其能够在任何业务和技术环境中使用,而无需将业务与特定的供应商联系起来。

原则

DSDM的八项原则有八个原则。这些原则以他们必须采取的态度和必须采取的思维方式来指导团队以始终如一的交付。

  1. 专注于业务需求
  2. 准时交付
  3. 合作
  4. 永远不要损害质量
  5. 从牢固的基础上逐步建立
  6. 迭代发展
  7. 连续而清晰地交流
  8. 展示控制

核心技术

  • 计时箱:是通过将项目分解为分区分配项目的方法,每个方法都有固定的预算和交付日期。对于每个部分,优先选择了许多要求。因为时间和预算是固定的,所以唯一的剩余变量是要求。因此,如果一个项目用完了时间或金钱,则省略了最低优先级的要求。这并不意味着未完成的产品已交付,因为帕累托原则是该项目的80%来自系统要求的20%,因此,只要最重要的20%的要求已在系统中实施,系统,系统就可以因此满足业务需求,并且在第一次尝试中没有完美的系统建立。
  • 莫斯科:是优先考虑工作项目或要求的技术。这是一个代表:
    • 一定有
    • 应该有
    • 可能有
    • 没有
  • 原型:是指在项目的早期阶段创建正在开发的系统的原型。它可以尽早发现系统中的缺点,并允许未来的用户“测试驱动”系统。这样可以实现良好的用户参与,这是DSDM的关键成功因素之一或任何系统开发项目。
  • 测试:有助于确保质量质量的解决方案,DSDM提倡在每次迭代中进行测试。由于DSDM是一种独立的工具和技术方法,因此项目团队可以自由选择自己的测试管理方法。
  • 研讨会:将项目利益相关者聚集在一起,讨论要求,功能和相互理解。
  • 建模:有助于可视化业务领域并改善理解。对正在开发的系统或业务领域的特定方面产生图形表示。
  • 配置管理:同时正在开发多个可交付成果,并在每个时间框结束时逐步交付,因此,可交付成果必须在完成时得到很好的管理。

角色

DSDM环境中引入了一些角色。重要的是,项目成员在开始项目之前需要任命不同的角色。每个角色都有自己的责任。角色是:

  • 执行赞助商:所谓的项目冠军。用户组织有能力和责任承担适当资金和资源的重要角色。这个角色具有做出决策的最终力量。
  • 有远见的人:有责任通过确保早期发现基本要求来初始化项目的人。有远见的人对系统和项目的业务目标具有最准确的看法。另一个任务是监督和将开发过程保持正确的轨道。
  • 大使用户:将用户社区的知识带入项目,确保开发人员在开发过程中获得足够的用户反馈。
  • 顾问用户:可以是任何代表重要观点并每天了解该项目的用户。
  • 项目经理:可以是用户社区的任何人,也可以是管理项目的IT员工。
  • 技术协调员:负责设计系统体系结构并控制项目的技术质量。
  • 团队负责人:领导他们的团队,并确保团队有效地工作。
  • 解决方案开发人员:解释系统要求和模型,包括开发可交付代码和构建原型。
  • 解决方案测试仪:通过执行一些测试,在必要时提高缺陷并进行修复后,在技术范围内检查正确性。测试人员将必须提供一些评论和文档。
  • 抄写员:负责收集和记录每个研讨会中做出的要求,协议和决定。
  • 主持人:负责管理研讨会的进步,充当准备和交流的动力。
  • 专业角色:业务架构师,质量经理,系统集成商等

成功的关键因素

在DSDM中,许多因素被确定为确保成功项目的重要性。

  • 因素1:首先,高级管理层和其他员工接受了DSDM。这样可以确保该项目的不同参与者从一开始就受到动机,并且在整个项目中仍然参与其中。
  • 因素2:直接源自因素1:管理层的承诺确保最终用户参与。原型方法要求最终用户强烈而专用的参与来测试和判断功能原型。
  • 因素3:项目团队必须由构成稳定工会的熟练成员组成。一个重要的问题是项目团队的授权。这意味着团队(或一个或多个成员)必须拥有对项目做出重要决定的权力和可能性,而不必为高级管理人员编写正式建议,这可能非常耗时。为了使项目团队能够运行一个成功的项目,他们还需要适当的技术来进行项目。这意味着开发环境,项目管理工具等。
  • 因素4:最后,DSDM还指出,需要客户与供应商之间的支持关系。这对于在公司内部或外部承包商内部实现的两个项目都可以进行。可以确保建立辅助关系的帮助。

与其他开发框架进行比较

DSDM可以被视为广泛迭代和增量开发框架的一部分,尤其是那些支持敏捷面向对象的方法的框架。这些包括(但不限于) ScrumExtreme Programming(XP)纪律严明的敏捷交付(DAD)理性统一过程(RUP)

像DSDM一样,它们具有以下特征:

  • 他们都优先考虑要求并迭代地工作,以增量构建系统或产品。
  • 它们是与工具无关的框架。这使用户可以通过自己选择的技术和软件帮助填写流程的特定步骤。
  • 开发中的变量不是时间/资源,而是要求。这种方法确保了DSDM的主要目标,即保持截止日期和预算。
  • 对系统中所有利益相关者之间的沟通和参与的强烈关注。尽管在其他方法中解决了这一点,但DSDM坚信对项目的承诺以确保成功的结果。

也可以看看