May 11, 2022Don't let the perfect ideals be the enemy of progress.
I often talk about the way things “ought” to be.
Deployment “ought” to be automatic.
The test suite “ought” to run in 10 minutes or less.
Developers “ought” to talk to the end-users of their product.
Every now and again, someone retorts against one of my “ought"s with something like this famous quote which definitely did not originate with Einstein:
In theory, theory and practice are the same. In practice, they are not.
The point of having ideals is not to achieve them all immediately. Maybe not even ever. The point of having ideals is to have something to strive for.
If your deployment takes 3 weeks of manual, error-prone labor, shrugging your shoulders and saying “In theory we should be able to deploy automatically, but theory and practice aren’t the same thing, so we won’t do anything” is obvoiusly not a healthy attitude. A much healthier approach is “What’s one small step we can take today that will get us closer to the ideal of an automated deployment process?”
Don’t let the perfection of ideals be the enemy of progress.
A Look at Atlassian's April 2022 Jira Outage
What lessons can you take from this incident for your own organization?
There's always room for improvement
Even in a static environment, improvement may slow down, but it doesn't have an upper bound.
The importance of continuous improvement
"Improving daily work is even more important than doing daily work." — Gene Kim