December 15, 2016 – 2 minutes
Quality is a tough subject to write about. It means different things to different people and even different things to the same person at different times or contexts.
This article aims to plant some idea seeds that will hopefully grow into valuable discussions on quality and clarify the importance of delivering real business value to our clients.
The author: Andrew Kelly, Software Quality Coach at Codemate Ltd. Photo credit: Optician Training, Elisabeth Hahn Some Rights Reserved
One definition of quality that has been around for a while is “conformance to written specifications”. This though tends to lend itself to one-off fixed price agreements with lots of control but ultimately can lead delivering a written misinterpretation of what someone said they wanted rather than what they actually needed. It remains a valid model in some contexts though.
With “partnering for success” in mind, another very good definition in my opinion is a variation of Gerald Weinberg’s “value” perspective:
“Quality is value to a relevant stakeholder alongside due diligence given in respect to documented requirements”.
I like that one but it is still fairly open in terms of “relevant stakeholders”. So let’s narrow this down a bit further to focus on our client’s needs and perspective, keeping in mind the partnership and mutual success goals:
“Working software that delivers the intended business value”.
Many people relate easier to conversations on business value than quality. This definition brings the quality out from the area of quality specialists into what people often understand better: value.
Take user experience for example.
If your product is intuitive and a joy to use there is a good chance you will attract and retain a larger user base, this in turn increases your business value so here we view that as higher quality product. The opposite holds true, a clumsy and awkward user experience could lead to a loss of business value.
Often we will break quality down into business value attributes, things like performance, security, reliability, usability, maintainability and a whole load of other -illities.
The targeted business value will change on every project and often even during the project itself as more information comes to light so it is essential to have business value discussions early and throughout a project.
For example: Time to market is often a critical factor in achieving business value. In that context you may have decided that a MVP (minimum viable product) will offer the highest business value. A MVP, despite often not being feature rich, can very clearly be of very high quality.
However if “time to market” is a critical business value attribute and you are late and it results in a competitor owning your target market, it does not matter how many specification tick boxes you matched if your product ends up on shelf. Hence, you could say, your product is of low quality. This view remains a little controversial but it does help keep teams focused on value discussions over specification tick boxing.
As mentioned above this focus on business value particularly suits partnering for success with our clients, creating win/win situations and long term relationships with similar minded people who value high quality.
We take a highly collaborative approach to building software where delivering quality and business value is the responsibility of every team member.
Written by Our Developer Liro who lives and works in Helsinki building useful things. You should follow him on Twitter