Charity Majors
+ Your AuthorsArchive @mipsytipsy cofounder/CTO @honeycombio, co-wrote Database Reliability Engineering, loves whiskey, rainbows, and Friday deploys. I test in production and so do you. 🌈 Apr. 15, 2019 3 min read

... people still say this? 😔

people still retweet, like, and unashamedly identify with this? 😧🤐

If you're scared of pushing to production on Fridays, I recommend reassigning all your developer cycles off of feature development and onto your CI/CD process and observability tooling for as long as it takes to ✨fix that✨.

Fear of deploys is the ultimate technical debt. How much time do you waste

* waiting until it's "safe" to deploy,
* batching up changes into big changes that are decidedly unsafe to deploy,
* waiting to get paged and fretting over deploys,
* cleaning up terrible catastrophuckes

"Don't push to production" is a code smell -- like a three week old corpse kind of smell -- and a sign of deep wrongness. Just because you're used to it doesn't make it any less noxious.

Like, would you go around casually commenting "there's blood in my pee" or "i get a stabbing pain when i breathe"?

because that's how it looks when you go around nonchalantly telling people to halt the lifeblood of their systems based on the day of the week.

ok this seems to have touched a nerve, so rather than reply to every single person who is objecting "hey what's the harm in skipping fridays, it can't hurt anything and may help" or "why do you want to take away weekends" or "stop shaming people!!" i will say it here once:

The inability to push to prod (or fear of pushing to prod) is the symptom.

The fact that recovering from a deploy gone sideways is often a harrowing, multi-day event is the problem.

The way you address the problem is by shipping changes not more slowly, but more QUICKLY. Fewer, smaller changesets turn into debuggable, understandable deploys.

The delta from "writes code" to "code in prod" is the primary metric of a team's maturity and efficiency.

(Don't ask me -- ask the DORA report.)

So by slowing down or batching up or pausing your deploys, you are materially contributing to the worsening of your own overall state.

"Don't push on Fridays" isn't the problem, it's just a symptom of underlying pathology. Sometimes there are legit reasons not to push on Fridays. You have to use your own judgment! But most of what I'm hearing in this thread are lame excuses. 😉

Like I said, shipping software should not be scary. There are feature flags, event-level observability, and other modern developer tools that protect users from breaking changes. 

If a failed deploy means somebody's *weekend* is impacted ... y'all have much bigger problems, and somebody should FIX THAT.

Where does it stop? If pausing Friday deploys means Sunday is safe, shouldn't you maybe pause Thursday deploys just to be extra safer???

Finally, I am not shaming anyone! I am simply pointing out that it is a sign of poor hygiene that usually masks a heap of other problems. Which is what I am suggesting you might want to take a look at, because this strategy is incredibly costly in the long run.

It's just that the costs of pausing deploys for a day tend to be hidden ones that you experience as sluggish ship rates and a general culture of fear and avoidance (and a broad acceptance of truly fucked up situations as being "normal").

Which is truly hard to change. But we can start by pointing out that it is not normal, it is unnecessary and can be fixed. You can live in a better world.

🎶 Imagine all the people ... 🎶

Before you reply to this thread, ask yourself: is the thing you're about to "well actually" me about in fact:

* learned helplessness
* an adaptive response to something shitty
* the result of your org not valuing people's time off
* something else supporting my core point

You can follow @mipsytipsy.


Tip: mention @threader_app on a Twitter thread with the keyword “compile” to get a link to it.

Enjoy Threader? Sign up.

Since you’re here...

... we’re asking visitors like you to make a contribution to support this independent project. In these uncertain times, access to information is vital. Threader gets 1,000,000+ visits a month and our iOS Twitter client was featured as an App of the Day by Apple. Your financial support will help two developers to keep working on this app. Everyone’s contribution, big or small, is so valuable. Support Threader by becoming premium or by donating on PayPal. Thank you.

Follow Threader