Quality Assurance is a Practice

Exploring the importance and role of QA in software development
Presented By Roxanna Wong

English poet Alexander Pope, in the early 1700s famously said, “To err is human.” In all human-inspired fields, from poetry to software engineering and development, the human rears its head, in forms of great innovation, beautiful creativity and the odd blatant mistake.

Bursting Silver Inc., with 10+ years in business and 1000s of collective years of experience has explored a variety of techniques, processes, systems and methods to reduce and eliminate errors from occurring in our products and solutions. However, in our experience, the most important thing we can do is to ensure that someone else is looking at the work.

Case in point, it turns out that typos (when they aren’t reviewed by a 3rd party or second set of eyes) account for 40% of direct messaging mistakes. The experience is likely a familiar one, you type a message, review the text and hit send… only to spot the mistakes the moment it’s too late to do anything about them. Psychologist Tom Stafford, who studies mistakes, explains the problem in a Wired article:

When we’re proof reading our own work, we know the meaning we want to convey. Because we expect that meaning to be there, it’s easier for us to miss when parts (or all) of it are absent. The reason we don’t see our own typos is because what we see on the screen is competing with the version that exists in our heads.

Basically, our brain tells us what we think we’re saying, and our eyes are primed to confirm that what’s on the screen matches what’s in our head. Small differences — like a close word substitution or a missing not — get filtered out by our perception before we can even catch them. (source: https://medium.com/@OnSecondThought_27622/the-psychology-of-typos-985d5a391853)

One of the best ways to reduce errors is quite simple – let other people review your work. However, if that’s the case, why do we hesitate to do this? Well, quite simply, we are naturally programmed to avoid mistakes, and getting “caught” or having someone tell you that you’ve missed something doesn’t feel great. We’re addicted to perfection, particularly in western competitive cultures, and we’ll often do whatever it takes to avoid that painful interaction.

However, some development teams have re-framed their thinking and have adapted their cultures to produce fewer mistakes. These teams have created a positive interaction between developers and their QA counterparts. Here are some of our suggestions:

  1. Remove the “opposing sides” mentality when it comes to producing excellent work. Assign “development duos” where developers and QA teams work in concert, together, towards shared objectives.

  2. Demonstrate that it’s OK to admit to mistakes and celebrate the successes that come from collaboration. Find ways to incentivize the duos, everyone should win when a quality product is launched

  3. Stop aiming for perfection (it doesn’t exist in a world constrained by time, money and resources), and instead – seek ways to encourage finding the most important, risky and common issues – the ones that are mission critical

  4. Develop an agile approach to project management, engaging in frequent tests, checks and balances to catch “bugs” and issues during the development cycle (small things early on in the process can eventually make a big difference) https://deepsource.io/blog/exponential-cost-of-fixing-bugs/

    I can’t remember who coined the term, “culture eats strategy for breakfast” – but I can say that at the time I thought it was an oversimplification. However, I’ve also read that culture takes practice. Regardless, I continue to realize the importance of these seemingly simple, basic practices towards that ever-elusive – but very human – pursuit of perfection