On every project I've ever worked on, specs were ephemera, falling out of
date almost immediately despite occasional herculean efforts to keep them
up-to-date.
Personally, the best answer I've found to the spec/code dilemma to be
automated tests, as they evolve along with the code and fail if
Is the ground truth your spec or your code?
Here is an interesting read:
http://shanecelis.github.io/2013/05/20/why-im-trying-literate-programming
Shane started with a co-worker, working from a spec, to create a program.
He eventually found that only he could make changes because only he