The reason for lousy software lies in two simple words: Inadequate testing.
In response, Cameron says:
If he's talking about QA, then he's dead wrong. According to studies in all other facets of production, a focus on increasing the quantity of QA will actually increase the number of defects.
Now Cameron is a smart guy, so I hope he mispoke and meant "increase the number of identified defects". The software is what it is. Increased testing cannot in and of itself increase the number of bugs in a piece of software.
I think these guys are actually in agreement. Cameron goes on to say that developers should do more testing themselves. Whatever. The more testing that gets done, the more is known about the software. The first step to making good software is to understand the software. Testing is not a perfect way to know what software does, but it's the best way we've got.