I've worked on a project where developers who wrote the (failing) tests were different from the developers implementing the necessary code to make them pass.
and I found it really effective.
In that case, only the tests related to the current iteration were written once.
So what you suggest is perfectly possible in that kind of scenario.