I've spent quite a bit of time looking at our current build process in an attempt to bring the whole incremental build back into the 10 minute mark (currently 1 hour). The largest consumption of time on our build seems to be the large number of unit tests that, for one reason or another, take quite a bit of time to execute.
Recently, I've experimented with distributing the execution of the unit tests on a small number of blades. This increased the overall execution time of the junit tests into a very tolerable range but required a lot of manual scripting and administration on the CI box to keep the tests working. Ideally, I'd like to compile the source on a master node, use a distributed surefire like plugin to jointly run the unit tests and then use the master node to package the results. I don't see any significant gains to using a distributed compiler at this time.
Are other people distributing the unit test execution across a number of boxes? Are there any plugins (commercial or open source) that would make this process easier to manage? Any insight to how others are tackling (or not tackling) this problem would be much appreciated.