I've been a part of this process as a developer many times. In my experience, it's not stupidity or maliciousness but rather the natural way every system evolves unless you have a good team, who fight against it.
Here are the three reasons that I know lead to it (there may be others as well of course):
  1. Developer Tyrants / Designer Despots, in other words, low cooperation between builders and customer relators. Everyone has a good idea, and the instinct is to just make it, but with no customer testing you've invented a horse with wheels. Applies to both design and developing, everyone. (except me, my ideas are fool proof)
  2. Scope creep. It's fun to build something, and then keep realizing how your thing could also do X and Y and 4 and Å, etc. Do one thing well, that's the cure. If you have a creeping boss, the one thing to do well is straight up murder (but don't quote me on that— not a murder expert)
  3. Enshittification. This one is what happens to youtube etc, why they remove the dislike button for instance. As a platform begins to have a loyal userbase, their focus shifts from pleasing their products users, who don't pay nuthin, and instead their advertisers get better UX.
Thanks for your reply, each of your point deserves a whole chapter in a book about how to build a great team and customer relations
reply
That's very kind of you. If you're interested in what makes a good team, there's a fascinating study that Google did a few years back where they tried to learn about that very thing.
Is a good team just "as many of the most competent experts you can muster"? Turns out, no!
Their report details 5 points that productive teams follow, but the first point is the crucial one, and quite easy to implement (no matter if you're a boss or a grunt!):
Productive teams have "psychological safety". Literally, it's okay to be stupid. It's okay to say dumb ideas, ask n00b questions. This is the key factor in deciding team effectiveness.
It works extremely well. I implement it by (when I'm in charge, especially) telling people when I made a dumb mistake, and by asking questions that feel a bit embarrassing ('hm.. what exactly is a "computer"'). It's like magic, for real, how much it improves morale. As I like to say— if you can't make errors, you can't error correct, and error-correction is the cornerstone of the not-walking-into-walls lifestyle.
reply