How We Rehearse a Website Migration
Moving an organization's website from another platform is never a single button press. Here is the backup, import, compare and repeat loop we use unti...
15 posts
Moving an organization's website from another platform is never a single button press. Here is the backup, import, compare and repeat loop we use unti...
The best time to stop a bug from coming back is right after you fix it. Here is how we turn fixes into checks and what we learn from each one.
Work is often continued by someone else: a teammate, a later session or an AI helper. Here is what our handoff notes contain so nothing important is l...
Not every change needs the full test suite, and every change needs the safety gates. Here is how we let each push choose a fast or full pipeline witho...
Every function, command and component we add must be wired in and used in the same piece of work. Here is why we treat unused code as a defect, not a...
Many people navigate with a keyboard instead of a mouse. Here is how we make every button, link, menu and dialog reachable, visible and usable without...
Many people manage their organizations from a phone. Here is why we check every screen at phone width, what usually breaks and how we fix it before cu...
A release is not finished when the code is copied to the server. Here are the health, smoke and log checks that tell us a release actually works.
A backup that was queued, interrupted or never checked is not protection. Here is the standard we use before we call anything a recovery point.
After a website moves platforms, small differences hide in plain sight. Here is how we compare the old and new sites at desktop and phone sizes before...
Testing payments is essential, and mixing test transactions with real ones is dangerous. Here is how we keep test and live money clearly separated.
We never deploy by logging into a server and running commands. Every change travels through the same automated pipeline. Here is why that discipline m...