Hacker News new | ask | show | jobs
by elbenshira 5468 days ago
Why shouldn't they? With TDD and pairing, I'd say that their developers are the QA team.
3 comments

Well.. I disagree, but I wouldn't have downvoted you because it's a fair point.

It's a bad idea for developers to QA their own code for a number of reasons. 1) Developers have cognitive blinders, like everyone else. They might not test for something that they is unlikely 2) Some errors can be impractical to catch outside of top level integration testing (getting into unexpected states in state machines or race conditions) 3) There is a conflict of interest between deadlines and meeting requirements.

I have seen companies reach 100+ developers using this approach, conclude it's unsustainable, and be forced to make exceptional efforts to build a QA team. I believe reason 3 is the biggest risk.

Eek. I believe in TDD, but a QA team adds a whole other layer of checks, that you cannot automate. Especially, when developing any kind of UI, there is no substitute for a grumpy QA with a detailed test plan.
Developers by definition are not QA. And TDD and paring is very poor substitution for the proper QA.