Lately, I've seen a lot of posts talking about the downward spiral of software quality. And I agree. I get an update for my phone and I'm nervous if my phone will get bricked, what apps will not work now and what apps lost all their settings. I get an update on some software and find I now need 4 steps to complete the same work I used to need 2 steps to complete. And yes, user experience is part of quality.
Someone posted a list of reasons they thought software quality was declining and I agree! I'd like to add a couple more things to that list.
Generalization hurts software development more than helps. Today engineers are expected to build UI, services, backend, database design/optimizations and test via integration and user testing, and dev ops. This is insane!
Agile processes have been distorted as well. We went from having 2 week development cycles for consistent feedback loops, reduce risk, and foster rapid adaptation.... to releases every 2 week releases.... to release on demand.
None of these practices are inherently evil on their own. The problem arises when we dismantle safeguards and 'gates' in the name of velocity, elevating speed over every other consideration—including quality (even if that is not the intent, it is what happens). Approaches like 'release on demand' reduce development to a race: the goal becomes deploying changes as quickly as possible, with little regard for whether those changes are thoughtful, correct, or even necessary. Specialization serves the opposite purpose—it guarantees that specialized components of the system follow a unified plan, preserving architectural integrity and long-term reliability.
And just to get on a little bit of soap box: We've gotten rid of QA, SD test engineers, DBA, architects, release management, road maps, project plans, design docs, sizing work .... I'm sure I can think of more. Are we at the point of unhealthy consolidation of roles? Yes I think so.
Not all changes are bad and perhaps some consolidation is good. However, like I say so many times on this blog, we also fail to recognize the costs of these decisions and take things too far. We've reached a point where software engineering is no longer true engineering—it's become piecemeal, just endless patches on patches.
To leave a comment, please log in.Matt Raffel says:
December 15, 2025 10:59