In my everyday life, here and there, I perceive humour and kindness, discipline and grace, personality and competence
, easily and clearly. But when my colleague Matthew asked me to measure them, I realised that’s a whole different story.
When you ask to 10 experienced software engineers, users and entrepreneurs what bad quality is in software, they will provide you plenty of examples. Then when you ask them to define good software quality and how to measure it, you’ll easily get 10 different answers. This is because nowadays we still don't have a rigorous definition for it, and we don't even know if it exists at all
It is not a simple problem for sure, it took about 27 years to Tom De Marco to realise the nature of this complexity.
It was 1982 when Tom De Marco wrote in Controlling Software Projects
the famous quote “You can't control what you can't measure”. In 2009 Tom De Marco wrote the article Software Engineering: An Idea Whose Time Has Come and Gone?
for the IEEE Software journal, and there he wrote "do I still believe that metrics are a must for any successful software development effort? My answers are no, no, and no.”
So why is so difficult just to define and measure software quality?
- quality perception is subjective
- quality is in part in the eye of the beholders and in the eyes of engeneers
- quality can be relative, for example can be superior or inferior to a competitor’s product
- quality is contextual, it is fitness-for-pourpose, depend on the context and on the person that judge it
In the end the problem of defining and measuring software quality can be like the problem of predicting the future
: when software engineers create new and unprecedented software applications and are asked to figure out how do it right at the first time, without exactly knowing what ‘right’ will mean.
Now that you know the nature of software quality, how do you deal efficiently with that ?
One suggestion from Jim Highsmith
: do not focus on what is easily measurable and than ignore important characteristics that are harder to quantify !