Scrum不适合你的团队?来看看DSDM(动态系统开发方法)
Posted 技术领导力
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scrum不适合你的团队?来看看DSDM(动态系统开发方法)相关的知识,希望对你有一定的参考价值。
DSDM概述
Dynamic Systems Development Method (动态系统开发方法) 是一个敏捷项目开发交付框架,主要作为一种软件开发方法使用。这个框架包含了许多当前有关项目管理的主要知识。DSDM是基于软件开发团体,软件开发和工程进度相交的,因此商业开发项目让DSDM成为了一种解决复杂问题的常见解决方案。DSDM框架能够同时实现敏捷和传统开发过程。
在传统开发方法中,功能是固定的,时间和人力资源是可变的,而在DSDM中,时间是固定的,功能和资源是可变的。
DSDM是一个有组织的,专注于快速,高效提供业务解决方案的常规过程。它在许多方面类似于SCRUM和XP,但它的最佳用途在于固定的时间要求。
DSDM 重点是交付的业务解决方案,而不是只是团队活动。在它被创建之前会通过流程确保项目的可行性和业务逻辑。它强调合作的所有相关方面的协调。DSDM重在利用原型设计,确保有关各方清楚地了解系统的所有方面。
总结
这里的核心思想在于:DSDM开发的时间是固定的,功能的划定和资源的配置得配合着实际开发效果进行规划。也就是如果两周为一个周期迭代,那么这个规定就得定死,如果是人员不够,影响了开发时间,就增加人员;如果是功能太多影响了开发时间,就得砍掉部分功能,保留到下一版;而不是将计划时间一拖再拖,不断延期。下不定决心砍需求,最终就变成了几个月,或者半年开发一版的传统开发。
DSDM模型
Pre-Project 前期阶段
项目前期阶段没有严格的界定。它发生在项目正式开始之前。在这一阶段,构思该项目,并决定启动该项目。
可行性研究——考虑项目是否会被时间和资源限制?尽快完成这一阶段,因为DSDM的核心是快速交付。
业务研究——是否有良好的商业意识?参与者和相关人员是谁?最好的工作计划是什么?我们将使用什么技术来完成它?
Functional Model 功能模型
在这一阶段制作和回顾功能原型。功能原型用来说明功能应执行的职能和它应该如何执行它们。
Design And Build 设计及建造
这一阶段是产品的设计和开发的迭代。每一次迭代的设计模型是由开发组成,开发包括编程和回顾。
这里的设计和建造包括界面设计,框架设计以及开发等这一系列付诸行动的过程。
Implement 实施
最后阶段,打包产品,编写文档,审核起草的文件,比较产品与实际需求。培训用户如何去使用该系统,并给与相应系统的权限。
总结
在产品完成之后,维修是不可避免的。修改一般也是进行一个循环,如同开发产品一样。
从上面的图可以看出,整个流程就是一个个循环合成一个大循环,将一个开发周期划分为几个小的周期,到每一块大的流程时,都是几个确保这个流程能有效实施的小流程,严谨规范。
DSDM核心概念
Active User Involvement
活动用户参与:让使用产品的人积极参与其发展,这是令产品最终对用户有用的一个重要举措。
The Team Must Be Empowered to Make Decisions
团队具备决定权:团队能够快速做出决定和了解决定,无需通过繁琐的手续才能获得该决定的批准。
Frequent Releases
频繁发布:DSDM侧重于频繁的发布版本,频繁的发布能够使用户在开发的关键阶段介入。他们还确保产品能够在任何时候很快的释放。
Iterative Development, Driven by User Feedback
迭代开发,驱使用户反馈:在迭代中开发产品,能够频繁的接收用户反馈和部分要及时解决的需求,而更多的功能将被添加到后期的迭代中。
Requirements are Initially Defined at a High Level
在更高层次定义最初需求:高级别的需求需要在项目开始时定义,在任何的编程之前,更多的考虑开发的进程而不是细节。
Fitness for Business Purpose is the Goal
符合商业业务需求才是目标:满足业务需求比技术完美实现更为重要。
Integrated Testing
集成测试:在开发的每一步完成测试,确保正在开发的产品技术上是健全的,没有发展出其他缺陷,它最大程度是使用在用户的反馈上。
Collaboration and Cooperation are Essential
协作和合作是关键:所有相关方面的合作对项目的成功至关重要。所有有关各方(不只是核心团队)需要共同努力,以满足业务目标。
20% / 80% Rule
20/80原则:DSDM认为,项目80%的解决方案将是用项目20%的时间形成的,DSDM会侧重于这80%,将剩余20%的解决方案保留到下一版本。这是因为DSDM认为不是所有要求对最终的解决方案都是已知的,最后20%的非必要功能反正可能存在缺陷。
总结
DSDM其实也是比较冷门而且晦涩的,只能在起到一些指导性作用,不像Scrum或者XP那样,比较热门且有成熟的开发流程模型。但它的一些核心思想,理论等,都是很有指导性,能有效的规范开发过程,起码能为对这方面感兴趣的读者起到借鉴和启发的作用。
精彩文章推荐:
以上是关于Scrum不适合你的团队?来看看DSDM(动态系统开发方法)的主要内容,如果未能解决你的问题,请参考以下文章