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.