"in many cases it's mismanagement and the real problem is devs/engineers don't know how to talk to management to get to them see why $badpractice is bad."
I would say that's still management incompetence. They're paying all this money for experts in the field, and they still want to disregard their opinions.
>They're paying all this money for experts in the field, and they still want to disregard their opinions.
Nope - they've gotten burned by being talked down to like the cliche mechanic telling a girl her SUV's hammenframas needs to be replaced, and it's $1600.
If you as a software developer cannot speak coherent English sentences (with a small handful of management jargon) to management without devolving into technical shorthand, you are a failure.
Not management.
You.
You have to explain what is going on in a manner your audience can understand.
You should not expect managers to be technical (they might be (and good for you if they are)) - they're accomplishing a different task from you and need solid, understandable, actionable data to take to their management and customers.
In my experiences, non-technical managers tend not to trust software engineers. This is partly due to a lack of true professional credential for software developers and a lack of their own technical chops to call out any bullshit.
To put it simply, they don't feel comfortable saying: "Well... you're the Doctor".
I would say that's still management incompetence. They're paying all this money for experts in the field, and they still want to disregard their opinions.