动态系统开发方法(Dynamic Systems Development Method:DSDM)是在快速应用程序开发(RAD)方法的基础上改进的。作为敏捷方法论的一种,DSDM方法倡导以业务为核心,进行快速、有效的系统开发,不仅适用于敏捷开发模式,也同样适用于传统的开发模式。它既能满足单个团队同一地点的简单产品开发,还能满足多个团队不同地点、不同时区的复杂项目开发。
与传统开发方法不同的是,DSDM强调项目的时间是固定的,功能和资源是可变的。也就是说,项目功能和资源的规划需要配合实际开发效果进行规划:如果在一周的时间内,功能太多无法交付,那么就要去掉部分功能,以顺利结束这一迭代。其基本观点是,任何事情都不可能一次性完成,应该用20%的时间来完成80%的有用功能,以适应商业目的为准。因此,对项目任务的优先级排序是十分重要的,DSDM应用MosCow优先级排序方法,将项目任务分解为四种不同类型的要求:
那么,为了顺利完成“80%”的有用功能,可以首要完成Must、Should项,或者说在完成Must、Should项的基础上酌情考虑完成Could项。
任何敏捷开发方法论都有注明他们所构建的系统中应具备的角色,DSDM也不例外:
用户不仅提出产品需求,还要参与到开发过程中,及时给出反馈。
DSDM团队成员被授予能够在出现问题后直接做出决定的权力。
产品的经常交付能够让开发团队得到快速的反馈,并及时处理交付中发现的问题。
不要做过多无意义的功能增加,交付完成的标准就是实现产品的业务需求。
迭代开发能够不断完善业务解决方案,满足业务需求。
开发过程要适应变化。
要先达成高层次的目标,再进行需求细化。
开发人员完成一个模块的开发后,自己会进行单元测试。当模块集成到现有系统后,测试人员需要执行集成测试。另外,回归测试在DSDM中占有很重要的地位。
产品的交付需要各方的参与、努力,单靠开发团队是无法成功交付的。
DSDM中既有传统开发的优势,又有先进的敏捷思维及理念,因此有效实施DSDM能够帮助团队得到切实有效的提高:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。