Don’t Outsource QA; Internalize It

Getting cold-outreach email from people can be quite illuminating: Given that I'm talking about building the right things the right way, it appears I'm a natural target for companies that offer to outsource the quality assurance (QA) process, either to their offshore team or their fancy QA agent.

What they miss is that the "traditional" workflow of QA as a final gate is deeply flawed. As the wise Dr. Edwards Deming said:

Quality can not be inspected into a product or service; it must be built into it

In the right context, this is trivially obvious: You can't make a delicious meal if you start with rotten ingredients. You can't ship a defect-free car if you allow things to break along the assembly line. In all these cases, adding a quality checker at the end step (to taste each plate as it leaves the restaurant kitchen...) can prevent you from shipping something broken, but it does nothing to produce something shippable.

So how do you build quality into your product? By pulling the quality gates much earlier into the process, at much smaller steps. That's why a good chef buys fresh ingredients from trusted suppliers, checks everything before using it and tastes along the way. That's why Toyota's factories allow every worker along the assembly line to stop the line when a defect is detected. And in software, that's why you run work in the smallest possible batches, with all the quality gates (automated tests and code quality analysis) running constantly in the background, rather than as a big bang at the end.

It's so much easier to correct small mistakes early on than letting them pile up and having the whole thing sent back, and if that's all in place, you don't need to outsource your quality assurance. Instead, you'll have internalized it.

Next
Next

How Do You Run Out of Tokens so Fast?