Two days ago a developer of our team checked some changes in and broke the build. When asked why he didn’t first run the test locally, he replied that it takes too long and wondered why else do we have an automatic build system.
Build speed matters as you see and it was one reason for me to buy a new MacBook Pro to replace my 2 year old PowerBook, which just became too slow for software development as well as other common tasks.
So, today I ran a small unscientific competition between my two systems on our current project, which uses Maven 2 to build and a Oracle 10g database. To reduce dependency on the network connection to the database server (via VPN), I installed a local Oracle 10g Express on separate machine. Later I will try to install the same on a VM.
With maven I ran a clean installation including all tests a couple of times, also to make sure all dependencies have been resolved.
The PowerBook (1.67Ghz G4, 1.5MB RAM, 100Mbit connection) needs on average 7 minutes (it took more than 20 minutes with the VPN connection!). The new MacBook Pro (2.4Ghz Core 2 Duo, 2GB, WLAN connection) finishes the same task in 3 1/2 minutes, which is an acceptable speed. Just run your tests when you get a fresh cup of coffee (you should not sit behind the desk without a break anyhow).
It is also nice, that Eclipse 3.x with MyEclipse and some other plug-ins starts 14 seconds faster on the MacBook Pro.
Considering the costs of development hours, esp. if bugs are not caught on time because skipped testing, I think it is foolish to save money on hardware for software developers. Give them the best and fastest you can get. It will not only motivate them (we love good technology) but also improve productivity and probably quality as well.