"Software houses as a bug mfg machine" is an idea that's been around a *long* time.
After all "perfect" software would need no support, would it?
So no need of a support contract, right?
Let me suggest that this attitude (conscious or not) has a lot to do with the state of modern software, and vice versa.
I'd love to see a software house set up to approach every job in the sort of methodical way IBM Federal Systems (the model for the CMM5 level) did it.
But it took them a long time to get there.