TrainingConferencesAbout UsContact UsAdvertiseSQE.com

StickyMinds.com: brain food for building better software

Join

Join

Clarify Your Search Criteria
Tips on Using Our Search Feature(s)
StickyMinds.com Home
ResourcesEventsTopicsPowerPassJobs
Software Testing & QA Online Community  >  Detail: Quality: What a Fuzzy Term



A StickyMinds.com Original
Article Picture
Quality: What a Fuzzy Term

By Robert L. Glass

Send This Content to a FriendGet a Short Link to This ContentPrint This ContentSee User Comments About This Content

Summary: Most people in the software field don’t seem to understand even the basics of what software quality means, even those who are labeled as quality “experts.” They see it as being error free, satisfying users, meeting requirements, or hitting cost or schedule targets. But in reality, it’s only partly about some of those things, and not at all about others. In this column, I try to set those erroneous viewpoints aright.


Tricentis
In this column (I pompously say) I am going to define the word “quality.” 
 
Don’t quit reading now. I know quality, as an abstract topic, is boring. I know definitions are boring. But there’s something strangely elusive about the topic of quality. In the novel Zen and the Art of Motorcycle Maintenance, for example, the pursuit of what quality means actually drove the main character crazy! And I think part of the problem is that we’ve been going about it all wrong. In other words, this is a contrarian column. If you like that kind of thing, read on! 
 
First of all, I want to announce, here and now, that I think most people who write about quality don’t know what they’re writing about. Or more accurately, they actually do know what they’re writing about, it’s just not quality. Let me explain. 
 
I frequently see explanations in software literature that equate quality to one of these: 
 
- a lack of errors  
- user satisfaction 
- meeting requirements 
- achieving cost and schedule targets 
 
Let me dissect each one of these views. For the record, I think all of them are wrong! 
 
First of all, quality is about far more than software errors, or the lack of them. My favorite definition of quality for the field of software—dating clear back to the early Barry Boehm thirty-something years ago—says that quality is a bunch of “ilities.” It’s reliability. It’s usability. It’s understandability. It’s modifiability. It’s testability. It’s portability. It’s a whole lot of stuff that sums up what it takes to be able to say a software product is of high quality (different people construct different lists of “ilities,” but overall they agree much more than they disagree). Given that, how come quality isn’t about just, say, errors? Because the error factor is what reliability is about, and that’s just a small subset of the total topic of quality. 
 
Now, how about all that other stuff, like user satisfaction and meeting requirements and hitting cost/schedule targets? Well, there is a relationship among all of those things, all right. But the beauty of that relationship is that it shows quality is distinct from all of them.  
 
Here’s that relationship: User Satisfaction = Compliant Product + Good Quality + Delivery Within Budget/Schedule. 
 
What does it take to satisfy me as a user of (name a product!)? That the product meets my needs, that it has good quality (e.g., it doesn’t fall apart as soon as I get it), and that I can get it when I need it for a cost I can afford. Is that the same as high quality?  
 
For example, I can be satisfied with a McDonald’s hamburger if it is what I expect it to be, has a little nutrition, and comes quickly and cheaply. I don’t expect McDonald’s to produce a high-quality meal, but I can be satisfied with what it does produce. 
 
For a second example, I can be satisfied with a Jaguar automobile if it is as sleek and beautiful as I expect it to be, has plenty of power, is delivered when I want it, and I choose to pay the extremely high cost. But Jaguars, over the years, have not been known for high quality—they have balky electrical systems, for instance. But other aspects of the Jaguar’s quality, such as fit and finish, are superb, and may make up for its shortcomings. 
 
For a third example, I can be satisfied with the SAP mega-package information system if it does all the integrated enterprise transaction processing that I expect it to do, with a high degree of trustworthiness and reliability, even if it does cost an arm and a leg (in both time and dollars) to install. With SAP, in other words, I expect a compliant product with high quality, and I’ll sacrifice some cost and schedule to get it. 
 
Notice that in the three examples, quality is demonstrably different from user satisfaction, from meeting requirements, and from cost and schedule considerations. Any definition that equates quality with one or more of those topics has simply muddied the waters. 
 
