zoukankan      html  css  js  c++  java
  • 敏捷开发 | DSDM 在非 IT 领域也同样适用?

    动态系统开发方法(Dynamic Systems Development Method:DSDM)是在快速应用程序开发(RAD)方法的基础上改进的。作为敏捷方法论的一种,DSDM方法倡导以业务为核心,进行快速、有效的系统开发,不仅适用于敏捷开发模式,也同样适用于传统的开发模式。它既能满足单个团队同一地点的简单产品开发,还能满足多个团队不同地点、不同时区的复杂项目开发。

    一、DSDM依赖于严格的时间控制

    与传统开发方法不同的是,DSDM强调项目的时间是固定的,功能和资源是可变的。也就是说,项目功能和资源的规划需要配合实际开发效果进行规划:如果在一周的时间内,功能太多无法交付,那么就要去掉部分功能,以顺利结束这一迭代。其基本观点是,任何事情都不可能一次性完成,应该用20%的时间来完成80%的有用功能,以适应商业目的为准。因此,对项目任务的优先级排序是十分重要的,DSDM应用MosCow优先级排序方法,将项目任务分解为四种不同类型的要求:

    • Must:必须做的;
    • Should:应该做的;
    • Could:可以做的;
    • Would not:不要做的。

    那么,为了顺利完成“80%”的有用功能,可以首要完成Must、Should项,或者说在完成Must、Should项的基础上酌情考虑完成Could项。

    二、DSDM的角色

    任何敏捷开发方法论都有注明他们所构建的系统中应具备的角色,DSDM也不例外:

    • 项目负责人——该职位上的人员由用户或客户方面推出,他们代表用户或客户行使决策权,并能够根据需要分配资金及资源。
    • 项目指导——项目指导者需要深入了解用户业务、具备敏锐性,并有远见卓识,能够尽快锁定最高优先级要求,并基于此指导团队来初始化项目。 
    • 用户代表——一个理想的“测试用户”,可以将用户社群的观点带入到整个项目中。他们是整个开发过程中重要的反馈来源。 
    • 用户顾问——另一种类型的用户,应对手中的项目提出新颖或十分重要的观点,因此,用户顾问需要有资深的专业知识或其他独特的专业能力。 
    • 项目经理——项目经理是管理整个项目的人。 
    • 团队负责人——负责协调和促进团队之间的协作。 
    • 解决方案开发人员——浏览系统要求,进行系统建模,开发可交付的代码并创建原型。
    • 解决方案测试器——测试产品,并在出现错误时提供注释和文档。在实施更正后,它们还能够重新测试。 
    • 抄录员——记录项目进度的要求、协议、决定和其他有用信息。 
    • 主持人——他们负责激励和准备研讨会,以保持进度的持续稳定。他们必须是使每个人都步入正轨的协调者。 
    • 专家角色——这些角色由各自领域或行业的专家担任,根据项目需求提供额外的支持。他们可能因项目而异,也因团队而异。这样的角色包括业务架构师、质量经理、系统集成商等等。 

    三、DSDM的基本原则

    • 用户必须持续参与

    用户不仅提出产品需求,还要参与到开发过程中,及时给出反馈。

    • 授予DSDM团队决策权

    DSDM团队成员被授予能够在出现问题后直接做出决定的权力。

    • 强调产品的经常交付

    产品的经常交付能够让开发团队得到快速的反馈,并及时处理交付中发现的问题。

    • 满足业务需求

    不要做过多无意义的功能增加,交付完成的标准就是实现产品的业务需求。

    • 迭代开发

    迭代开发能够不断完善业务解决方案,满足业务需求。

    • 开发过程中的所有变化可逆

    开发过程要适应变化。

    • 在高层次上制定需求的基线

    要先达成高层次的目标,再进行需求细化。

    • 测试自始自终贯穿于开发周期之中

    开发人员完成一个模块的开发后,自己会进行单元测试。当模块集成到现有系统后,测试人员需要执行集成测试。另外,回归测试在DSDM中占有很重要的地位。

    • 所有利益相关者之间的通力合作是不可或缺的

    产品的交付需要各方的参与、努力,单靠开发团队是无法成功交付的。

    四、DSDM的优势

    DSDM中既有传统开发的优势,又有先进的敏捷思维及理念,因此有效实施DSDM能够帮助团队得到切实有效的提高:

      • 开发过程及结果能够清晰、明确地展现出来;
      • 用户积极参与开发过程,更能满足他们的需求;
      • 有效的沟通能够打破中间各环节的交流壁垒;
      • DSDM更易于与其他敏捷方法论结合,因地制宜发展适合自己组织的开发方法;
      • DSDM不局限于IT领域,在非IT领域也有着广泛的应用。
  • 相关阅读:
    Windows Subversion与TortoiseSVN安装与使用
    IE6/IE7中JavaScript json最后一个键值后不能增加逗号
    PHP json_encode/json_decode与serialize/unserializ性能测试
    Asp.Net中GridView加入鼠标滑过的高亮效果和单击行颜色改变
    创建sqlserver数据库脚本 范例
    搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (二)创建你的项目
    搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (三)实现数据库接口层和业务逻辑层
    创建SqlServer数据库触发器脚本 范例
    vss2005管理vs2010项目
    搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (一)搭建你的环境
  • 原文地址:https://www.cnblogs.com/minjieagile/p/14118648.html
Copyright © 2011-2022 走看看