Ester Schindler has a post in cio about the 3 lessons developers should learn from the Zune meltdown. She finishes it with:
Quality Assurance doesn’t apply only to fixing code. It applies to fixing broken application development processes, whether it’s because Quality Assurance departments aren’t given the respect and resources they deserve or because developers leave it to QA to find every problem rather than bearing personal responsibility for their own code…
As one correspondent noted, "It may have been a development problem or a requirements problem. Such things are always, ultimately, management problems."
This is something that I can really relate to: The problem is a management problem!
Management needs to focus on quality in the development process. Using the correct tools, it is easy and cheaper then expected.
As bugs are cheaper to find earlier in the process, Unit Testing is the cheapest way to add this kind of quality and responsibility.
Many development teams are understanding this and joining the unit testing trend.