Document Driven Design (DDD)

Document Driven Design (DDD) is a method of software development that starts with the documentation. As the documentation is written, other aspects interact with it, such as progress tracking, triaging, categorization, Test Driven Development (TDD), and the actual software implementation.

The process of documentation is round-trip and follows the same Best Practices of other idioms. In fact, documentation should be considered source code itself, as it can be validated, versioned, compiled, and deployed.

DDD Benefits

Document Driven Design is superior to other development methodologies. Here's why.

DDD Annotations

DDD annotations can be placed in source code comments and wiki documents.

Documentation Types

Each development dimension needs it's own documentation, as each has it's own particular needs.

Example Workflow

A sample workflow for DDD

DDD Issues

Developing documentation has issues. These issues are different, albeit comparable, to issues the developers will face.