Tastes differ, as do circumstances, but the last place I want to work is one where things are spec'd out "properly". For me one of the great sources of joy in making software is jointly discovering needs by exploring the problem space. I've done whole companies with nothing more than index cards, napkin-quality sketches, and very close team relationships. I love it.
I'm talking about product design, not technical design. But I don't think specifications help in the long term there, either. I think the way you get designs that are understood by both old-timers and newcomers is continuous improvement of the code through refactoring and cleanup.