Documenation Driven Development (DDD)

What is Documenation Driven Development (DDD)?

DDD simply means that you write the documentation for things you plan to program before you actually start getting into the code. It is similiar to making an excact concept of your application but it more focused on the user then on the developer (of the project).

What are the advantages of DDD?

DDD has several big advantages over other programming strategies, especially:

And what about the disadvantages? Well while we think the advantages are outweighting the cons by far here is what we feel is not so good about DDD:

Did you invent DDD?

Well, yes and no. We have known about other agile programming techniques like Test-Driven-Development before which are quite similar. The idea of of writing the documenation for future features came out of a dialog between the_undefined and frando in #spliceit. But it has to be said that, even so we didn't know of it before, there were people who came up with the exact same idea, before us. Still - there is not a lot of information about DDD out there, so we think it's still a fairly new (and experimental) technique.

More stuff to read

If you are interested in the guidelines and idea behind SpliceIt! you might find those pages interesting as well: