3 ms·
Software was always terrible, it's just that it was smaller in scope and so the suckiness was more contained. Waterfall had its problems but a strong QA/QC phas
by sirwhinesalot 5y ago
Software was always terrible, it's just that it was smaller in scope and so the suckiness was more contained. Waterfall had its problems but a strong QA/QC phase did help to avoid the worst issues. Nowadays proper QA is too expensive and pushing updates too cheap, so you get telemetry and permanently half-broken software instead.
However, even worse is that the complexity of software has grown to absurd levels:
- Massive distributed microservice architectures for simple chat apps and news websites.
- Huge distributed teams that need to coordinate rapidly in an Agile environment (which was never meant for teams that size, which is why you have crap like SAFE).
- Team churn due to lousy pay without changing jobs every 2 years.
- Bad practices that are still taught as best practices to this day in university, e.g. OO-inheritance hierarchies.
- Terrible foundations, how do you make a native windows UI again? The web grows at a rate that's impossible to keep up but even desktop apps build on that these days because the OS APIs are so lousy (even Apple is starting to crumble there).
- Sheer size of software with shorter time to market, leading to lots of open source code reuse, which is a big pile of code that can contain a big pile of bugs you probably can't do much about. I work on a piece of software that has thousands of dependencies if you count them transitively.
It's all just... too much, it's too hard to keep up and shortcuts are constantly taken (tech debt yada yada). There's good software out there but it tends to be small, focused, slow to evolve and developed by a small team.