Now, why do I get so excited about all of this? Because quality, for all its fuzziness, is an important topic in the software field. We spent the 1980s, I would assert, trying to find ways of improving the productivity of software people. We spent the 1990s, I would also assert, trying to find ways of improving the quality of software products. That’s a lot of years to spend on productivity and quality. I think we all have a kind of intuitive notion about what productivity means; I see no mass disagreement there. But quality? If we can’t agree on what quality is, how do we know whether we ever achieved anything at all in its pursuit? 
 
My personal belief is that those major thrusts of the 1980s and 1990s both failed. The thrust toward productivity failed, I think, because we were extremely naive about how easy it would be to make software people more productive. We saw panaceas in things like 4GLs, CASE tools, object-orientation ... (name your own overly hyped productivity poison), and none of them bore the fruit that their optimistic advocates promised. 
 
And the thrust toward quality failed, I think, because of a similar naiveté. But it also failed, big time, because we in the software field never really got around to agreeing on what quality really meant. 
 
So what’s my bottom line here? Software quality, at heart, is a bunch of “ilities.” Different people construct different lists of what those “ilities” are, but they all pretty much agree on the same basic notions.  
 
Having said what quality is, it is also important to do away with erroneous notions of things that it is not. The next time you read about someone saying that quality is about lack of errors, or user satisfaction, or meeting requirements, or achieving cost and schedule targets, remember this: Quality is none of those things. But it has an important relationship with all of them. 
 
Editor's Note: Robert Glass has written a follow-up to this column in response to the many comments: "Revisiting the Definition of Software Quality."


About the Author
Robert L. Glass is president of Computing Trends (publishers of the “Software Practitioner” newsletter). He has been active in the software field for more than forty-five years. He is the author of more than twenty computing books and sixty papers, and is a columnist for several computing periodicals.

Back to Top
 

StickyMinds.com Weekly Column From 04/02/01 

Member Comments
Add Your CommentExpand Comments
 
Comment:    
by Prof P thareja 9/20/2007


Quality is hard to define has been evidenced here. First the author, and then the various contributors to the blog. I too defined Quality in my own words: The excerpts and the link to the 'Essence of quality':

""Quality is to continuously conform, better still to perform, with hi-fidelity,
Sincerity at its best in capability for all processes and intentions for chastity,
Quality is ‘probity’ for team members all & integration to maximise capacity,
Aiming a business success of your brass, either for customer its no charity.""

Read On

 
 
Comment:    
by Erik Ostermueller 7/22/2004

User Satisfaction = Compliant Product + Good Quality + Delivery Within Budget/Schedule This makes the fatal assumption that the requirements are right. Requirements are merely organized opinions. Only rarely does a product team _validate_ that a representative set of users can be productive with their product. This is why there is so little product satisfaction in software.

 
 
Comment:    
by Andrew Raybould 8/16/2001

You say that quality isn't just about errors, but correctness (which subsumes reliability, and usually includes minimum performance, amongst other requirements) has to be the primary aspect of quality. Who cares about the -isms of something that doesn't work? The other -isms only matter once you have something that does what it's supposed to almost all of the time. You can argue, however, that there is more to quality than 'conformance to requirements' (to echo a number of your respondents). Firstly, of course, this 'definition' merely pushes the question off into one of what constitutes quality requirements (or acceptance criteria, or...Read On

Author's Response:
8/20/2001    
It's rare that software "doesn't work." It's much more common that some feature or capabiliity fails sometimes. So your argument is somewhat exaggerrated. Still, I agree with you that most of the time reliabiliity is the most important quality "ility." But, given that most of the software dollar is spent on maintenance, "understandability" and "modifiabiliity" have to rank right up there.

 
 
Comment:    
by Ben Rogers 4/24/2001

