Never build the payment system tight coupled to the rest. Humans need to be able to overrule anything, anytime.
This should be a rule of thumb for everything.
This needs to be a guiding principle of anyone who builds any sort of software.
It is SOFTware so it can always be changed. The question becomes who can do the changes and when (which ends up being much trickier to answer)
In the meantime I'm well aware of and speak to our Microsoft rep regularly, they know our business and what we need, and have been helping round up resources for upcoming projects and initiatives. It's night and day between MS and Google.
It seems like Google thinks their products are so perfect and infallible that they can cut out the human element entirely. That may work for personal Gmail accounts and such but not so great when you spend millions with them.
Having human overrides to correct or change data is equally useful for just fixing what you get wrong yourself, as it is for special cases.
I’m sure he’ll make a mess of something down the line, and I hope someone after my time added audit logs (to track what he inevitably changes and breaks). But there’s something deep and important in empowering other aspects of the business to interact with the computing silo. There’s a time for automation. And there’s a time before that where custom tooling isn’t worth building yet. And just changing records manually is the right approach.
It's emails and spreadsheets all the way down if you're building a product for an Enterprise audience.
You are right in that decoupled systems aren't good.
For every exception, you need someone on top of it. You have a limited pool of people to distribute this knowledge to, and the responsibility for maintaining this knowledge to even if that just invoves knowing where to look to figure something out.
Overrides are tricky to accomodate, standardize, and organize if you don't nail dpwn the appropriate data model for the process.
So when told there is this thing which must be done by sales that prevents machines doing what that affects customers, it’s interpreted as either an IT guy is making incomprehensibles or hypotheticals because machines cannot be subject of a sentence, and as an empty demand with no return because neither party gains credits from the conversation.
And we’ll end up in “I told you! You had to!” “Told you what? You didn’t say anything”.