Moore's Law, that the number of transistors on a single chip will double every two years, is one of the most influential technology axioms of the past 40 years. The explosion of computing power and its corresponding precipitous drop in cost have fundamentally changed our society and economy. Everything from coffee makers to refrigerators to automobiles is better, cheaper, and more feature-rich due to the electronics that control them.
What Moore's Law doesn't address is the software needed to control all those electronics. A reasonable corollary to Moore's Law is that the number of lines of computer source code in a typical product will double every two years. This is daunting for those who know software's dirty little secret: Software quality has improved little over the past 30 years. In other words, the number of defects (bugs) per thousand lines of software code has changed little over time. In his book Code Complete, coding and software development expert Steve McConnell states that there are anywhere from 20 to 30 defects per thousand lines of software code, a number that has remained pretty much the same over the past 15 years. Unless we improve the fundamental quality of software development, the number of electronics-related defects in a typical product could double every two years.
Toyota's (TM) recent response to claims of unintended acceleration in its vehicles illustrates the potential pitfalls of today's technologically complex automobiles. Until its recent troubles, Toyota was the poster child for quality, having pioneered the use of kaizen principles of continuous improvement. Toyota embraced the teachings of quality guru Dr. W. Edwards Deming and instilled a collaborative culture of "see something, say something, and do something." It was one of the first companies to understand that quality did not stop at its corporate boundaries: Designs are shared across the supply chain, and everyone involved is encouraged to collaborate. With more eyes carefully examining all processes, inefficiencies in process and product defects are identified and eliminated quickly.
Exponential Increase in Glitches?
Software development, however, is still largely stuck in a 1970s pre-kaizen mode, where the human-readable instructions are accessible only to those who write the code. This protects the intellectual property of the software developer, but it also limits the abilities of others in the value chain to "see something, say something, and do something" to correct flaws.
Given that a typical luxury car can have more than 100 million lines of software code running everything from navigation systems to climate control to acceleration and braking systems, this is clearly more than an academic issue. According to a 2008 report from research firm Frost & Sullivan, the number of lines of code in each individual car will likely rise to the 300 million mark over the next few years. If ways to reduce the defect rate of software are not identified, the benefits of Moore's Law will be overwhelmed by the exponential growth of software quality problems.
Toyota acknowledged that a software glitch was to blame for braking problems in 2010 Prius vehicles, and the company changed its braking system software in January to address the problem. The lack of visibility into the software in its cars stands in stark contrast to the openness of its management and manufacturing processes. The software hidden in Toyota's black boxes is the equivalent to having a car with its hood welded shut. Deming taught the benefits and values of breaking down barriers, fostering collaboration, and openness to change. But proprietary software defeats all those concepts. It begs the customer to trust a software secret as more valuable and important than all the other principles of quality management.
Software's Disruptive Force
The software development equivalent of kaizen, of course, is open-source software. As the chief executive of Red Hat, the world's leading provider of open-source technology solutions, you can color me biased, but open source represents the most significant change and most disruptive force in software development in 20 years. In the open-source software model, the human-readable source code is distributed along with the computer-readable machine code. Users are encouraged to understand the code, find flaws, suggest fixes, and add functionality. As with kaizen manufacturing principles, open source encourages participation and continuous improvement. It can shrink defects to a negligible number. Since 2006, the Coverity Scan Open Source Report has analyzed more than 60 million unique lines of code from more than 280 popular open-source projects, including Firefox, Linux, and PHP. In 2009, states the report, open source code had roughly one defect per 4,000 lines of code, a marked contrast with the stats for proprietary code.
Open source is about leveraging the power of participation to solve complex problems such as manufacturing, health care, and government. This advantage is why numerous 21st century successes—from Google (GOOG) to Facebook to Wikipedia—are all based on open-source software and principles. It may also be how Toyota can improve its vehicles and ultimately regain consumer trust.