, 10 tweets, 2 min read
My Authors
Read all threads
The problem is not that you shipped on Friday. The problem is that you have no way of knowing if shipping will break it. Most software is massively undermodeled and undertested.
Models (1) and tests (2) are two sides of software success: 1) do I understand this software so well that I can accurately predict the impact of a change in the system's behaviour 2) can I delonstrate confidence in its behaviour by repeatedly testing lots of scenarios
The irony is that both automated testing and modelling are crazy cheap compared to the perpetual burden and risk of undertested and undermodeled business-critical systems.
Getting started with both, in an existing system, is expensive and painful. But writing tests and doing modelling reinforces themselves and each other, and create a positive feedback loop of speed and quality improvement.
Teams that deploy succesfully on Fridays aren't just 25% faster than those who only deploy 4 days. They are 10s or 100s times faster, because they're so confident in every change, they have such predictable quality, that the time of the deploy doesn't even register as significant
These teams exist, it's achievable for yours as well, but it requires a change in habits and culture. And few people have seen such environments, so they don't believe it's possible.
To everyone who responded with "1-click rollbacks are great too": Yes, but rollbacks are hacks. They're necessary, but they're a blunt knife. If you don't fully understand the impact of change, you also don't understand the impact of a rollback.
A rollback returns your code and db to the previous state, but the side effect (the impacts on users, the emails that were sent, the api's called, the money transferred), all of that can't be rolled back. And on top of that, worst case, you've just rolled back the records of it.
If every rollback is well tested and the impacts are modelled, only then it is a truly safe and excellent tool to deploy more confidently — but if you have all that, rollbacks will be mostly unnecessary :-)
If we don't know understand your code well enough to write tests for it, how do we understand it well enough to build the right monitoring for it?
Missing some Tweet in this thread? You can try to force a refresh.

Enjoying this thread?

Keep Current with Mathias Verraes

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!