My version of "values software" is that it be mission-critical. If it breaks, we're going to be chatting at 2 AM and testing a patch at 3, because we'd lose vast sums of money or customers by waiting until after breakfast. I met my favorite manager turning around a shop like this.
Most software is utter garbage because everyone knows better than to actually rely on it and nothing bad happens to incompetent people maintaining it.
Just making heads roll is not going to magically improve software. You can keep firing your teams but if there are other issues like unrealistic deadlines, bad process you are going to get bad output even from good people; all firing will achieve is churn.
I don't necessarily mean firing people (though there are some who really aren't good fits for this work). I mean I see better work from people who literally lose sleep over bugs, rather than merely shrugging.
Most software is utter garbage because everyone knows better than to actually rely on it and nothing bad happens to incompetent people maintaining it.