Change management: - Maintain a single source repository - Everyone commits to the mainline every day - Every commit builds the mainline on an integration machine - Everyone can see what’s happening
Quality assurance: - Automate the build - Make your build self-testing - Test in a clone of the production environment - Keep the build fast
Deployment: - Make it easy for anyone to get the latest executable - Automate deployment