SpecDD是基于一个基础理论以及在此基础理论上的一系列原则创造出来的。这个基础理论已经为实践所证明所以任何人都无法进行更改,而这些原则正是它的最佳实践并且作为骨架来设计详细的框架。
SpecDD 理论基础
-
SpecDD能够提高但是不会取代传统的开发:项目应根据项目本身的需求来得到管理
-
开发工作需要在文档与流程管理中找到一个平衡点
-
敏捷的主要目的是能够快速响应变更以及最小化变更带来的费用。SpecDD 系统性地创建了一个模型,在这个模型中,需求是量化的,对于任何需求的变更都必须在概念层次中完成,然后相应的开发与测试工作必须与这个需求的变更保持紧密跟随。
-
好的开发过程是由预定义好的流程以及由经验指导的流程的共同努力的结果,这两种流程有一些共通点:人,交流,过程,工作流,可交付的产品以及文档
-
开发方法的主要目的是了更好地保证短期与长期项目的同时成功。
-
原则的创建是为了更严格、更科学地实现以上这些目标。
SpecDD 提供了指导原则与规则来方便其他有志者来修改这些原则。
可交付的软件以及改进产品设计
- 一个开发迭代包括两个交付物:可工作的软件以及不断改进的产品设计
- 经常交付可工作的软件(每个迭代建议2~4周)
- 量化的设计是驱动开发、设计以及测试的唯一标准。可工作的软件是主要的进度度量。
- 不断追求卓越的技术以及优秀的设计来提高灵活性以及质量。
- 简单性与一致性:工作的软件可以被解释为一组已经开发完成的功能。一个项目的剩余工作可以被理解一组已经被分配的功能、需要改进的功能以及待分配的功能
欢迎变更与文档管理
- 我们欢迎任何的需求变更,甚至是在迭代的后期
- 变更需要首先在需求层次完成
- 驱动变更的因素有客户、产品负责人与可工作的产品本身
- 变更可以在当前迭代或者未来的迭代中进行。
人,交流,工具与过程管理
- 通过面对面会议来进行有效的沟通,将功能点作为一个标准来驱动开发、规划以及测试工作
- 项目成员需要是有积极性的人,信任他们,支持他们使用自动化工具,以及使用工作流来规范标准
- 良好的团队管理,有助于优化开发过程和提高质量。
- 可持续开发来源于人、交流、过程、工作流以及有效工具地不断优化。
- 工作流以及每天的实践能够增加团队协作
- 开发工具有助于将过程变得更成熟与可重复性,从而提高工作效率。
什么时候您可以修改SpecDD原则
SpecDD是建立在一个信念基础上的,这个信念就是一个开发方法框架下的所有原则必须是开放的。当然,更改这些原则需要在SpecDD基础理论指导下进行。
下面是更改SpecDD原则的指导思想:
- 修改原则是否能够有助于企业更好、更有效、更科学地管理他们的开发过程。
- 修改原则是否有助于更好地实现开发的结果,而又不会丢掉开发的敏捷性,并且还能兼顾概念层次的设计与文档化
- 修改原则是否能够帮助企业更好地促进敏捷开发、或者使得敏捷开发能够与瀑布与迭代开发的需要保持一致。
- 修改原则是否能够更好地适应一个团队的开发文化以及它的环境