Here at United Virtualities, we pride ourselves on not working in a bubble — an easy trap for any focused team to fall into — but by engaging with those around us. As part of that, we regularly have calls with other teams and agencies around us. And more often than not, we get insight from talking to them.
On a recent call with Tim Biddiscombe from Purple Square Consulting, Tim made a few good insights and his most important one, and my favorite one, is worth repeating:
“Quality control is perhaps the most underrated part of the software development process.”
Biddiscombe’s words resonate here at UV — to the point where we were inspired to write this article about him and his team!
Truer words have not been spoken, at least in the last few days. Our prioritization of good quality control is one reason why we’ve even profiled the Director of QA of our Mexican office, Nadia Garcia, on our site.
Stepping back, there are a few reasons why QA is so important, and why we give it a seat at the head of the table.
The first reason is that attention to the fine and subtle details is what separates the “mediocre” of anything from the “great” of anything.
Anyone can smack together a website that looks good with a buy button. Well, almost anyone. But now: Can you make sure this works on a Samsung 6, in dark mode, and a slow internet connection? Oops — the developers, with their iPhones, lightning fast connection and daytime work hours forgot to test that particular configuration. But it is the system of working under the surprising, unexpected connections that separate the weak from the strong. And QA is precisely the team tasked with remembering these situations.
A second reason why QA is important is due to our core democratic values: we want to make sure that our work is accessible to everyone in the target, regardless of their platform. That’s good business. But it’s not just that: we’re proud of what we create and even want people with less common devices to be able to see our work.
A third reason is that, while I personally have known one software developer too many with a superhero complex, it turns out, software developers are, indeed, really human. And as such, there will be edge cases, use cases and situations that they do indeed miss. Show me a software developer who hasn’t forgotten about an edge case, and I’ll have a bridge that I’ll sell you for one dollar. No, fifty cents.
A fourth reason why QA is deeply important is perhaps the least obvious: it’s the edge cases that reveal the problems in the center of the heart.
Let me explain. If you have a group of people sitting around, all of whom think identically, when they all discuss, say, politics — no problem, they all think identically so everyone agrees. And thus they can never come closer to figuring out what is really happening underneath the political surface. But when there is one guy who tests their political convictions by exposing the edge cases to their beliefs, then that is the way the flaws and the problems with their beliefs are exposed. A group of guys who are convinced that people with green hair have cooties will never have their minds changed; but one person exposing the edge case — “Hey, what about someone whose hair was green but then dyed it purple” — may bring them closer to realizing that green hair-ness isn’t necessarily tied to cooty-ness.
This is the precise reason why all in-groups don’t punish the out-groups nearly as much as the heretics — members of the in-group who left. The people in a group who stretch it to the boundaries expose the core problems with it. If you’re a religion, those people are the heretics. But the software developers, much like the heretic-like team members, who constantly discover and point out to you the problems with what you’re building, are the deeply important ones whom you should thank. And that’s precisely the role of QA.