You can work closely with people who have the domain knowledge who work closely with programmers to do this. I have had a job where a major part of it (as well as creating specs etc) was to do this.
Of course the developers still needed some domain knowledge, but much less.
Of course the developers still needed some domain knowledge, but much less.