demo driven development Daniel Baker to tim More options 3:02 pm(47 minutes ago) Is there a good link for ddd that I can read and include in my tutorial? I can't find anything on google. -Dan Reply Forward Tim Menzies to Daniel More options 3:25 pm(24 minutes ago) DDD is my extension to TDD. Test-driven development is Kent Beck's "how-to" of one part of the "extreme programming" approach to coding. Note that TDD does not require extreme programming, but the reverse is certainly true. Consider the "extreme rules" shown in http://www.extremeprogramming.org/rules.html and consider which of those rules depend on an active test program: PLANNING rules User stories are written. (a.k.a. lots of demos) Make frequent small releases (a.k.a. shows a string of demos) Fix XP when it breaks (ak.a. code run break fix is the usual cycle) CODING rules Code the unit test first. TESTING rules All code must have unit tests. All code must pass all unit tests before it can be released. When a bug is found tests are created. Acceptance tests are run often and the score is published. From "http://en.wikipedia.org/wiki/Test_driven_development" Test-driven development (TDD) requires the programmer to first fail the test cases. The idea is to ensure that the test really works and can catch an error. Once this is shown, the normal cycle will commence. This has been coined the "Test-Driven Development Mantra", known as red/green/refactor where red means fail and green is pass. From me, right now, After reading Kent Beck's book "Test-driven development" [1], I was struck with how small each test was. When checking oeprations on a new abstract data type, just mini-tests are certainly appropriate. However, when working with large granularity programs ( e.g. shell scripts), Kent-style tests seemed to small. So I propose a (small) variation to TDD. Think about how you might present the code to someone else, what you'd show off, what you'd use to demonstrate the core principles. This variant is called "demo-driven development" and it differs from TDD in that each "demo" is usually a seperate shell script comprising "large-grain tests" that demonstrate some functionality. In short, TDD demands thousands of tests while DDD demands dozens (or less) of demonstration scripts. [1] http://www.amazon.com/gp/product/0321146530/103-2564761-2872664?v=glance&n=283155 * Title: Test-driven development: by example * Author: Kent Beck * Publisher: Addison-Wesley * Year: 2002 * ISBN: 0321146530