“Why aren’t your consultants testing their own work? Why do I have to pay for QA?”
A person who is good at designing solutions and developing functionalities is good at BUILDING things.
A person who is good at checking breakpoints, testing hand-off points, identifying non-standard processes, is good at BREAKING things.
In my opinion, the top two reasons are:
1. “It’s my baby!”
Many have an affection to their ‘baby’, their configuration and code, their technical solution to the business requirement.
A QA, on the other hand, is primed to figure out why something won’t work. And be totally objective about it.
2. Micro vs Macro
Simplifying complex requirements is something that a developer does – e.g. make a button do stuff that does other things that triggers some other stuff.
QA will need to know the use case of what precedes the chain that that button sits within, and the parameters of acceptable use for requirement.
It’s not easy to find someone who is creative, but objective, and has an eye for both the details and the big picture.
That is why all software teams need both roles to delivery a quality project.
Those who think they can ‘save’ money by cutting QA out, because “the guys should be able to test their own stuff properly”, will find that the cost of these decisions are a lot higher downstream.
If you do find a software consultant or developer who can do both well, hire them immediately.
And shower them with 💓 because these awesome beings will reap rewards for you and your team in so many ways.
So many ways.