How many times you have been hit by unit tests failing because of
environment differences between you and other team members? How easy
is it to build your project and have it ready for development? Vagrant
provides a method for creating repeatable development environments
across a range of operating systems for solving these problems. It is
a thin layer that sits on top of existing technologies that allows
people working on a project to reproduce development environments with
a single command.
http://www.linuxjournal.com/content/vagrant
Keith