Quality In The Real World
by Lidor Wyssocky

Here’s a rhetorical poll: How many times have you heard (or said) one or more of the following sentences:

  • Time to market is more important to us than quality.
  • Our customers don’t care about quality. They just want the product delivered as soon as possible.
  • We have to settle for “good enough quality” because we don’t have enough resources.
  • Quality is important, but we don’t have time for that right now.
  • Why should we bother with all this quality stuff? We are doing just fine as it is. Aren’t we…?
  • We can’t do everything by the book! This is the real world!

If none of these sentences sounds familiar, you might be one of those lucky people working for a company with a strong and healthy sense of quality. Alternatively, you might be working for a company in which no one even considers raising the issue of quality.

Arguments as those listed above are derived from a common misunderstanding regarding what quality is.

Quality is not about doing things by the book. It is not only about making your customers satisfied (although this is of course an important part of it). Quality is not about reducing the number of bugs. It is not about writing formal documents, nor is it about complying with a certain standard or receiving a certain certification.

Quality is about maximizing the benefit from the products you create while minimizing the costs of production. When you adopt this definition of quality, you can’t possibly say “I don’t have money for that!” – Quality is about saving you money and enabling you to make more money. You can’t argue that “Time to market is more important” - If time to market is important to your business, it should be considered in the quality equation.

There is one pitfall, however, in which many organizations fall when talking about quality. You must be careful not to make a shortsighted analysis of the equation. Quality is a strategy, and strategy is always a long-term concept. You have to consider a wide variety of aspects and forces as part of this equation, and aim for the long run.

In order to correctly use the quality formula you have to do two things. The first is to look beyond your next move. When I talk about maximizing the benefit from the products you create and minimizing production costs you must aim for the long term. You cannot establish a business strategy on short-term decisions and no long-term vision. Shipping flawed products due to time-to-market considerations, for example, might not be the best move for the long run. Your reputation might be damaged, your customer service costs will get higher, and customers might ditch you. You have to consider these factors for your business to survive. Doing what seems to be the correct short-term move might seriously damage your business.

The second thing you must do is always keep your finger on the pulse. You have to constantly evaluate the two sides of the equation because the environment you operate in is dynamic.

Consider this common example. A new project is starting. This project is extremely important to the company and (of course) it has a very tight schedule. Time to market is crucial, so the development team leader decides to skip unit testing in this project on the claim that this takes too much time.

Wrong! If time to market is important, you don’t want your product to be stuck in an endless QC-Development cycle. You want bugs to be identified as early as possible because this way they could be easily (and cost-effectively) fixed. You might also want the product to be easy to extend in the future, since this will bring you more profit. Unit testing can surely help you achieve that.

Only a thorough analysis of the benefit and the cost of each alternative will provide you with the correct answer in this case. Of course, the amount of unit testing, their scope and the time dedicated to designing and writing them varies from project to project. No single answer can fit all projects. That’s the challenge in practicing quality.

The same line of thinking should be applied to designing the product, conduting various reviews, configuration management, project planning, test automation, but also to the satisfaction of your employees, the stress they are under, their working conditions and their ability to improve themesleves and take pride in what they do. 

Resources, schedule, desired feature-set, customer’s satisfaction, employees’ satisfaction, are all important aspects in your business. Quality is balancing all these aspects (and many more) to create the optimal solution for your business for the long run.

Share this post:These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • BlinkList
  • Reddit
  • digg
  • NewsVine
  • blogmarks
  • Furl
  • Netvouz
  • Spurl
  • YahooMyWeb

Optimize Your Software Development

See how I can help you develop software more effectively

One Response to “Quality In The Real World”

  1. The Mindset » Blog Archive » Quality In The Real World II: Context Sensitive Quality Says:

    […] The Mindset Lidor Wyssocky’s Blog on Software Quality « Quality In The Real World […]

Leave a Reply