Why the quality of software matters
Saturday, 31 December 2016
Author: Toyah Hunting
Our world runs on software. Every business depends on it and every mobile phone uses it. Every new car relies on code. Without software, modern civilization would fall apart. Given this reality, the quality of that software really matters. Because it’s so widely used and so important, low-quality software just isn’t acceptable.
We all know the feeling. We randomly click on something and the computer freezes for no apparent reason. This usually happens when we have forgotten to save an important document.
This is one of the hallmarks of low quality software. We might accept this if it is a free computer game we just downloaded. But we won’t when it comes to mission-critical software like a VMS system.
Software quality, defined
Quality software is reliable, reasonably bug-free, meets requirements and expectations and is maintainable.
Key aspects of quality for the customer include:
- Reliable – acceptable level of breakdowns or failure
- Efficiency – fast and able to utilize the HW
- Good functionality – it does the job well
- Good design – look and style
High quality in software is achieved by having highly skilled people taking qualified design choices at every step of the way.
Software quality comes from:
- The right design choices - Knowing your customers, their needs and expectations
- The right technology choices – Knowing how to get the optimal solution using the right technology
- Being brave - Not holding on to outdated choices, but making the necessary changes at the right time
- Testing – Making sure that the software behaves as expected with the performance, stability and security required
- Maintenance and support - Keeping the software secure and updated
Bad quality is hard to fix because of the number of choices that have to be changed and tests that need to be redone. It can easily take ten times the hours to track down and fix a software bug than it takes to develop a quality feature from the very beginning.
Time will always be money
Making quality software takes time that has to be funded somehow. Software engineers might participate in software projects out of dedication. Some of these projects produce world class software. But when the dedication vanes, the project withers. Commercial software is pricey but guarantees updates, bug-fixes and plans for new features.
A VMS might be free, but if no one updates the software or handles requests for new features, the word free might mean free now, and costly later.
One part of software quality is security. What do we do about users with malicious intent? Those who examine software looking for backdoors and loopholes? Quality in software is also a matter of securing the software against cyber-attacks. Just like quality, cyber security has to be built into the development right from the start. It must be a part of the mindset of the software creator.
The Security Life Cycle
In Milestone, we have a Security Life Cycle concept. We constantly train our software engineers in developing the most secure software and documenting choices taken. Our software is evaluated by an independent third party and the purpose of our continuous feedback process is to improve security. We are open about this and share our cyber security initiatives with the Milestone Community and invite the community’s feedback.
Peter Jacobsen, Director Test & Driver at Milestone Systems
Mogens Abel-Bache, Senior Group Manager at Milestone Systems
Is your network secure?