> We assume that if something exists then it exists for a good reason
I suspect that this often exists because people have tried this, and been summarily burnt by either politics, or some form of Chestertons-Fence.
Which leads to the question of: how and when do we discern the difference? How do we design our teams and engineering to do things like,
- ensuring the psychological or political safety to suggest slimming down systems without having every other team come down on your head.
- incentivise “svelte” systems at a product level, without falling into Google-levels-of-“lmao this is going away now thanks bye”
- engineer for slimmer systems. There’s lots of ink spilled on the topic of making things extensible, or able to have stuff added to it, but seemingly little about the opposite. Is it the same engineering practices, or are there other concerns you’d need to take into account, if so, what are they?
- would you as a customer pay for something that was better at its purpose but didn’t have every single feature under the sun? I sure would, how many other people/orgs would, if given the option? I semi-controversially think that too many tools providing too much flexibility mostly encourages orgs to paint themselves into wacky processes, just because they can. I doubt this entirely goes away, but if given less feature/flexibility bloat, how much “fat” (process/overhead/friction/etc) could be trimmed out?