• QA is necessary but the original problem is with the developers and how they are trained. Too often a developer's goal is to solve the problem; if rudimentary testing finds a path through the code that's job done. Developers, like testers, need to learn to think "how can what I write be broken" and cater for it. That's what makes the difference between an average developer and a good one. (I'm a developer)