A reminder from the Facebook Engineering blog that we cannot compromise on quality improvements in software development:
The conclusion of all this is that I think we need to divorce our impressions of the current state of affairs from our evaluation of the productivity of investing time and energy into improvements. Our impressions are likely to always be negative (seriously, forever), and we will probably almost always feel things are getting worse (when in fact they are probably not, or are heavily offset by simultaneous improvements).
We certainly do make bad decisions from time to time, and those are fixable. But where we really do lose the whole game is if we compromise on investing in improvement because it feels too futile or difficult or we'd rather blame everyone else, and that is a greater psychological challenge than a technical one.