Quality-It's All in the Values

Better Software Magazine
Volume-Issue: 
2007-07
Summary:

We are in the business of providing our customers with products. While we may proclaim our commitment to quality, what really matters is how our users experience our products. So, how do we ensure our organization is a quality organization? Examine our values.

Recently, my family and I moved into a new house. There is a certain excitement about moving into a brand new house: It's fun to check out the new rooms, feel the new carpet between your toes, use new appliances for the very first time . . . ah, yes, the appliances. Unfortunately, our enthusiasm diminished slightly when we realized that the refrigerator didn't cool.We got a new unit quickly, but its icemaker didn't work. The icemaker was fixed, but then the ice door didn't open. And then the water line froze. After several visits by the repair man, the refrigerator worked perfectly. But in the mean time, the stove and dishwasher—made by the same company—needed repairs also.

On its Web site, the company proudly proclaimed its commitment to quality. The company was particularly proud of its defect-free manufacturing processes. Since this was not my experience, I came to the conclusion that the company didn't really believe in quality. It wasn’t as important as other things, such as short-term profit, perhaps.

From Refrigerators to Software
What does this have to do with software? Quite a bit, actually. Like this large appliance company, we are in the business of providing a product to our customers. We may boldly state our commitment to quality and may even wave the banner of certification or process maturity. But the thing that really matters is how users experience our product. If they have to put up with frequent crashes, annoying bugs, or software that is difficult to use, our quality is merely a façade.Wrapping ourselves in the flags of ISO, CMM, or Six Sigma doesn't make our users feel any better.

But what makes a quality organization? What differentiates the software equivalents of the Toyotas from the software Yugos?

Process Madness
We all want to produce the highest quality products for our users. Often, we try to improve our product quality by improving our processes. On the surface, process improvement has much to recommend it. After all, how we do something can have a significant impact on the end result. But in our studies of many projects over many years, my colleague Jim Coplien and I found that an organization's processes are not good predictors of its overall effectiveness. As we investigated further, we found several reasons why.

One reason is that many processes actually do not produce their intended benefit. The processes might require excessive overhead, which strips them of their benefit, or the actual consequence turns out to be different from what was intended. Therefore, people often take surreptitious shortcuts around processes in order to get their jobs done.

Another reason is that while the organization may endorse a process and what it should accomplish, there are other goals that are more important to the organization. You may have a quality process in place, but when schedules get tight, schedules win, and the quality process goes out the window. In short, our actions are driven by many motivators. These motivators shape our processes—those that we really follow.

These motivators are more stable than processes, for they come from the deeply held values of the organization. In fact, these values are at the heart of an organization and are the impetus behind much of an organization's collective behavior. As we shall see, it is particularly true with respect to quality.

Discovering Values
It's easy to define personal values—they are the principles we feel are the most important to us. For example, our personal values may include honesty, helping other people, and doing our best work. Organizational values are similar to personal values—they are the

About the author

Neil Harrison's picture
Neil Harrison

Neil Harrison is an assistant professor of computer science at Utah Valley State College in Orem, Utah. He has been involved in software development and research for more than twenty years, both as a developer and team leader. He has studied software development organizations for over ten years and is a co-author of Organizational Patterns of Agile Software Development. Email Neil at harrisne@uvsc.edu

Upcoming Events