Listen to the latest articles and insights from our experts.
Listen to the latest articles and insights from our experts.
The Risks are Suddenly Quite Clear
Tens of thousands of flights canceled, their passengers stranded. Customers unable to access funds locked away in their bank accounts. Television networks knocked off the air. Hospitals brought to a standstill with patients on the operating tables.
The recent CrowdStrike deployment that resulted in a global system meltdown realized many of the worst fears of the Y2K pandemonium, as the largest IT crash in history left some 8.5 million Windows machines glowing with the dreaded blue screen of death. It was a result of a faulty patch pushed by the cybersecurity firm CrowdStrike to millions of users of its popular Falcon Sensor application (reportedly used by a whopping 298 of Fortune 500 companies). It should serve as a stark reminder of the importance of quality engineering, one of the more underrated disciplines of product development.
Developing a Quality Mindset
Too often the phrase “Quality Mindset” is thrown around without the dedicated focus to implement and champion it within an organization. A Quality Mindset means that at every stage of the Software Development Life Cycle engineers must consider how an application will be implemented by end users. By doing so, they can incorporate the widest possible range of realistic scenarios into their Quality Assurance testing.
The way to ensure this is to involve Quality Engineers in conversations with product owners, architects, users, and business stakeholders from the very beginning. This helps them understand the complete implementation picture (beyond just the end user stories), including details around infrastructure, Operating Systems, browsers, and overall system architecture. This in turn allows them to design and implement a holistic Quality Assurance plan.
Reducing Risk, Maximizing Reward
These same Quality Engineers can even devise unique solutions to complex scenarios that might otherwise exceed the capabilities of shift-left testing. For example, a Generative AI-based application might not yield the same actual-vs-expected results for the same query, thanks to continuous fine-tuning. (That is, the same prompt might yield different responses when asked weeks or even days apart, because the GenAI model is constantly learning how to interpret and respond to queries.) Only by taking a comprehensive look at the underlying applications can the Quality Engineers customize the appropriate testing tools and protocols.
None of this is to say that this is an easy process, especially with constant looming deadlines and go-to-market pressures. Not releasing a timely update can pose major problems (especially when it comes to areas like cybersecurity, a la CrowdStrike), but having to roll back problematic releases can be a nightmarish process that introduces its own set of problems as well.
In the end, the best practice is for product development teams to never underestimate the seriousness of every release, whether in a small application or a major, mission-critical product, and to take seriously the bugs uncovered in the testing process. Even the minor ones.
Bhagya Lakshmi Kadabur is a Senior Engineering Leader specializing in Quality Engineering at Tricon Infotech.