I used to be against Friday deploys. We all know the memes and wisdom that tell us how Friday deploys are a bad thing. I never really stopped to consider otherwise. On a basic level having a deploy freeze on a Friday makes sense for a number of reasons. One thing is we don’t want to be stuck working all Friday evening or all weekend if things go bad. Its easier to justify working a weekday evening than a Friday evening where many have other plans. Another reason is we’re highly likely to have mentally checked out, especially late in the evening, on a Friday. This causes us to rush out things without properly checking them and giving a once over which causes more issues. The superstitious side of me remembers the few Friday deploys I did which went wrong for one reason or another and justifies that as to never deploy on Fridays.

But is this thinking right? Back when deploys were big events and required lots of manual interventions and monitoring it did make sense but the core idea of modern software engineering and devops is to make deploys a non event. Continuous deployment and the pipelines that come with should take care of making sure a change works as expected so we should have full confidence in our deploys.

FRIDAY DEPLOY FREEZES ARE EXACTLY LIKE MURDERING PUPPIES

This piece by Charity Majors helped shift my thinking on Friday deploys. Ignore the extreme headline for a minute and just read the piece. It goes into the many reasons why we shouldn’t fear Friday deploys. At the core they’re code smells which cause us to slow everything down.

That’s not to say there’s never a reason to not deploy on Friday. Sometimes its okay to hold off but use proper judgement on a case by case basis. Maybe we want to monitor a deploy to see if it behaves as expected and leaving it for two days unattended doesn’t sound like a good idea. However this is probably a symptom of a gap in monitoring somewhere so it might be a good idea to invest time doing that so that type of deploy becomes a non-event. Track the kinds of deploys you don’t do on Fridays can help prioritise the changes you need to make to unblock the deploys

If you’re used to never deploying on Fridays then consider slowly changing that. Ask does this really need to be pushed off or can we go ahead with it instead of having a blanket ban. Work towards the goal of being able to deploy continuously even on Fridays.