Many opinions exist on what software quality exactly is. Clearly defining the quality characteristics of software proves quite difficult. This holds from a functional perspective (‘it should just work!’), as well as from a non-functional perspective (‘the solution is slow…’). In this blog post, we will sketch the arena and provide five useful tips to define and improve software quality.
Talking about Software Quality?
The thing about software quality is that it is more difficult to verify its presence than it is to verify its absence.
For example, systems of poor modifiability cannot keep up with changing business requirements – these systems are often perceived as having insufficient quality. At the same time, we often tend to recognize the elegance of using appropriate architectural patterns or design patterns to solve a problem – unfortunately, software architects or engineers can get carried away and over-apply these.
At Qxperts, we build on a series of business indicators that allow you to make software quality tangible. We highlight two of them:
- Improved time-to-market – a direct translation from the metric “Lead time to change”, as described in the DORA research; the time it takes to go from a commit in version control to making the result live and available for users.
- Increased revenue and business value – software is only valuable if it is actually used in production. It is about the business opportunities that can be seized with the software – increased market share, product variety, et cetera.
These indicators are about speed and value. This requires a balancing act. Does your business prefer the right software now as opposed to better software tomorrow? When is good actually good enough? Nobody wants to end up with poor quality software that breaks all the time, nor does anyone want to gold-plate their solution before putting it to the test in production.
Read the full blog at our Qxperts blog section