Have you done a software ‘tasting’ lately?
I don’t know about you, I love food and of course wine to go with it. In fact one of my latest weekend trips was to one of the many wine regions in Spain, La Rioja. If you are a wine lover you have most probably heard of it and even tasted one or more of its world re-known wines. Once there it is literally impossible not to visit a winery and engage in the most enjoyable art of wine tasting.
After a couple of glasses my mind started wandering… One thing is these casual tastings you do in weekend trip, and another thing is the professional tastings the wineries carry out to assure the quality of their products.
Wine producers all have their enologists and professional tasters that will shape the wines each season to put them in the marketplace with their unique signature and quality. This is an iterative and never ending process to get better and better every season taking into account the different conditions that affect the production process. But one thing is always the same: the characteristics they look for in their wines, the result, is the score card of the wine. So my mind kept wandering… Isn’t this the same as the software quality model we use to assure the quality of software? Okay not quite, wine is richer in refinements and subtleties than software. But it is close enough.
Every evaluation model gives you the characteristics and sub-characteristics that you need to perform your evaluation. Each characteristic has a weight in the model in order to give a final qualification. This qualification should be used to compare different wines or the same wine in different years. The producer will publish the results so that customers know what to expect from the wine before opening the bottle. Something very similar applies to software. Look at these score cards.
| Wine evaluation sheet | |
|---|---|
| Appearance: Hue, depth, clarity |
3 |
| Aroma: Intensity, concentration, varietal expression, complexity, lack of faults |
7 |
| Taste and overall impressions: Flavour intensity & concentration, body, balance, acidity, complexity, structure, cleanliness, persistence |
10 |
| Total | 20 |
| CQM Software Quality Model | |
|---|---|
| Efficiency: In time, in resources |
2 |
| Reliability: Maturity, recoverability, fault tolerance |
3 |
| Maintainability: Testability, stability, changeability |
3 |
| Portability: Adaptability, instalability, repleaceability |
1 |
| Security: Resource proteccion, intrusion detection |
1 |
| Total | 10 |
One important difference between the wine and software evaluation processes is that when you do a wine tasting, you have to choose one representative bottle of your production. In software quality assurance you can evaluate the whole code source of your application, yes, of course, you need a tool to automate the process.
But that is easy, taste your software for free, right now, with the CQM Software Quality Model!
And next time you come to Spain make sure to book a wine tasting in the spectacular wineries of La Rioja.
Meet the author Juan Pablo Tejela
Software Engineer with extensive experience as part of development teams, currently dedicated to consulting software product quality.



button in the bottom right corner
Pingback: Don’t let the numbers fool you | inside software quality - An Optimyth blog
Pingback: check 2