I'm trying to establish a best practice for Virtual Machines for developers. Currently we work on Windows 7 with Visual Studio 2008. However, we need to experiment with VS2010 and to do this we create Win7 VM's and load what we want in there.
My technique is to create a new VM, in this case a Win7 VM, and once it's gone through all it's updates etc. take a copy of it for the next time I need the same type of VM. I used one copy to test in and then eventually abandon or delete it once I've made it unstable enough and go back and make a copy of the original. However, I find that there were lots of small utilities and enhancements that I'd made to the previous working VM that I had never installed in the virgin VM and have to install all of those again.
I'm looking for a best practice in using VM's for software development.