A person onboarding a client catches breaks that have nothing to do with onboarding. Move the whole thing online and that safety net goes with them. Here is what each step toward self-serve quietly hands to your software, told through a one-minute bug I once fixed by hand.
Telling an AI "never move money" is a wish it can misread, ignore, or be talked out of. Making a money-move fail to compile is a guarantee. The difference between asking for safe behaviour and designing so the unsafe thing can't exist.
A demo is a performance where nothing fails, because in a demo there is no wrong moment. Production is the same feature with one difference: the wrong moment is always available. Two holes I found in my own app, and the tests that catch them.
I sat in a meeting about a system my own team built, and I couldn't answer the simple questions. Neither could most of the room. So how does a team work this hard and still not understand its own code?