The Evolution of QA’s Role in Software Development

Tags

Quality Assurance professional pointing to a graph with pen

When I first started in the Quality Assurance field about 13 years ago, it was a very different climate than it is today. Quality Assurance (QA) was rather new and most companies were hesitant to add it to their IT departments. During one interview, I clearly remember being told that the engineers weren’t thrilled about adding QA to the team and that I would need to be persistent and aggressive in my role if I wanted to make it. This was pretty tough to hear as it was only the second QA position in my career.

At the time, QA was regarded to be more of a hindrance than an ally to the Software Development Process. The main reason IT Departments began to include QA was in response to client demands that their software be put through a true “testing” process before deployment.

Breaking Down the Silos

Before the Agile Process was introduced, most waterfall methodologies left QA in their own little silo. Our work was commonly referred to as “Throw it over the cubby wall”. This was not an effective means to produce a quality product. In this type of environment, QA was often left to test with no vision into what the client actually wanted, making User Acceptance Testing a prolonged process. Teams really needed to be more collaborative and immersive, working together on the development process.

The newly introduced Agile Methodology totally changed how the QA process worked, putting us into Agile “pods” where we were working with a team to deliver either a standalone product OR smaller pieces of a much larger software product. This dramatically changed how we tested, including creating a new type of “Exploratory Test” to ensure quick turn-around time on new features and enhancements. It also changed the dynamic between Quality Assurance Engineers and other team members, allowing them to see our value. Teams started to become more reliant on QA to ensure bug-free deployments.

Moving into the Spotlight

The Agile approach to Software Development has put QA right in the front seat to helping develop quality software. Quality Software Engineers are quickly becoming more involved and evolving from more than just a “Tester” role. We have input on the User Stories, Design of New Features, and Development Strategy for Sustaining the product. Our input is respected because we have become more of a “Quality Lead” or a “Quality Ambassador”.

Teams rely on QA for guidance on things like how to set up test environments, how to deploy new features to the test environments, how long it would take for a test cycle, etc. We are no longer hiding behind a wall testing in private, but quite literally testing in a virtual war room style where everyone is in on the action!

The Future of QA Engineering

The new QA Engineer will need to be more flexible, assertive, willing to take initiative, confident, organized, transparent, and most importantly willing to be out on the front lines.

Here at DockYard, we have completely embraced this new type of Quality Assurance Engineer and encourage it. We have leveraged QA capabilities to develop and support some really impressive progressive web applications. We’ve adopted the notion that Quality Assurance does not just rely on a single QA Engineer for quality, but includes the entire team with QA leading the charge. In conjunction with Agile methodology, Automation is quickly becoming the most popular method of testing. DockYard QA Engineers use automated tests to augment their manual testing, not replace it.

Automating some tests help move things quicker through the pipeline, keeping up with a teams’ velocity and freeing up time to be spent on more of the leadership responsibilities that have become more a part of a Quality Engineer’s role. Our Engineers also use automated Unit Tests to help ensure quality, further confirming our pledge that the whole team is responsible for the quality of a product.

Quality Assurance will continue to be a vital part of any Software Development Process, so the role will never be obsolete but will continue to evolve and change. DockYard is up for the new challenges coming ahead, are you? Reach out to see how we can help QA your next project.

DockYard is a digital product consultancy specializing in user-centered web application design and development. Our collaborative team of product strategists help clients to better understand the people they serve. We use future-forward technology and design thinking to transform those insights into impactful, inclusive, and reliable web experiences. DockYard provides professional services in strategy, user experience, design, and full-stack engineering using Ember.js, React.js, Ruby, and Elixir. From ideation to delivery, we empower ambitious product teams to build for the future.