How long does it take to deploy?
Don't deploy when you can't stick around to see it through.Pop quiz: How long does it take you to deploy your software?
20 minutes? An hour?
Now: How long does it take to ensure that your deployment was successful?
And if it wasn’t successful, how long does it take to rollback?
These are important questions to ask if you’re interested in being confident enough to deploy on a Friday.
Actually, they’re important if you’re interested in being confident enough to deploy on any day.
Assuming you have some idea of the answers to these three questions, here’s a good rule of thumb:
Never deploy when you can’t be around that long.
Let’s say your team is using continuous deployment, so deployment is pretty fast. Let’s say 20 minutes from the time you hit the Merge button. Let’s also say you have mature alerting and monitoring in place, so you can reasonably assume that any disaster will be detected and page you within 20 minutes of deployment. And let’s finally assume that a rollback is just as fast as a deployment, so that’s another 20 minutes.
In this scenario, you should only hit that Merge button when you’re able to stick around for 60 minutes.
This means if you’re scheduled to have dinner with your family in 30 minutes, you shouldn’t be deploying.