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(动态系统开发方法)的主要内容,如果未能解决你的问题,请参考以下文章

敏捷:Scrum常见概念一览

敏捷宣言 - 我们的团队适合敏捷吗?

创业公司常用敏捷开发

有效Scrum评审会

敏捷社区-Scrum剧本杀

敏捷-敏捷方法实现