Some of the most prominent players in the tech industry, such as Meta, Apple, Amazon, Netflix, and Google (MAANG), have taken a unique approach to software testing. They have ditched the conventional route of having a separate QA department, instead relying on the expertise of their developers and IT staff to identify and resolve any issues. This unconventional approach has proven successful for MAANG companies, allowing them to fill the gap and optimize software quality using existing resources. In this article, we’ll dive into why these companies need QA departments and how they organize the testing processes.
When it comes to linear, clear-cut environments, QA specialists have it easier since the specialists just have to follow a set of rules and compare plans to results. But step into the realm of tech giants’ complex IT environments, and everything changes.
In complex IT environments, there is no definitive result or roadmap to guide you. You must navigate an ever-changing market where no success standard exists. In fact, the core values of Agile, which are the most effective in complex environments, do not align with standard test criteria. The rules take a back seat to the reaction to changes, and QA specialists must be adept at pivoting and adjusting their approach at a moment’s notice.
The authors of the “How Google Tests Software” book make a bold statement – feature developers possess every skill they need to deliver quality value independently, rendering the archaic notion of Software Engineering Testing obsolete.
The same principle applies to most Agile-based service companies. But how does this translate to real-life practice? Instead of Agile QA testing, the Cynefin framework suggests a constant flow of value and feedback for non-linear tasks.
To achieve this, a central figure is needed, someone who can take on both the responsibility of delivering value and gathering feedback. This role falls on the developer’s shoulders. However, when the developer starts sharing responsibilities with the QA team, they risk losing focus on their primary objectives.
Rather than relying on guesswork or theory, the tech giant conducted multiple experiments, testing different schemes with and without a QA team. After, they removed testing from non-linear tasks, relying instead on other programming techniques like pair programming, test-driven development, continuous integration, and refactoring.
But that’s not all. Google’s approach to product quality goes beyond mere experimentation. They believe you must use all types of feedback to create a truly exceptional product. This involves developers prioritizing value over code, testing the code themselves, and focusing on receiving feedback as quickly as possible using logging and dashboards.
Now it’s a tried-and-tested way to avoid massive failures and ensure their products are of the highest quality. At Google, innovation isn’t just about making products – it’s about creating products that stand out.
If you’re using specific hardware parts that don’t have software emulation – think rare controllers from second-tier manufacturers – hiring a QA Engineer is not just a smart move, it’s essential. With their expert knowledge and experience, they can pinpoint system bugs on these rare devices while the developer focuses on delivering value;
When it comes to testing, having an ordinary “bug catcher” on your team is not enough. You need a visionary QA manager who can think big picture and build testing processes that align with your company’s global goals.
This manager will be the mastermind behind your testing strategy, defining testing zones and certifying teams for quality. They’ll develop and implement test design standards that ensure your product is performing at its best and adjust collection processes to get the most valuable feedback from users;
A lot of testing processes are required by strict regulations and safety measures, for example, in the banking world. QA Engineers within these companies do not aim to deliver value but to detect vulnerabilities and weave automated tests into systems.
In conclusion, while some of the biggest tech companies have successfully adopted an unconventional approach to software testing, there are still situations where QA specialists are necessary. However, for companies with complex IT environments, relying on the expertise of developers and IT staff may be a viable solution for optimizing software quality. The key is finding a delicate balance that allows for both value delivery and gathering feedback, ultimately leading to the creation of exceptional products.
AINSYS integration framework syncs data between every tool and platform your IT team employs, helping your IT departments get an accurate picture of your software and properly test its every feature. By implementing AINSYS tools, any IT specialist can ensure they make the right decisions for your organization and keep up with the ever-changing technology landscape.