Getting quality right has never been easy. In the good old days, the recipe for quality, at least, was clear: get your requirements right, get your plan right, get your process right, detect deviations early, find and eliminate the root-causes. By definition, good quality equaled to absence of bad quality.
Then came software, the internet, and mobile.
The daily life of Average Joe executes tens of millions of lines of software code. Software is embedded in home electronics, heavy industrial machinery, and almost any customer service process. While the lifetime of a physical product may be as long as tens of years, the software in the product may be updated almost on a daily basis.
“If a problem manifests itself to the user while using your product, it will be your problem – even if the problem was caused by something completely outside of your control.”
In many cases the products use the internet to communicate with each other, to upload information in the cloud, to collect and combine information from different sources. The functionality of the product is not in the product only. Moreover, the omnipresent mobile and wireless networks enable the product to connect to the internet whenever and wherever.
The designer of a product cannot know where and how the product will be used during its lifetime, what it will be connected to, and what purposes it is going to serve. The designer does not know what kind of software the product will be running at a later stage of its life. Likewise, the designer of the software cannot know what generations of the product will be running the software and for what purpose. The only thing they can be certain of is that any change in the product’s ecosystem may change the product’s functioning for better or for worse.
You cannot control quality anymore. Quality of your product will be reassessed in the market every day when people judge their user experience with the product. If a problem manifests itself to the user while using your product, it will be your problem – even if the problem was caused by something completely outside of your control. Usually the most valuable brand of the ecosystem carries the highest cost of bad quality.
What does this all mean? The amount of testing will continue growing, fast. Especially when it comes to external dependencies and integrations, you cannot properly assure quality by any other means than testing. But testing that everything works according to the specification is neither possible nor adequate anymore. There is no specification for how your smart health watch should work with the next model of Tesla, if at all. The “specification” is rewritten by the end-users every day. And when the “specification” changes you need to be fast in the market with a new software release.
“The daily life of Average Joe executes tens of millions of lines of software code.”
We need to re-imagine quality for the Digital Age. At least four key questions are seeking a good answer. How do you understand, in the middle of all the market noise, what is essential for success and how do you focus your efforts accordingly? How do you correlate your product performance and the user experience as fast as possible? How do you retest changes thoroughly enough without compromising time-to-market? And last, but most importantly, how do you measure and monetize good quality?
Original version published in LinkedIn.