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.
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.
Related Post: How Team Augmentation Will Elevate Your Custom Software Development Process