Allegion SVP and chief information and digital officer, responsible for IT and security, data and analytics, and digital programs globally.
According to McKinsey, over half of the 20 million software engineers across the globe are working outside of the technology industry today—and that number is growing. Our organization is no exception: As a tech-enabled manufacturing company, we are not a native software company, but our software development needs continue to evolve as we innovate to meet and exceed the needs of our customers.
Successful enterprises need to continue to evolve their software development capabilities—and do so skillfully. The McKinsey article on software developers linked above notes: “With technology powering everything from how a business runs to the products and services it sells, companies in industries ranging from retail to manufacturing to banking are having to develop a range of new skill sets and capabilities. In addition to mastering the nuances of their industry, they need to excel first and foremost at developing software.”
For our organization, this meant rethinking the way we perceived quality. Historically, quality assurance (QA) was a milestone toward the end of the software development cycle—an item to check off the list and ensure all requirements were met. Today, we have evolved for the better and have adopted the mindset of quality engineering (QE).
What is quality engineering?
QE is a shift in mindset from a model where testing is performed at the end of development to one where quality is built into every aspect of the software development life cycle (SDLC), with an emphasis placed first on the prevention of quality issues, and then on early identification and remediation.
The evolution toward a QE organization is both a cultural and strategic change. It is critical that software teams are equipped with the tools and practices that enable them to deliver, and those tactical needs are driven by the culture of quality fostered by a QE mindset. At my company, this started with accepting that quality is a broad concept with important implications and clearly documenting our definition of quality to align our efforts on the same north star.
What’s the benefit?
A heightened focus on quality benefits all stakeholders of the software that is ultimately developed. Better quality is going to produce a superior product, giving customers greater satisfaction and trust in your software. Your brand reputation will prosper from a high-quality product. Organizations also benefit from lower development and operational costs, faster cycle times (allowing customers to get hands-on features sooner) and decreased product downtime.
Even the software developers benefit from an increase in quality; automation built into the development process by QE removes some of the mundane tasks from their day-to-day work, allowing them to work faster and giving them more time to focus on innovation. Last but certainly not least, as the product owners focus on quality from the time of conception, they can go into the project with a better understanding of the requirements and metrics that are needed to be successful, allowing them to budget more effectively and see an increase in ROI.
Who is responsible for quality?
In the QE model, the responsibility for quality is shared among the entire software development organization, not just the test engineers. Each team member is held accountable for the organization’s quality objectives and empowered to identify and fix quality issues in real time.
Additionally, my enterprise has identified a set of core functions and capabilities, including engineering effectiveness, quality assurance, test automation, DevSecOps, tools and frameworks and infrastructure engineering. These capabilities operate within teams to evaluate and select tools and frameworks, implement standards and controls and track metrics that support quality delivery.
Under the QE model, leadership also plays a critical role in the overall culture of quality as teams focus on the priorities of the company. It is essential that leaders emphasize and demonstrate quality behaviors in the conversations, decisions and investments that they make.
If asked, customers will tell you all about the new features they want in your product, yet they assume quality is a given foundational element. They have little patience for production bugs, unreliable performance or unexplained outages. If you are relying on a traditional model of software quality assurance, you are leaving the quality of your product to chance.
Poor quality is a major factor that would drive them to look at your competitors. As W. Edwards Deming, a pioneer in lean manufacturing, said: “Inspection does not improve the quality, nor guarantee quality. Inspection is too late. The quality, good or bad, is already in the product.” To truly meet your customers’ expectations, you must implement a quality engineering approach that ingrains quality at every point in your SDLC.