- Software should be designed and developed for production, not onl to satisfy QA requirements.
- Don’t make decisions that optimize development costs at the expense of operational costs.
- Make decisions with foresight and test them often. The sooner you can find out if a decision works good in production, the better. This is where agile methods could come in handy.
- An architect has to listen to both the coders and the users. Even better, the architect should be both coder and a user of it’s own product.
- Software delivers it’s value in production. Everything before production is just a prelude.
- When there is an incident first priority should always be to restore service. Collect whatever info you can about the incident as long as it doesn’t postpone too much the restoration of the service.
- Collect your Java thread dumps. Or in other words always have tools that collect information that you can use to diagnose a problem post festum (or mortem).
- Bugs will always happen. We need to find a way to handle them and survive them. More importantly, we need to find how to isolate bugs and prevent scenarios where a single bug collapses a whole system.
About Release It!
Release It! is a book by Michael T. Nygard currently in it’s second edition. It’s a great book by a great author that I had the pleasure to see giving the keynote presentation at the MicroCPH 2018 conference in Copenhagen. If you like the notes make sure to buy the book. In that way you support the author and you also help me continue writing this notes.
The notes are my personal interpretation of what is said in the book. They are not a direct copy-paste of text.