what if we changed everything just slightly in ways that leave multiple people noticing something is different but unable to tell what actually changed
i love modern software so much
Horror Software: Software designed to fill its users with a constant sense of unease and confusion.
You know something is wrong, but you're not sure what or how... and the next time you open the app, something else will change. You'll wonder whether you're imagining it. You'll ask your friends "hey am I crazy or ..." and they'll nod and go "I think so too" or they'll say "I didn't notice anything" because it turns out that they're using a different version that wasn't affected by the update, or it's actually part of an A/B test and you're in the Treatment group and they're in the Control group.
Nothing is ever allowed to just be done, in software, because that is not a business model you can monetize.
If you make, say, hammers, you know when a hammer is done. Because you have a hammer, and hopefully one that doesn't splinter into pieces the first time it hits a stud.
To optimize your hammer business, you might experiment with new materials or designs, but there's really not much room to move: it's a hammer. It needs to be shaped like a hammer, and be able to hit things. Mostly though, you're going to optimize on production, or speed, or quality, or cost. Make more things, faster, for less money.
But software isn't a "thing". It's both infinitely reproducible and infinitely malleable, and the temptations this poses to capitalism are simply too great. You can already produce infinitely many of your software, especially once the internet gets involved and you don't have to stamp it onto plastic discs anymore.
So what do you do, to keep the gravy train rolling? What do you optimize? And more importantly: how do all your middle managers and engineers keep justifying their massive salaries?
Unlike a hammer, you can in fact bolt on more and more features until the cows come home, or at least until your codebase implodes. When features hit saturation point, when the product already does far more than it ever needed to, and the code is a labyrinthine mess that no sane engineer will work on anymore ... well you just hit the big red button titled "rewrite" and start it all over again.
Or maybe you're already there, the software is already moribund, new features aren't feasible, and management won't sign off on an expensive rewrite ... so you just ... fiddle with shit. Make busy work. Keep your QA staff and designers busy with endless and pointless redesigns. Bog down your engineers with implementing the pointless changes they come up with, in between frantically propping up the increasingly decrepit backend.
Everyone gets to look busy forever, and nobody asks too many questions about what we actually meaningfully accomplished last quarter, which is almost always nothing, but as long as you invent some bullshit metrics in Jira, it'll sure look like you shipped all kinds of shit.
Every software business inevitably hits this point, which is also why every software business has in the last 20 years pivoted completely to subscription models, because it's the only way to sucker people into continuing to pony up for access for software that hasn't meaningfully changed since Bush was president.
Capitalism is fundamentally incompatible with good software, because good software doesn't need to justify constant meaningless change. It just works.