Rollback plans are a simple concept. Before you perform a deployment you list the steps necessary to “roll back” the environment to how it was before deployment.
When you go to deploy you complete the rollback preparation steps before deploying. Then, if something goes terribly wrong, you can roll back and reassess the situation. A few examples of rollback steps might include:
- Checking in code to source control
- Backing up a database
- Scripting a database object definition to file
Obviously there is nothing magical about this idea, but very often this step is skipped entirely, leading to stressful days and some late nights.
This practice can be implemented with any level of formality. You can document all of the deployment and roll back steps before deploying, or you could make a simple list, mentally, on a sticky note, in Notepad, on a napkin, etc.
By taking the time to always think this through before deployment you can save yourself a lot of headaches.