Yesterday I started reading in Beautiful Code a book that Patrick has recommended to the team.
The chapter on Beautiful Debugging immediately caught my eye:
Why shouldn't the debugger automatically find the change that broke the tests? This is big, it could really save a lot of time.
Chatting with Patrick just now, he points out that there even is an Eclipse plugin in the meanwhile.
Worth a try, I think!
Maybe there could also be a watchdog layer above the master source repository that runs all the tests and only lets changes in that pass all the tests. That way there would never be a failed build.
If the system could then also automatically merge rejected changes after they were fixed, wouldn't that be cool?