DSDM业务中心框架开发方法(第二版)
[绝版]基本信息
内容简介回到顶部↑
动态系统开发方法(dsdm)是众多敏捷开发方法中的一种,它倡导以业务为核心,快速而有效地进行系统开发。实践证明dsdm是成功的敏捷开发方法之一。在英国,由于其在各种规模的软件组织中的成功,它已成为应用最为广泛的快速应用开发方法。本书主要讲述下列内容:dsdm如何加快产品的交付,为什么像dsdm这样的敏捷开发方法能够快速体现所开发系统给业务带来的好处,如何组织用户参与项目以开发出可用的系统,如何将不同知识背景的人组成一个团队,如何应对常规的业务约束以进行项目管理。本书提供了在不同规模的软件组织中应用的大量实际案例。
本书适合从事敏捷开发的工程技术人员。
dsdm(动态系统开发方法)是现在公认的最成功的“敏捷”软件开发框架之一。本书在前一版的基础上进行了全面的更新,以反映框架的最新变化,以及它在应用上的最佳实践。
本书的读者将会从中学到:
·dsdm是如何加快交付项目的
·为什么像dsdm这样的敏捷开发方法能够更快地体现所开发的系统给业务活动带来的好处
·如何组织用户参与项目,以开发出可用的系统
·如何交付一些短期的实用的产物
本版特点:
·大量新的实际案例,以显示dsdm在不同规模软件组织中的运作情况
·对于使用dsdm和其他的方法,如xp和uml,提供了新的指导
·讨论了dsdm与敏捷宣言的关系
本书适合从事敏捷开发的工程技术人员。
dsdm(动态系统开发方法)是现在公认的最成功的“敏捷”软件开发框架之一。本书在前一版的基础上进行了全面的更新,以反映框架的最新变化,以及它在应用上的最佳实践。
本书的读者将会从中学到:
·dsdm是如何加快交付项目的
·为什么像dsdm这样的敏捷开发方法能够更快地体现所开发的系统给业务活动带来的好处
·如何组织用户参与项目,以开发出可用的系统
·如何交付一些短期的实用的产物
本版特点:
·大量新的实际案例,以显示dsdm在不同规模软件组织中的运作情况
·对于使用dsdm和其他的方法,如xp和uml,提供了新的指导
·讨论了dsdm与敏捷宣言的关系
作译者回到顶部↑
本书提供作译者介绍
Jennifer Stapleton自DSDM联盟成立以来一直担任技术总监,也是Empower Dynamics有限公司的咨询主任。Jennifer Stapleton是英国计算机学会(British Computer Society)会员,1996年至2002年担任英国计算机协会的技术副主席。她从1996年开始从事独立顾问的工作,其工作重点在于帮助各公司在项目交付中改进开发过程,开发出让最终用户真正满意的产品。
.. << 查看详细
.. << 查看详细
目录回到顶部↑
第一部分 框 架
第1章 dsdm过程概述
1.1 引言
1.2 可行性研究
1.3 业务研究
1.4 功能建模阶段(迭代式)
1.5 设计编程阶段
1.6 实施阶段
1.7 项目后期
1.8 要点回顾
第2章 基本原则
2.1 原则1:用户必须持续参与
2.2 原则2:必须授予dsdm团队制定决策的权力
2.3 原则3:注重产品的经常交付
2.4 原则4:满足业务用途是接受交付品的主要依据
2.5 原则5:迭代和增量式开发对得到正确的业务解决方案是必不可少的
2.6 原则6:开发过程中的所有变化可逆
2.7 原则7:在高层次上制定需求的基线
2.8 原则8:测试自始自终贯穿于开发周期之中
2.9 原则9:所有项目涉众间的通力合作是不可或缺的
第1章 dsdm过程概述
1.1 引言
1.2 可行性研究
1.3 业务研究
1.4 功能建模阶段(迭代式)
1.5 设计编程阶段
1.6 实施阶段
1.7 项目后期
1.8 要点回顾
第2章 基本原则
2.1 原则1:用户必须持续参与
2.2 原则2:必须授予dsdm团队制定决策的权力
2.3 原则3:注重产品的经常交付
2.4 原则4:满足业务用途是接受交付品的主要依据
2.5 原则5:迭代和增量式开发对得到正确的业务解决方案是必不可少的
2.6 原则6:开发过程中的所有变化可逆
2.7 原则7:在高层次上制定需求的基线
2.8 原则8:测试自始自终贯穿于开发周期之中
2.9 原则9:所有项目涉众间的通力合作是不可或缺的
前言回到顶部↑
背景
为了提高效率和在竞争中占据优势,40年来,商业社会将希望寄托在办公自动化上。在这段时间里,信息技术提供者一直没有能够在不超出预算的情况下准时交付需要的解决方案,或是提供业务需要的功能。
我们花了这么长的时间才明白业务需求的变化非常频繁而且难以定义,对业务流程最为理解的人是流程的日常使用者。我们看到不同的开发项目具有各自不同的生命周期,而且复杂性也不尽相同,不过,我们知道应用程序的开发不是变戏法,它有着一定的结构和规律。
在20世纪的最后20年,为了弄清楚应用程序开发的流程并归纳出避免失败的方法,进行了一系列的尝试。1994年,英国国内来自各个工业领域不同规模企业里的信息系统工作人员,以及来自IT行业中一些大公司的顾问和项目经理聚集在一起,形成了一个非赢利性质的联盟。该联盟专注于理解应用程序开发过程中的最佳实践方法,并对其进行编排以利于在大范围内推广。
其结果就是DSDM(Dynamic Systems Development Method,动态系统开发方法),一种能够真正满足业务需求的项目交付框架:DSDM项目可以在不超出预算的情况下准时交付,而且不会去掉重要的功能。该框架中的所有资料都来自于会员的实际经验和成功的项目。这种以实践为主的方式使许多人认为该框架“不过是一般常识”,但对于所有正在尝试敏捷开发方法的人而言,这些“一般常识”显然是不一般的。
今天,这个框架在各种项目中得到了广泛使用。在许多国家,无论是小项目、大项目,简单项目、复杂项目,还是IT项目和非IT项目,都可以看到它的身影。联盟一直在修订它的内容。比如,在2001年6月,联盟专门针对电子商务项目发布了一个版本。对这类项目而言,快速交付合格的系统显得更为重要。在2001年夏天,对基本框架进行了一次重要的修改,2002年1月在此基础上做了进一步改进。
假定在建的大多数业务系统与信息技术相关,那么DSDM背后的基本原理也就很简单了:
● 开发活动是一项团队活动。它必须把客户关于业务需求的知识和IT专业人员的技术知识结合在一起。
● 高质量要求适用性以及技术上的健壮性。
● 开发活动可以是逐渐递增的—不要求一次交付所有东西,及早交付部分内容比较迟交付所有东西更有价值。
● 受益递减规律适用—应该将资源放在对业务最有价值的功能开发上。
DSDM是关于人而不是工具的。它侧重于真正理解业务需求,交付可行的解决方案—尽快并以尽可能低的成本交付。这个框架不能解决所有项目问题,但对于要在21世纪获得业务所需要的系统而言,它是非常有帮助的。
DSDM是什么
DSDM是什么呢,它有哪些不同?虽然它的全称是动态系统开发方法,但它并不被认为是一种方法,而是一种控制框架,重点在于快速交付,补充以如何应用这些控制的指导原则。它定义了一个过程和一系列产物,从这个意义上说,它是一个方法。不过这个过程和这些产物都被有意识地定义在高层次上,由此可以根据不同技术和业务环境对其进行裁剪。对于结构化和面向对象的开发方法,并没有硬性规定某种技术,而是提供一些建议。它之所以不同,是因为它可能是惟一一个公共可用的方法,涵盖了从项目的最初提议到项目结束整个过程中的系统开发活动。
DSDM描述了在快速开发以业务为中心的环境中所包含的各个方面—项目管理、预估、原型建立、时光盒法、配置管理、测试、质量保证、角色和职责(包括用户和IT人员)、项目组结构、工具环境、风险管理、可维护性、重用,以及供应商和购买者之间的关系。
该框架的目的是为了快速将产品投放市场:在业务需要时,交付所需要的系统。如果系统是为了满足业务需要的,那么必须达到足够的稳定程度以在实际环境中运行。其次,业务方面的某些紧急要求能够在短时间内得到满足,在以后阶段增加额外的功能。
历史背景
IT提供者面临着越来越大的压力,其压力是要求他们更好、更快、更经济地交付系统。在今天这个变化迅速的年代,已经不允许他们花费数年时间完成一个系统:在系统开发的几年内,业务需求可能早就发生了变化。因此,必须找到不同的方式进行IT系统的开发。现在的技术使开发人员可以更快地交付产品,不过答案不仅仅限于工具的使用上。整个工作过程都需要进行改进。经典的瀑布开发模型不能完全利用现代技术的优势,也难以改变。它已经有大约40年的历史了,本质上是老问题的解决方案—它认为在开始编码之前,如果没有完全理解所要解决的问题,就不会有解决问题的前后一致的方法。
瀑布模型这种严格的顺序开发阶段在今天看来是一种缺点。人们已经进行了多种尝试来改变这一点,包括Barry Boehm的迭代开发方式。它使用一种螺旋模型进行项目计划、风险分析、开发和客户评估。尽管螺旋模型是一种杰出的模型,但它并没有在实际中得到很好的实施。最近几年出现的许多“敏捷”方法证明了需要一种不同的方法。虽然像极限编程这样的方法取得了广泛的认同,但它们没有涵盖项目的所有方面,可能导致软件组织不知道如何将许多现在正在使用的方法进行很好的集成。这也说明了为什么没有多少主要的IT提供商接纳敏捷开发方法。另一方面,可能是他们的客户还没有给他们足够的压力。
在20世纪90年代初,由于James Martin的“Rapid Application Development”一书,IT业认识了快速应用开发。在这本书中给出了许多非常好的主意,但并没有提供整体解决方案。在现在的市场上也有许多工具,不过使用这些工具也就意味着购买了供应商的开发过程。对此,DSDM联盟的创立者认为这阻碍了成功、快速地交付解决方案的发展。
为了提高效率和在竞争中占据优势,40年来,商业社会将希望寄托在办公自动化上。在这段时间里,信息技术提供者一直没有能够在不超出预算的情况下准时交付需要的解决方案,或是提供业务需要的功能。
我们花了这么长的时间才明白业务需求的变化非常频繁而且难以定义,对业务流程最为理解的人是流程的日常使用者。我们看到不同的开发项目具有各自不同的生命周期,而且复杂性也不尽相同,不过,我们知道应用程序的开发不是变戏法,它有着一定的结构和规律。
在20世纪的最后20年,为了弄清楚应用程序开发的流程并归纳出避免失败的方法,进行了一系列的尝试。1994年,英国国内来自各个工业领域不同规模企业里的信息系统工作人员,以及来自IT行业中一些大公司的顾问和项目经理聚集在一起,形成了一个非赢利性质的联盟。该联盟专注于理解应用程序开发过程中的最佳实践方法,并对其进行编排以利于在大范围内推广。
其结果就是DSDM(Dynamic Systems Development Method,动态系统开发方法),一种能够真正满足业务需求的项目交付框架:DSDM项目可以在不超出预算的情况下准时交付,而且不会去掉重要的功能。该框架中的所有资料都来自于会员的实际经验和成功的项目。这种以实践为主的方式使许多人认为该框架“不过是一般常识”,但对于所有正在尝试敏捷开发方法的人而言,这些“一般常识”显然是不一般的。
今天,这个框架在各种项目中得到了广泛使用。在许多国家,无论是小项目、大项目,简单项目、复杂项目,还是IT项目和非IT项目,都可以看到它的身影。联盟一直在修订它的内容。比如,在2001年6月,联盟专门针对电子商务项目发布了一个版本。对这类项目而言,快速交付合格的系统显得更为重要。在2001年夏天,对基本框架进行了一次重要的修改,2002年1月在此基础上做了进一步改进。
假定在建的大多数业务系统与信息技术相关,那么DSDM背后的基本原理也就很简单了:
● 开发活动是一项团队活动。它必须把客户关于业务需求的知识和IT专业人员的技术知识结合在一起。
● 高质量要求适用性以及技术上的健壮性。
● 开发活动可以是逐渐递增的—不要求一次交付所有东西,及早交付部分内容比较迟交付所有东西更有价值。
● 受益递减规律适用—应该将资源放在对业务最有价值的功能开发上。
DSDM是关于人而不是工具的。它侧重于真正理解业务需求,交付可行的解决方案—尽快并以尽可能低的成本交付。这个框架不能解决所有项目问题,但对于要在21世纪获得业务所需要的系统而言,它是非常有帮助的。
DSDM是什么
DSDM是什么呢,它有哪些不同?虽然它的全称是动态系统开发方法,但它并不被认为是一种方法,而是一种控制框架,重点在于快速交付,补充以如何应用这些控制的指导原则。它定义了一个过程和一系列产物,从这个意义上说,它是一个方法。不过这个过程和这些产物都被有意识地定义在高层次上,由此可以根据不同技术和业务环境对其进行裁剪。对于结构化和面向对象的开发方法,并没有硬性规定某种技术,而是提供一些建议。它之所以不同,是因为它可能是惟一一个公共可用的方法,涵盖了从项目的最初提议到项目结束整个过程中的系统开发活动。
DSDM描述了在快速开发以业务为中心的环境中所包含的各个方面—项目管理、预估、原型建立、时光盒法、配置管理、测试、质量保证、角色和职责(包括用户和IT人员)、项目组结构、工具环境、风险管理、可维护性、重用,以及供应商和购买者之间的关系。
该框架的目的是为了快速将产品投放市场:在业务需要时,交付所需要的系统。如果系统是为了满足业务需要的,那么必须达到足够的稳定程度以在实际环境中运行。其次,业务方面的某些紧急要求能够在短时间内得到满足,在以后阶段增加额外的功能。
历史背景
IT提供者面临着越来越大的压力,其压力是要求他们更好、更快、更经济地交付系统。在今天这个变化迅速的年代,已经不允许他们花费数年时间完成一个系统:在系统开发的几年内,业务需求可能早就发生了变化。因此,必须找到不同的方式进行IT系统的开发。现在的技术使开发人员可以更快地交付产品,不过答案不仅仅限于工具的使用上。整个工作过程都需要进行改进。经典的瀑布开发模型不能完全利用现代技术的优势,也难以改变。它已经有大约40年的历史了,本质上是老问题的解决方案—它认为在开始编码之前,如果没有完全理解所要解决的问题,就不会有解决问题的前后一致的方法。
瀑布模型这种严格的顺序开发阶段在今天看来是一种缺点。人们已经进行了多种尝试来改变这一点,包括Barry Boehm的迭代开发方式。它使用一种螺旋模型进行项目计划、风险分析、开发和客户评估。尽管螺旋模型是一种杰出的模型,但它并没有在实际中得到很好的实施。最近几年出现的许多“敏捷”方法证明了需要一种不同的方法。虽然像极限编程这样的方法取得了广泛的认同,但它们没有涵盖项目的所有方面,可能导致软件组织不知道如何将许多现在正在使用的方法进行很好的集成。这也说明了为什么没有多少主要的IT提供商接纳敏捷开发方法。另一方面,可能是他们的客户还没有给他们足够的压力。
在20世纪90年代初,由于James Martin的“Rapid Application Development”一书,IT业认识了快速应用开发。在这本书中给出了许多非常好的主意,但并没有提供整体解决方案。在现在的市场上也有许多工具,不过使用这些工具也就意味着购买了供应商的开发过程。对此,DSDM联盟的创立者认为这阻碍了成功、快速地交付解决方案的发展。
序言回到顶部↑
自从本书第一版出版到现在,5年过去了。在这段时间里,应用程序的开发出现了巨大的变化。新世纪到来,互联网经历了它的繁荣与萧条,直到2002年全球经济衰落到10年来的最低点。虽然世界在不停地变化,但有一样至今未变:新世纪里的项目依旧失败,其原因与上世纪大同小异,因此,DSDM(动态系统开发方法,也称为业务中心框架开发方法)的继续发展仍然是必需而且重要的。
业务的成功与产品的交付密切相关 :在不超出预算的情况下准时交付给客户。这就是创建DSDM的原因:确保在需要时交付出一个合格的业务系统。DSDM强调一定要准时交付满足业务需要的项目,它是一个以用户为中心的项目交付框架。DSDM可以与多种开发方法一同使用,例如极限编程和Prince2。
DSDM联盟于1994年在英国创办,现在在全球范围内有多个社团:英国、北美、比荷卢经济联盟、丹麦、法国和瑞典。DSDM联盟是一个非赢利的会员性质的组织,它的会员多种多样,包括最佳方案提供商、最终用户、独立顾问以及大专院校。有些会员从DSDM建立之初就加入了,有些则是最近才认识到DSDM的好处。
以业务为中心的开发框架DSDM 4.1版发布于2001年。与以往一样,所有DSDM产品和服务都由会员撰写,而且根据会员的反馈进行修改。因为我们的会员一直在使用它来达到商业目的,所以DSDM一直处于改进和变化之中。DSDM的重点和内容会随着市场的改变而改变。DSDM的创立是为了找到一种更好的软件开发方式,今天它已站在了敏捷(Agile)开发活动的前沿,促进了轻量型开发方法学的发展,从而保证了用户的参与并增强对业务变化的响应。在当今生命周期日渐缩短的市场下,DSDM的敏捷性是它至今为止仍然存在的原因。
本书概述了DSDM框架的各个方面。它不能取代联盟会员使用的在线手册。DSDM属于联盟的所有会员,只有会员才能将其用于商业用途。在线手册包括了所有产品、管理工具和技术、开发工具和技术的详细信息。在任何DSDM实施之前,应该阅读在线手册并充分利用联盟的所有资源。
本书针对于IT类项目中的参与人员,不过这并不排除IT类以外的项目仍然能从中得到有益的帮助。实际上,DSDM致力于用户的参与,它希望任何参与项目的人都可以从DSDM方法中受益。
本书的第一部分是这个框架的概览,以及一些它是如何实施的实例。第二部分是一些正在运作的DSDM案例。这些案例详细讲述了一些成功的例子,以及在使用DSDM过程中碰到的问题。当认识到DSDM是一种可行的方法后,第三部分会告诉你下一步如何去做,比如从哪里得到更多的信息,如何加入联盟,如何起步等。最后,第四部分包含两个附录。
最后,我要感谢所有参与本书写作的人们。如同DSDM一贯的做法,在本书中读到的所有内容都是DSDM联盟会员实际经验的总结。特别要感谢Jennifer Stapleton为本书所做的工作,就如同她在本书第一版中所做的那样。没有会员全身心的投入,DSDM联盟将不复存在,框架也将不再合时宜。本框架以用户为中心,由会员来驱动,我们将努力保持这种形式。我希望读者能从本书中获益。同时,鼓励大家访问我们的网站www.dsdm.org,通过访问,你会知道如何积极地投身到这个领域中来。
Barry Fazackerley
DSDM联盟主席
业务的成功与产品的交付密切相关 :在不超出预算的情况下准时交付给客户。这就是创建DSDM的原因:确保在需要时交付出一个合格的业务系统。DSDM强调一定要准时交付满足业务需要的项目,它是一个以用户为中心的项目交付框架。DSDM可以与多种开发方法一同使用,例如极限编程和Prince2。
DSDM联盟于1994年在英国创办,现在在全球范围内有多个社团:英国、北美、比荷卢经济联盟、丹麦、法国和瑞典。DSDM联盟是一个非赢利的会员性质的组织,它的会员多种多样,包括最佳方案提供商、最终用户、独立顾问以及大专院校。有些会员从DSDM建立之初就加入了,有些则是最近才认识到DSDM的好处。
以业务为中心的开发框架DSDM 4.1版发布于2001年。与以往一样,所有DSDM产品和服务都由会员撰写,而且根据会员的反馈进行修改。因为我们的会员一直在使用它来达到商业目的,所以DSDM一直处于改进和变化之中。DSDM的重点和内容会随着市场的改变而改变。DSDM的创立是为了找到一种更好的软件开发方式,今天它已站在了敏捷(Agile)开发活动的前沿,促进了轻量型开发方法学的发展,从而保证了用户的参与并增强对业务变化的响应。在当今生命周期日渐缩短的市场下,DSDM的敏捷性是它至今为止仍然存在的原因。
本书概述了DSDM框架的各个方面。它不能取代联盟会员使用的在线手册。DSDM属于联盟的所有会员,只有会员才能将其用于商业用途。在线手册包括了所有产品、管理工具和技术、开发工具和技术的详细信息。在任何DSDM实施之前,应该阅读在线手册并充分利用联盟的所有资源。
本书针对于IT类项目中的参与人员,不过这并不排除IT类以外的项目仍然能从中得到有益的帮助。实际上,DSDM致力于用户的参与,它希望任何参与项目的人都可以从DSDM方法中受益。
本书的第一部分是这个框架的概览,以及一些它是如何实施的实例。第二部分是一些正在运作的DSDM案例。这些案例详细讲述了一些成功的例子,以及在使用DSDM过程中碰到的问题。当认识到DSDM是一种可行的方法后,第三部分会告诉你下一步如何去做,比如从哪里得到更多的信息,如何加入联盟,如何起步等。最后,第四部分包含两个附录。
最后,我要感谢所有参与本书写作的人们。如同DSDM一贯的做法,在本书中读到的所有内容都是DSDM联盟会员实际经验的总结。特别要感谢Jennifer Stapleton为本书所做的工作,就如同她在本书第一版中所做的那样。没有会员全身心的投入,DSDM联盟将不复存在,框架也将不再合时宜。本框架以用户为中心,由会员来驱动,我们将努力保持这种形式。我希望读者能从本书中获益。同时,鼓励大家访问我们的网站www.dsdm.org,通过访问,你会知道如何积极地投身到这个领域中来。
Barry Fazackerley
DSDM联盟主席







点击看大图

加载中...

