Based in Sydney, Australia, Foundry is a blog by Rebecca Thao. Her posts explore modern architecture through photos and quotes by influential architects, engineers, and artists.

Don’t Skimp on QA

Don’t Skimp on QA

The important process missing from most agile sprints.

In software development, quality is key, but the way we check for it has definitely changed over the past decade with the adoption of Agile development. A 2016 survey of developers and IT personnel found Agile is the preferred development style for two-thirds of companies. With this change came a shift towards cross-functional, self-organizing teams, marking traditional, dedicated quality assurance teams as a thing of the past.

With a goal of integrating QA in a more organic way into each step in the build process, Agile teams often essentially leave quality control up to the developers creating the software. Here at Buoy, we followed this pattern too, until working with a client who had their own dedicated QA team made us rethink our approach.

The Value of Dedicated QA

Like product management, development, or design, QA is a necessary part of any team. Great programmers aren’t automatically great testers, and QA is a proxy for the end user. A fresh set of eyes can be much more effective than your development team at catching bugs before they make it into production.

Rather than just an outgrowth of the implementation step, QA is a specialized skill that involves multiple different frameworks.

1. Quality Control – Quality control pushes data through the software and keeps an eye out for any discrepancies. Those responsible for quality control ensure that all features work properly, and can even spot simple typos or grammatical errors within the platform. This extra polishing goes a long way in creating a bug-free final product.

2. Stress Testing – Stress testers focus on breaking the system by attacking it from every angle. While the software may work under perfect conditions, their job is to find any scenario in which it will stop working. This is important because, in the real world, customers won’t always use the software exactly as intended.

3. DevOps – QA isn’t just a one-and-done process. Continuous testing is important to ensure software remains functional. This includes acceptance testing any time business requirements change and compatibility testing whenever new software is introduced into the ecosystem.

kevin-364843.jpg

 

How to Staff Up Your QA Operation

When staffing up your QA team, be aware of their role as a crucial interface between development and business units. The QA team acts as a buffer by looking at software anew without the contextual knowledge the developers have. However, they still perform a deep dive into the software in ways a typical end user can’t. And they’re able to negotiate time away from development for bug fixes.

As such, when searching for QA analysts, look for people with experience establishing scalable testing procedures, reporting usability problems as bugs, and managing expectations across multiple business units.

If staffing up a dedicated QA team is proving difficult, automated solutions like Rainforest QA can make things easier.

Regardless of which direction you choose, QA simply can’t be ignored. Dedicating resources to it up front ensures your hard work creates a bug-free, workable solution in the production environment. It’ll increase brand satisfaction and raise your profile as a company that only releases quality products.

Leveraging AI With MS Bot Framework

Leveraging AI With MS Bot Framework

Only Make Promises You Can Keep

Only Make Promises You Can Keep