Motivation
Software release and deployment processes are often riddled with manual steps and hand offs. This makes the release process slow, error prone and expensive.
Applicability
Whenever there are manual processing steps or hand-offs involved in your release and deployment process, you should automate it.
Application
- automate the build process with CI servers like Jenkins or Bamboo
- automate the deployment process with Application Release Automation products like Deployit
- automate the acceptance testing with products like Jbehave and Cucumber
- automate the system integration tests with Fitnesse and Selenium
- automate the installation and configuration of machines and middleware with products like Puppet and Chef.
Consequences
Once your software delivery process is automated, you will be able to deploy new versions of your application faster, more frequently with less errors and man power.