I'll be working as a development lead for a startup and I've suggested that we use VMs for development.  I'm not talking about each developer having a desktop with VMs for testing/development, I mean having a server rack where all VMs are managed and have the developers work from a microPC (ChromeOS anyone?) locally, or even remotely from their home computer.  

To me, the benefits are the fact that it's extremely scalable, cheaper in the long run, easier to manage and that we utilize the hardware its maximum potential.  As for cons, I can't think of any particular showstoppers other than we'll need someone to setup/maintain said setup.  

I was hoping that some of you might of had a similar setup at your place of employment and be able to weight in with your opinions.  Thanks.

What are you hoping to save, as a fraction of the development budget?  It seems to me that you are worrying about an epsilon.  The cost of machines for developers is less than 5% of the total cost to keep a developer on staff.  Therefore the only important question is "will it save developers time?"  It could, if they don't have to spend time installing and upgrading development software.  Or it could cost time, if the network goes down, or the server goes down, or, most likely, if the responsiveness across the net is the least bit lacking.  Modern development depends on keystroke-by-keystroke interaction with an IDE, or at least a very intelligent editor.  Delaying that interaction by even a few tens of milliseconds destroys developer productivity.  There is also the cost for developers to learn this new way of working.  If that takes even one day per developer, you have already spent more in labor than the cost of a new desktop.

These are not objections to VMs, but potential objections to remote development.
