Durable deployments
For those using a RSS reader, subscribe here: rss.xml
Do you keep your software running when pushing an update? Isn’t it just great when you can just keep it running, and push new definitions? When the initial runner you have setup does not have to stop, running years on end? Because a deployment setup can be as simple as pushing files to a webserver. Unless there is some data that needs to be migrated, that also works for code. It just has to replace the old definitions, which can be done while it is running.
The opposite is such a demotivating mess that makes you regret doing any large changes. Make backups and allow rollbacks, keep the development version in sync with each other. So that the tests you write also execute when they are working on their changes, not breaking yours.
Often you do not have the luxary of starting out a new project from scratch. Already existing projects sometimes have complex manual setups, not always for reasons that still apply. Do yourself a favor, and make it durable to work on the code. You know the codebase is in good shape if you do not fear changing it.