For many years, companies, their management, and their management consultants worked on perfecting their product development life-cycles. One of the criteria was quality, and quality was assured through testing. In the time that I was working, first in manufacturing companies and later as a consultant to manufacturers, we continued to improve testing techniques. At some stage, as business continuity planning grew out the earlier disaster recovery planning, we linked product testing with business continuity assurance. In short, we developed a rule that no product would ever reach the market if it had a fixable, identifiable fault. There was a recognition by manufacturers that a problem with any product could lead to the withdrawal of that product and could invoke the business continuity plan to keep the maker in business.
I have noticed before that a good deal of the 'knowledge base' that we built between the 1970s and the 1990s seems to have either been lost or to have been appropriated by fads. Sometimes, when a fad - such as ISO 9000 - dies and is thrown out, the knowledge that it was based on gets thrown out with it.
While I have observed this happening in many manufacturing and service companies, it is a trend that has not been repeated in the mainstream software development industry. Indeed, I am impressed that new techniques of rapid testing have been developed. I can speculate that this happens in the following ways.
- Software development gets handed over. It is rare that someone comes on to a software development team without being mentored or at least having all the documentation available to them. So there is a continuity of product knowledge.
- Software development has become increasingly controlled by methods and methodologies. The software industry has developed its own tools - usually themselves software - to control and management the development and testing cycles.
- Software development is modular. From its earliest days, software was always modular: large programs were broken into modules that called each other. Today, the use of techniques such as 'containers' means that individual functions can be developed and tested on their own, before they are incorporated into the main software product. It goes further than that: these individual functions can be modified and enhanced and tested on their own, with a minimal need for their integration with the whole product to be re-tested comprehensively.
- Software development has 'version control' imposed on it. Each new version is only released to the market - or each new function is only included in its container - when it has undergone testing. The days of coders being able to say 'I've only changed a couple of lines' have gone. Change leads to testing.
We could expect that getting the Note7 to market was largely dependent on the hardware rather than the software. So Samsung should have employed the techniques of manufacturing that were established decades ago. If Samsung had still retained the processes and methodologies, it could have made a success of the Note7. Unfortunately, there were two factors that seem to have made it forget how to put a decent product in the marketplace.
First, and actually of less importance, despite what has been written recently by some commentators, there was Apple's iPhone 7 - and there is a space between the 'iPhone' and the '7'. Samsung became desperate to launch the Note7 before the iPhone 7.
Second, and much more relevant to the failure of the Note7, the board of Samsung Electronics has technologists, a banker, a professor of economics and a professor of business administration. Where are the marketing people? Call me biased but I do not regard economists and business administration professors as practical hands-on marketing experts. So Samsung had no one, apparently, who could have told it that going head-to-head at the launch of the iPhone 7 would not work. Did Samsung really imagine that it could tear devoted fans - who had purchased the iPhone 6, or at least the iPhone 5 - from their intention of buying the iPhone 7? Did it believe that consumers would buy the Note7 rather than wait for the iPhone 7, especially given that Apple does not reveal much about its products before they are available for purchase (or pre-purchase)?
As it turned out, the iPhone 7 was not a major leap forward. It remains underpowered, with technology issues of its own, and with a camera that has only just been brought up to the specs of its competitors. There are many things wrong with iOS 10 (with a space), not least its inability to integrate apps and to communicate widely. But Samsung could have waited. Once the consumers who were undecided about their next phone had seen the iPhone 7 and read the reviews, Samsung could have launched the Note7, and its timing would have made it more of a 'killer' in a market where it could gain ground.
And while they waited, they could have tested it.