Today's Role of the Software Quality Engineer
There is no doubt that today’s products are heavily dependent on software and embedded applications. Whether you are in healthcare, aerospace, automotive or any number of other industries, software is essential in delivering and determining a customer’s experience. Consumers expect products to have interactivity, selective workflow, and dynamic engagement, while ensuring safety and effectiveness. These demands have become more and more challenging for designers and developers.
According to Vigor Yang, chair of the School of Aerospace Engineering at Georgia Institute of Technology in Atlanta, in calculating the cost of a Boeing 787 airplane, 50 percent represents hardware, 50 percent is attributed to navigation, guidance, and control—and of that, 50 percent represents software.
In the healthcare industry, mobile app development is considered one of the fastest growing industries at approximately 32 percent growth annually. There are more than 259,000 mobile health apps and more than 59,000 health app publishers worldwide. In fact, industry observers project the global mHealth app market will reach $26 billion in revenue by the end of 2017.
Ensuring the safety of these medical technologies has become more and more challenging for regulatory agencies, such as the Food and Drug Administration (FDA), who are constantly faced with resource and federal budget constraints. The need to adopt better tools and technologies, to stay ahead of potential issues and effectively identify and target high-risk products, is now greater than ever. In the last few years, the FDA has expanded cooperation and built alliances with its international counterparts to push for stronger global standards and harmonization.
Integrating risk management, usability, and human factors into the development strategy has become essential in establishing the SQE’s development strategy and vision of quality assurance
So what role does the software quality engineers (SQEs) play in ensuring our life-sustaining and life-enhancing products meet quality standards and expectations for today and into the future? How do SQEs manage the design development and field feedback processes, to ensure safety, effectiveness, compliance and quality expectations are met?
SQEs are gate keepers, mentors, consultants, and influencers. With the ever-changing landscape and increasing demands on software quality engineering, the challenge is measuring success in ensuring products are consistently safe and effective.
Quality recalls associated with software glitches have become more commonplace. In 2014, the Abacus Total Parenteral Nutrition Calculation software was recalled by the FDA due to a potential risk for toxic or overdose symptoms. More recently, Covidien’s Nellcor Puritan Bennett 980 Ventilator System was issued a safety alert due to a software issue that could cause the ventilator to stop working when the air and oxygen supply lines were disconnected and reconnected.
While these may represent software-driven root causes, we have started to see a pattern of typical failure modes, with many of these recalls stemming from “use error” associated with design. Based on research from Dolores R. Wallace and D. Richard Kuhn, Failure Modes in Medical Device Software: An Analysis of 15 Years of Recall Data, software failures associated with “use error” have been attributed to poor design in human factors and usability.
Integrating risk management, usability, and human factors into the development strategy has become essential in establishing the SQE’s development strategy and vision of quality assurance.
‘Human Factors’ is the discipline that tries to establish a relationship between technology and the human. They deal with the human behavior, abilities, limitations to the use of software, tools, and other jobs to make their use easier (Human Computer Interaction—HCI). ‘Human Factors’ takes into consideration the “dialogue” between the user of a device and the device itself. The device communicates to the person with its physical shape and feel; labeling including symbols and words; characteristics of parts that connect to other devices or a person; and environment can affect this dialog in the way that background noise makes hearing difficult—such as listening to an alarm. An internal FDA study showed that 44 percent of medical device recalls were the result of design problems and more than a third involved the device-user interface.
Usability is a set of characteristics relating to the effort needed for use and on the individual assessment of such use, by a stated or implied set of users. The five characteristics of usability are; understandability, learnability, operability, attractiveness, and compliance to application-related standards, conventions, regulations in law, and protocols.
Lastly, the SQE must understand the risks of the application of the software, such as flight safety, accident avoidance, health diagnosis or treatment. The level of risk should determine the level of software integrity required. High levels of integrity are required for high risks. Lower levels of integrity might be acceptable for low risks. Overall, the integrity of software could be equated to its dependability, utility and safety.
While it may seem obvious to avoid safety issues and recalls, we still need to ensure commercialization. As SQEs, if we are able to build a better product by leveraging established standards, tools and techniques, we should expect higher user satisfaction, lower user fatigue, lower training time and costs, lower product liability, lower operator stress, and greater system performance.
For an SQE who is able to effectively facilitate and integrate a strategy of risk management, human factors, and usability into the design process, this creates tremendous value to any organization, enabling time-to-market and faster customer adoption of products.