Short-term alternatives to code freezes
Use a code freeze as a reminder that there are still quirks to be worked out, and make an effort to work them out.I recently saw a great question on Slack:
For organizations still early in their journey toward technical excellence, is anyone aware of alternatives to code freezes during particularly sensitive time periods? I’m looking for more short-term solutions here, as obviously the ideal is CI/CD with easy/safe rollback, comprehensive testing/monitoring, canary deploys, feature flags, etc.
The question lead to several possible approaches, the most popular (and controviersial) being using some form of release branches.
But I offered a different piece of advice, and after a lenthy discussion, I think it’s sound advice, so I want to share it here.
As mentioned in the question, the goal is to eventually get to CD (either continuous delivery or continuous deployment) to end the code freezes. But if you’re not there yet, and your company is doing code freezes, what can you do to lessen the pain?
My advice is don’t lessen the pain.
Don’t put any temporary, band-aid solution in place. Instead, use every code freeze as a trigger for a blameless post-mortem. Use a code freeze as a systemic reminder that there are still quirks to be worked out, and make an effort to work them out.