The problem isn't just on the sell-side of outsourcing. Presumably the uninformed, inexperienced, not-design-savvy, people buying cheap outsourcing are happy with the results or they wouldn't have accepted the sludge they got. The buy side needs help with design, understanding capabilities, code quality, product management fundamentals, etc.