One of the uses of TDD that we’ve thought of is a work distribution. Say, you have a team of senior dev and a few junior/intermediate ones. So, instead of giving them specs on paper or whatever, senior dev can always write a test, and give it to the team members – “make this pass!”. This way a) you get all benefits of TDD b) you can always see the progress c) you have the most knowledgeable team member designing the system. I haven’t seen this before, which makes me wonder if there’s something wrong with this.. or no-one actually thought of this before ?