How my web site mirrors software delivery
Several software delivery principles are widely applicable, beyond the strict definition of "software".Some of you noticed a rather blatent typo in yesterday’s email:
This lead to a slightly tongue-in-cheek interchange on LinkedIn, where someone pointed out the typo, and I said I’d fix it in production.
This got me thinking of some of the other parallels between my web site, which powers my daily email list, and more sophisticated software delivery. Many of these principles have pretty wide applicability, when you think about it.
- I keep my web site in version control (git/GitLab)
- I use a CI/CD pipeline to deploy web site updates
- I use trunk-based development to build my web site
- I have the option to deploy ephemeral preview environments for my web site (mostly used for big layout or JS changes)
- I do a lot of testing in production (as demonstrated by yesterday’s typo!)
- When I fix a typo, or other problems, I always roll forward
- I maintain backward compatibility. For example, when I fixed the typo in yesterday’s title, that changed the post’s web address, so I created an alias from the old link, so any existing references to the old link still work