One thing to remember and highlight (and a source of constant frustration to me) is that the word "quality" means nothing without being quantified. People band around the term, such as "a quality product", but this means nothing! There is no quantification of the "quality", is it poor or excellent? To say we have "quality" is meritless, a house brick has qualities in a abundance (it's dimensions, it's colour, it's mass etc.)! We are looking for a standard of quality (and I would trust we are all striving for the most excellent standard we can achieve with the resources at our disposal) but "quality" alone is ambiguous and vague.

Author's Response:
8/20/2001    
Sure, it's very desirable to quantify quality. But it's also very difficult. I recall a government-funded study that tried to do precisely that, The researchers who worked on it had a tough time coming up with anything measningful, and, in the end, the study findings were promptly forgotten.

 
 
Comment:    
by Jim Smith 4/18/2001

I do not think it is worthwhile trying to define quality. It is like Alan Clarke’s comment on civilization ‘you can’t define it, but you know it when you see it.’ I think it is better to put all one’s efforts into getting the requirements right and making sure the system you develop supports them. One of the best ways to know quality when you see it is to use as much software as you can and when you see a quality system, try and analyse what makes it so.

 
 
Comment:    
by sudha pichumani 4/16/2001

I really don't agree with the author since "Quality", according to me cannot be defined universally like Newtons laws since it depends upon the customer satisfaction. The authors ilities no doubt forms a part of quality but there is nothing called good quality, bad quality and so on and the ilities can't in full terms define "Quality". anyway the article was useful in knowing what quality is not like error-free etc etc.

 
 
Comment:    
by Jaiprakash Gurala 4/11/2001

I agree that it is very difficult to define 'Quality'in general. But at the same time I would say that it is high time now to define Quality atleast for a project / product. Every project / product has 'Acceptance Criteria' stated. I feel that acceptance criteria should be given focus at the time of its statement. Client or End-users should be educated on this - how important is the Acceptance criteria. And see to that this takes care of Quality by itself. (Jaiprakash P Gurala)

 
 
Comment:    
by Bret Pettichord 4/9/2001

I completely agree with the author. I pretty much avoid "quality" in my working vocabulary, because of the concerns that Robert raises. Instead i talk about qualities: usability, satisfaction, reliability, integrity, whatever. Choosing the right balance of qualities in a product is tough and the decision is trivialized by people who say "quality is x" (where x = my favorite quality). Note that this is actually the original definition of quality: "qua" is Latin for "such" and quality thus originally meant "suchness" or more literally what we now call properties. Only with time did it come to mean "goodness".

 
 
Comment:    
by Martin Kalugin 4/9/2001

In ZMM, there is a relationship between quality and how much "care" has been put into the product. In my work, I lean more towards this definition (although impossible to measure) because I see applications created that meet the requirements and that consider the "ilities" - but, if the developer hasn't put a piece of herself/himself into the work, and paid care and attention, then there's something about the end result that lacks "quality" but is ever so elusive! Quality comes from the underlying form [ZMM]. However, I agree with Robert that people in software literature too often over simplify the definition of quality as one or more of...Read On

 
 
Comment:    
by Gary Mowery 4/5/2001

I see quality as a "fuzzy" property which defines a distance between two points. (The "quality" property may indeed be made up of how the "ilities" mentioned in the article are implemented.) Anyway, the first point occurs where about something it may be said, "This thing has value to me!". The second point occurs where, about that same thing it must be admitted, "This thing is junk, it has no value and I've been harmed by wasting my time and money on it!" The distance between these two points might be the measurement of quality. No quality = junk = no value = no sale.

 
 
Comment:    
by Lisa Crispin 4/5/2001

Isn't it up to the customer to define what "quality" is for a particular product? Quality assurance engineers, testers and developers should help the customer define quality: not just features, but how robust they need to be, how much load the system needs to support. If the customer decides to sacrifice robustness for speed in getting a product up and running, that does not mean quality is poor - it's what the customer specified. Quality is always fuzzy because it's different for every product/project.

Author's Response:
8/20/2001    
Quality is not defined differently differently for every project - it always consists of the same set of "ilities." But for any project, it is important for the customer - and the developers - to agree on a ranking of those ilities. And that IS project-specific.

 
 
Comment:    
by Bj Haglind 4/5/2001

This was an interesting article, even more so for the comments it stirred up! The author proves his point about the fuzzy definition of quality, particularly as you read all the responses. Secondly, the author does give a definition of quality, "My favorite definition of quality for the field of software—dating clear back to the early Barry Boehm thirty-something years ago—says that quality is a bunch of “ilities.” It’s reliability. It’s usability. It’s understandability. It’s modifiability. It’s testability. It’s portability." I personally and professionally think he's got the entirity of the definition here, as the software needs all...Read On

 
 
Comment:    
by Dean Tait 4/5/2001

I was surprised to find that the article ended before the author was finished defining quality. Was there an error in posting the article that caused the critical part of the article to go missing? As far as I can tell this is not a “quality” article because it fails to meet the customer requirements. When an article starts by saying that I (according to the author I am a so-called “expert” in software quality) have an ill-defined or erroneous notion of quality and then I expect to finish the article with a definition of quality. I did not.

 
 
Comment:    
by John Stark 4/5/2001

Mr. Glass has convinced me more than ever that we don't yet have a definition for software quality. To have a proper definition, it needs to be measurable. What the examples, and many commenters are talking about (e.g. hamburgers and autos) is not quality, but value. I may want a low-"quality" meal, but it has high value to me because it matches my needs/desires at the moment. I think what we SW folks need to worry about is are we delivering exactly what our customers want (i.e. value), in terms of functionality, reliability, installability, etc, that can be documented (in a requirements spec) and measured.

 
 
Comment:    
by Ruth Keys 4/5/2001

All the comments show that this is a term which will remain elusive as far as a definition goes. My own favourite which I learnt from a client is that quality means meeting the customer's expectations (as Tracy Benton has already said). I try to apply this definition in my work. It helps one to avoid the quality overkill syndrome that prevents products ever getting out the door. This is what sucessful companies do - see Microsoft - we all expect bugs to remain in their products but we still buy them! Ruth

 
 
Comment:    
by Jo den Engelse 4/4/2001

Quality - it's the difference between life and death. If you want to live longer, then you'll look for quality in everything you eat, do, buy and surround yourself with. If you're not into longevity, and this can be a budgetary matter, then you'll basically be looking for products with a lower satisfaction rating to your own personal needs. The Macdonalds example is great - it demonstrates our own individual judgements of what quality means to us, the consumer. Basically - you get what you pay for! You want cheap, you get cheap, but then cheap maybe what you want! Jo den Engelse 04/04/2001

 
 
Comment:    
by Adam Szymkowski 4/4/2001

I also feel that the author never defined 'quality' nor did he add to an understanding of what is meant by that term. He attempts to use the term in parts of his definition, which is a classic mistake. Here the author speaks of the relationship of quality to those things which it is not (by definition): "But the beauty of that relationship is that it shows quality is distinct from all of them. Here’s that relationship: User Satisfaction = Compliant Product + Good Quality + Delivery Within Budget/Schedule" How can you expect to define term in terms of itself? Is he saying that quality is distinct from 'good quality'? This article...Read On

 
 
Comment:    
by Peter Hall 4/4/2001

Thought-provoking and erudite Mr Glass. I would submit that you need to go further in your definition, don't just generalize as "a bunch of ilities". My own definition, for what it's worth, is that Quality is a state of mind. Incidently there is a implication in a lot of the comments here which is an echo of Zen & the A of MM - leave Quality undefined - it's much easier to say what Quality is not... keep up the contentiousness! - Peter

 
 
Comment:    
by Andy Joyce 4/4/2001

Glass's points are well taken. However, he seems to imply that quality is something mysterious binding the definable "things" of software development e.g. functionality, reliability. That's an academic argument that drives developers, project managers, and clients crazy (see Yerby's comment: why should we care then?). I would argue that quality is the sum of the definable 'ilities', and that those things MUST be defined and managed. Quality is then the degree to which you achieve your requirements. Regards,

 
 
Comment:    
by Anson DeWolf 4/4/2001

Seems to me that the author used a lot of words to demonstrate that Philip Crosby was corrrect when he said Quality is conformance to requirements. He then reminds us that it still depends on whose requirements you are considering at the moment.

 
 
Comment:    
by E Pollard 4/4/2001

I was disappointed in the article because I was hoping for a consise definition that I could point my collegues to for reference value. I also don't think the Article added value to a Quest for universal understanding of Quality in our industry. I tend to aggree with many of the comments made by readers of this article: Quality is meeting the agreed upon requirements of the users. There is no such thing as HIGH Quality, Good Quality or Low Quality. You have developed a Quality product when you have met the agreed upon expectations.

 
 
Comment:    
by Inge Robb 4/4/2001

Quality is all about perception. What is perceived Quality to one, may not be to another. The “ilities” referred to within the article are attributes to focus on, as hopefully, these “ilities” (Quality Requirements) are identified by the customer and end-user populations. At the same time, the development organization has a mutual “perception” of quality. The quality of analyzing, designing, coding, testing and delivering a product. Quality is about strategizing what it means to you as an individual and your organization. Then identify methods and techniques to becoming better at what each of us do and how we do it – as an...Read On

 
 
Comment:    
by craig yerby 4/4/2001

First of all, the author said that he was going to define quality.....I haven't seen his definition yet, so I still don't know Robert Glass's definition of quality. Next, here's something interesting that I got out of this article: Why should we even care about quality? Look how huge McDonalds is. According to the author, they don't make high quality food. Yet look how successful McDonalds is. Take Microsoft as another example. Most people gripe and moan about the quality of the Microsft OS. That hasn't stopped MS from become a slightly successful company. I agree with some of the earlier posts, we don't need a universal...Read On

 
 
Comment:    
by Amsa Varthini 4/3/2001

Hamburger or an Automobile is termed as good quality which further depends upon the individual users needs, his level of satisfaction of having got it, the cost and in what time he's got it. Quality-the "ilities", relationship to the different factors depends on two major factors- they're -the Users perspective towards what he/she terms as quality and his/her ability to convince everybody/anybody that what they see is "THE BEST QUALITY". (03/04/2001) Amsavarthini

 
 
Comment:    
by suresh Ammangudy Vasudevan 4/3/2001

I don't agree with the authors view about quality, because by giving the usability or portability, the ultimate aim is that it should get the customer satisfaction. Without customer satisfaction we cannot come to know that our product is usable or portable.

 
 
Comment:    
by Jim Budelman 4/3/2001

I once read a book - Quality - I know it when I see it, which treats on this subject. Having read the article, I continue to know more about what Quality is not then what it is. Much like the book, it is at once clear and muddy. To achieve anything, you need to know what you are trying to achieve. If being done by a team, the team needs to know and agree.

 
 
Comment:    
by Hans Schneider 4/2/2001

Now matter how you define quality I believe it can be improved by a strictly enforced development Process. Even a “mediocre” Process will improve “quality” if it is followed. I don’t think it would take a whole decade to prove either.

 
 
Comment:    
by Tracy Benton 4/2/2001

I guess I don't quite agree with the author. All these "ilities" (reliability, portability, usability) can be defined in your requirements. In fact, having no requirements for some of these things is what gets us into trouble. Quality for a hamburger or a Jaguar or whatever has to do with how well it meets the user's expectations--her requirements. Some of these things can't be defined in requirements as well as others, so there's probabaly no "ultimate quality definition", but I think we can strive to approach it by writing our requirements as well as we can.

 
 
Comment:    
by yogita sahoo 4/2/2001

I identify Quality as a very relative term. it is relative to people, their way of thinking, the product, end-user requirement and a big bunch of such variables. So defining Quality universally will be impossible and moreover incorrect. My collegue tester who sits one cabin away and works on same projects, defines Quality completely opposite to how I do.And I can't prove him wrong too. So agreed that Quality is not about what is defined in the various definitions but an important relation of all these.

 
Back to Top



 
Ads By Google
What's This?
 
 



About Us   |   Contact Us   |   Terms & Conditions   |   Privacy Policy   |   RSS Feed



© 2013 StickyMinds.com. All rights reserved.
ASTQB

Tricentis



Agile Development Conference & Better Software Conference West