Reaching a quality target, darts game

Defining quality in software development

The importance of setting the bar right to meet expectations

In software development, just like in any other field, assessing quality means measuring value. Something of higher quality has more value than something of lower quality. We believe this is paramount when delivering our custom software development services. It is what makes the difference. This is what we understand as quality.

So What is quality?

ISO 8402-1986 standard defines quality as “the totality of features and characteristics of a product or service that bears its ability to satisfy stated or implied needs” and 9001 states “the degree to which a set of inherent characteristics fulfills requirements”.

So basically, it means delivering what was expected from you. But who says what is expected? Well, you do…

Meet The Jumpers

Let’s imagine two high jumpers, each of which sets the height they will jump. They’ve been training for some time and now they are facing the competition.

Blue one says he’ll jump two meters high, and he gets there fine. He delivered what he promised.

Red one is more ambitious and says he’ll jump three meters high but cannot make it. Even though red’s proposal is more appealing, if you cannot make it, there is no quality delivered. This is counter intuitive because we associate good quality to higher expectations: if a car is more expensive we tend to think it is a better quality model, but if those expectations are not met, there is no quality there.

high jumpers setting the bar at the right level. Analogy on setting the bar at the right level in software development

In a nutshell

We understand quality as the result of a process in which you:

  • Say what you are going to measure
  • Say how you expect to perform, set your goals (set the bar high)
  • Do things to get to your goals
  • Achieve what you said you would

Key aspects of quality in software

When specifically talking about software products, these are the things we should care about, set goals for, work towards and finally deliver:

  • Good design – good looks, understandable and useful
  • Good functionality – it does the job well
  • Reliability – acceptable level of breakdowns or failure
  • Consistency – behaves the same way always
  • Durability – lasts as long as it should
  • Good after sales service
  • Value for money

The quality pyramid

In our next post we will be discussing different aspects of quality and how they can be stacked up in a comprehensible pyramid, where satisfying each level in the pyramid gets us a step closer to achieving overall quality.