Does anyone have experience with trying/implementing the ideas/practices outlined in Gojko Adzic’s Specification by Example?
I read the key ideas and was somewhat skeptical. Instead of being outright dismissive, I got the book and have started reading it. I choose to reserve my judgement until I have finished.
Nevertheless, this part of the key ideas (and it shows up early in the book) strikes me as unpalatable to most:
Living documentation is the end-product of Specification by Example. To create a living documentation system, many teams have ended up designing a domain specific language for specifications and tests.
The first thing that came to mind when I read this was “UML for managers and stakeholders”. That is, an executable specification (beyond the test code), which has been an elusive goal in software development for some time. The book has case studies where the approach has worked. I’m wondering if anyone has been through the process or has thoughts on the key ideas (or has read the book, etc.). Is it plausible? Something to be considered? Silver bullet snake oil?
(I’m coming from a background where the thesis of The Source Code Is The Design has been the most accurate way to characterize the whole software development process. Adzic’s book seems to be a version of that, although perhaps not what Jack Reeves had in mind. This is why I am interested in looking at the ideas more closely.)