Skip to main content

The Future of Quality Assurance: Why the QA Role Isn't Going Anywhere

article
|
software developer coding on multiple screens
Summary

Although AI and Agile have disrupted traditional QA teams, the role of ensuring quality remains essential. While formal QA teams may no longer be common, the core work of testing, measuring, and assuring software quality is more critical than ever and is increasingly a shared responsibility.

We have all read many articles on how AI is going to take over our jobs in technology. We know that ChatGPT is fairly good at writing a cover letter, a poem, a children’s book, and most likely generating a college term paper or essay. It can also interact with a customer in real-time to answer questions and provide support. Software developers are getting nervous when they hear how simple it is to auto-generate snippets of code that actually work. There is no question that this technology is disruptive. If not replacing humans in their current job, it will certainly assist and supplement some of their duties.

This is not new. For decades, we have heard that the job/role of Quality Assurance (QA) engineer is going away. Reasons being that it is too costly, too slow, and unnecessary. But I argue that although the concept of a traditional QA team structure may no longer exist, the role of QA will always exist.

Just like AI is now disruptive to how we work in technology, there have been many disruptions to QA along the way - and we adapt. How it impacts QA career paths and personal growth is up to us.

If we look at the changes in software development and testing over time, we can see why QA is necessary. Quality Assurance is process oriented. It asks the question “Are you doing the right things, the right way?” It is not Quality Control that asks the question “Have you verified results of what you’ve done and are they what you expected?” 

First Takeaway:

Defined QA teams are not necessary for achieving quality results.

If you want a good history of programming, search Robert C. “Uncle Bob” Martin and his video title “The Future of Programming.” It is insightful and entertaining. He is also one of the many co-authors of the Agile Manifesto. To sum it up for you, the gist of his video is that long ago, there were no formal Computer Science degrees. Companies moved smart people (e.g., mathematicians, scientists, and engineers) into these computer and programming roles. The greatest trait of a successful person in this role was someone who was disciplined. Thus was born the waterfall model in 1970. This model focused on a logical progression of steps, as in the cascading of a waterfall, and it made sense given the discipline of this cohort.

The waterfall model led to assigning roles to these lifecycle phases:

    waterfall model lifecycle phases

And this led to a certain team structure:

    team structure silos

By the mid-1990s, the older generation of “disciplined cohorts” retired and the new guard flooded in – millions of young developers with CS degrees. Although energetic, this group tended to be less confined and disciplined, but waterfall remained as the de facto model.

By the early-2010s, and after the Internet boom, things started to fall apart. Fierce competition, cost cutting, and layoffs, the technology industry started to see less value in QA teams. First, it was an easy cost cutting measure. Second, most technology companies had started the move to the Agile model - that is, move faster, build and deploy smaller increments of code at a time, deploy features, and get feedback quickly. 

Just like AI today, the impact of Agile and a move to DevOps greatly impacted teams. DevOps is the set of practices that combines Software Development and Operations in an attempt to shorten the lifecycle while maintaining quality, and it further broke down the team structure of silos. It came down to what roles needed to be performed and who actually took on those roles became fuzzy. This shift to a roles approach also led the way to more emphasis on cross-team collaboration.

For example, a developer may code one day and test someone else’s code the next day (alternating duties).  A DevOps person might lead a standup or other Agile ceremony. A Subject Matter Expert (SME) might perform User Acceptance Testing (UAT).

By the late-2010s, it was not uncommon to have no QA team in existence within a development organization. However, don’t be fooled. Software testing existed, it just meant that the developers took on that role.

Second Takeaway:

Even if there is no QA team, the role still exists. Software needs to be tested, measured and assessed for quality.

With developers taking on more testing responsibilities, it is logical that there was an advancement in automated testing. The skillset of coding leads to more technical approaches to testing via code and frameworks.

Third Takeaway:

Fully expect any QA strategy to embrace automation as a key component. Pure manual testing is not enough. AI will enhance and facilitate your efforts.

Yet, we continue to read articles of how QA is not necessary as a job or position. Here are just some of the comments across the Internet:

  • Automation is faster than humans.    
  • Automation is more consistent than humans.    
  • Some companies look at betas to test products and just release versions quickly.    
  • Automation can replace the generic, mundane, repetitive tests…basically to check a function or feature.    
  • Automation can be done by developers…it is really up to the business.    
  • Machine Learning (ML) and AI can take over all testing.    
  • Humans can be leveraged in areas other than testing… analysts, designers/architects, trainers, writing documentation, becoming SMEs, leading projects, management.    

By the early-2020s, with Agile as king, teams became fluid. The question asked was “Does the QA team exist anymore?” In reality, probably not. But the role of QA certainly does exist and may be even more important than ever. As such, don’t think of a QA career path as just being a tester, but as an ever expanding and critical role across the organization because the need is everywhere.

Final thought. In Context Driven Testing, developed by Cem Kaner, James Bach, and Bret Pettichord, there are 7 Principles. Principle number 7 says:

Only through judgment and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products.

In the end, don’t think of QA as a position on a team. Think about QA as people focused on doing the right things!

About The Author

Jon has over 25 years of experience in software engineering, managing and leading both development and testing teams. He has worked for large, billion dollar companies, as well as consulted with start-ups as they build out their technology stacks from scratch. Regardless of his title or role, his passion has always been focused on quality. After years building out the Tech stack for his current company and forming a QA team (after lots of persuasion), he is now more focused on using the latest technologies to automate testing, further CI/CD improvements, and harder the systems in the area of security. When not at work, Jon is spending time with his family and watching sports.

Community Sponsor

Lets Hang!

User Comments

0 comments

English