In reality we don't have good software development because people at some level or another don't want to do the things that make it possible. They're always going to pretend they care but do what suits them.
It can be from the most basic thing: the customer doesn't want to pay what it really costs to get something good but can be made to pay for something that's going to turn out to be crap in the end.
If you're confessing that it's contrary to human nature and/or the engineering thought process, then I humbly accept your concession in this debate.
Then that is what scrum is.
I know how it worked and why every team I've been on since has not been able to make it work and it all boils down to: 1) internal sabotage - an influential developer does everything they can to shit on it. 2) Management interference - developers could not change the things we needed to change to make it fit our circumstances.
But, what little progress there was, was easily measured. That seems to be the important part.
Lunatics run this asylum.