Watts Humphrey: He Wrote The Book On Debugging (extended)
Outside of the software world, few know of Watts S. Humphrey. But within, he's a bit of a rock star, known as the "father of software quality." Now a fellow of Carnegie Mellon University's Software Engineering Institute, Humphrey developed the SEI Capability Maturity Model (CMM), which helps developers produce error-free software code efficiently and on schedule. Instead of one error in every 10 lines of code, which made software development expensive and lengthy, CMM-certified companies now make one error in every 1,000 lines of code.
CMM is the software world's Six Sigma, and over the years it has helped both government entities, including the Defense Dept., and such private players as Microsoft (MSFT ) and IBM (IBM ) reduce errors and save time and money. But its greatest impact has probably been on India. Thanks to widespread, early adoption of CMM in the late 1990s, the then-unknown Indian software industry earned the reputation for error-free coding that became its calling card to technological success. Indians affectionately call Humphrey their "software coach."
In February, Humphrey's contribution to software was acknowledged when President Bush presented him with the National Medal of Technology, the highest honor for innovators in America. Humphrey isn't done innovating, however. He has taken his quality standard further, developing the Team Software Process (TSP) and the Personal Software Process (PSP), which further refine code writing so that there are just 60 errors in a million lines of code -- down from 20,000 per million.
And TSP teams cut the time taken to test code after it's written, resulting in an average production gain per project of 68%, according to Humphrey. TSP also helps make software more secure -- an increasing concern among customers and regulators.
Humphrey, a sprightly 77 -- he runs three miles every morning -- is a graduate of the University of Chicago, with master's degrees in physics and business administration. He developed an abiding passion for quality while at IBM, where he worked for 27 years starting in 1963.
Humphrey was in India in March to explain his newest standards, but it wasn't only Indian companies looking to learn from him. He spent the most time at Microsoft's development center in Hyderabad, and at Texas Instruments' (TXN ) R&D center in Bangalore. Humphrey spoke to BusinessWeek India Bureau Chief Manjeet Kripalani in Bangalore. Edited excerpts of their conversation follow:
Q: What do Team Software Process and Personal Software Process do that your old one, the Capability Maturity Model, does not? A:
Q: What do Team Software Process and Personal Software Process do that your old one, the Capability Maturity Model, does not?
A:TSP is about new practices and team concepts. It's the equivalent of a medical doctor having to sterilize his instruments and scrub his hands before surgery: If he didn't do that, he would probably kill the patient. That's what TSP is about: Even if no one likes it, they have to do it or have a crisis. TSP and PSP take CMM to the next level.
Q: Is this an industrywide effort or an individual company effort? A.
Q: Is this an industrywide effort or an individual company effort?
A.In the U.S., people proceed with these improvements only when they need to. When they're successful, they see no need to change. The Indian companies got a head start on CMM because they recognized early on that software was a key industry. Now, even though customers aren't asking for anything different, some U.S. companies are changing, like Microsoft and Texas Instruments.
At Microsoft, the chairman is behind it. They are wondering how they got into the mess they did with all their problems and having to fix it. Texas Instruments is putting more software into their megachips, it's shipping millions of lines of software, and it's a tremendous quality issue. They can't take a chance on the software on their chips used in say, automobiles. So they're changing even though they don't have to. It's a matter of survival.
Q: What about your early stars, the Indian companies? A:
Q: What about your early stars, the Indian companies?
A:More U.S. than Indian companies are using the new TSP system. I tell U.S. companies that India, China, Eastern Europe, and Brazil are after their jobs -- but a lot of them don't understand it, they're asleep. Same way, I tell the Indian companies the Chinese are after your jobs, they're getting CMM certifications, and my books on the TSP and PSP have been translated into Chinese already, officially. Bodies and low cost won't get work. To build a sustaining industry, you have to look at propriety products, a differentiator in quality.
Q: Why is it so necessary to get up to the next level, to TSP? A:
Q: Why is it so necessary to get up to the next level, to TSP?
A:Because now every business is a software business. It's pervading everything we do. Software makes all our technology useful. And software companies are getting penalized for error-ridden code.... Over 90% of vulnerabilities in software are the result of garden-variety defects in code.
Q: How do you feel about CMM's success? A:
Q: How do you feel about CMM's success?
A:Very glad. Under CMM, initially, everything that was written referenced my work. Now when I see articles about CMM, they almost never mention me. The latest book on CMM is by a lady in India. In the book, none of my early works are mentioned, and neither am I! To be truly successful, you have to get to that point that the technology survives without you. That's what I want with TSP and PSP.
Q: How did your commitment to quality begin? A:
Q: How did your commitment to quality begin?
A:When I was at IBM, the U.S. Air Force, a client, requested a way to evaluate bidders for software contracts and how to get the right contract. We applied a five-quality program that was run by the old ITT a number of years earlier. It worked, though it wasn't based on software. But then we came back to do an assessment after a year, and it hadn't actually worked.
I always wondered how the hardware guys could keep to schedules and the software guys couldn't. When I ran IBM software...we turned the organization around by delivering on schedule.
Then there was a personal experience. When I retired from IBM, my daughter persuaded me to go to a seminar on commitment. At the seminar, there was talk about making an "outrageous commitment," like stamping out world hunger. So I made an outrageous commitment that when I left IBM, I was going to change the way software was developed in the world. It certainly beats sitting on the beach.
Q: How was the model popularized? A:
Q: How was the model popularized?
A:At SEI, the Air Force asked again for a system to compare bidders.... Then the Defense Dept. used our processes. Among the private sector, companies like Boeing (BOE ), Schulmberger, and Motorola (MOT ) were early adopters.
Q: How did the Indian companies find their way to you? A:
Q: How did the Indian companies find their way to you?
A:Not sure. I was here in 1995 and had a bunch of meetings and gave a talk at a big conference in Delhi and Bangalore, the keynote on CMM and quality management. I met various CEOs and government guys. They thought it was worth pushing to get an edge. No one had really talked to them about it before. It was fun to go plant seeds.
So from 1995 on, they began coming. Ahead of that, Motorola's lab in Bangalore and the guy who ran it had a CMM background from the U.S. His goal was to start the lab in Bangalore as a Level 5 right away. The Indians saw it worked and hopped on.
Q: Has the outsourcing backlash had any impact? A:
Q: Has the outsourcing backlash had any impact?
A:I thought it would, but it had surprisingly little. People get nervous, but it doesn't move them much, even though I tell them, "They're after your jobs."
|Corrections and Clarifications In "Watts Humphrey: He wrote the book on debugging" (Industry Insider, May 9, in some editions), the graphic "A Software Cleanup" showing defects per 1,000 lines of code, without TCP and with TCP, respectively, should have been 120 and 50 during program development, and 1.05-7.5 and 0-0.1 in a finished program.|
By Manjeet Kripalani in Bangalore, with Otis Port in New York