如何更好的兼顾开发人员与终端用户的需求,如何让团队实现高效的沟通,开发出高质量的产品,都成为摆在企业面前颇需解决的问题。SpecDD正是基于这样的基础而创建,通过改进后的可执行软件:可以发布给内部团队和客户验证。通过改进后的“概念产品”:对原始需求更好的理解,包括需求,设计,和质量标准的改进。可执行的软件可以用于市场的商业发布,并为企业带来成功。

SpecDD (需求驱动开发) 的设计和创造是为了改进敏捷开发以下两个方面:软件开发和产品设计可以并行开展. 设计不仅仅只是把软件需求转化为文档, 还需要追踪团队成员间的互动性,并创造用于改进设计的流程。增量开发不仅可以应用于软件,也可以应用于设计。应在需求和设计层面对变更进行管理和追溯,而不仅仅是通过改变软件来跟踪变更。

在 SpecDD 中,开发过程由一组连续的开发迭代组成。在一个迭代周期内,新的开发工作被承诺、规划、执行、测试和归档。开发工作基于量化的需求来生成。SpecDD 模型中的软件需求包含两个层面,Spec 和用户需求。用户需求用来管理各类文档、创意、图片、语音和其他电子文件。用户需求可以是来源于多个客户很大的一个文档,或者是一封简单的邮件,又或者是某个来自内部团队或外部客户的备注。

一个 Spec 通常用来表达一个新功能或者功能改进,通常需要由一个或几个开发任务去实现。由于 Spec 和一个或多个用户需求相链接,同时也与关联的其他 Spec 相链接,因此开发人员能更好的理解每个任务的业务逻辑。