How to manage differences between local and production environments? How to work on multiple projects with conflicting requirements? How to ‘restart from scratch’ to test your code work on a fresh system? How to easily develop and test the packaging and deployment? How to test upgrade path from known versions/states?