SOFTWARE QUALITY: THE IMPORTANCE OF QUALITY IN SOFTWARE - PART 1
By Diana Van Der-Stelt - BLOGGER(Trinity Software Center) | AUGUST 2021.
The world becomes more and more dependent on ICT systems and most of us welcome the many blessings that have come with innovation in the last 10 years. After the start of the mobile revolution, our lives have become unthinkable without mobile and web applications that serve us daily.
After the start of the pandemic, the voices of those who had their reservations about digital transformation became quiet too. Our children were home from school, and we were asked to work from home to avoid the spread of the Coronavirus. All of those were only possible due to the use of ICT (Information and Communications Technology) and the internet. Cloud-based software providers are thriving as never before.
But while we become increasingly dependent on Information Technology (IT) systems, risks are also higher. In this IIPGH column, we have been addressing cybersecurity threats regularly, and in this first short series of 3 articles we will focus on another domain: software quality.
In this first article, we will address various quality aspects that are relevant in the software domain. For software companies, these are vital aspects to address while building their products. For any organization that acquires software to support its business processes, the topic is of equal importance. You may have to choose between various vendors to provide you with accounting, payroll or, ERP system or build a tailor-made web application or mobile app for your organization. Do not only look at its purchasing costs but also have a closer look at the quality of the software.
Simplicity: A lot of software is being advertised with multiple shiny features, but the reality is that most customers only use 10 – 20% of the application. So, the prior question is: what do I really need to support my business processes? Often, an automated process that is provided to you by a software solution, is inevitably slightly different from the current practice in your organization. It can be tempting to request your vendor for a tailor-made feature or an advanced version of the software. But it is recommended to consider adaptation of your business process to follow the flow of the software to have the maximum “value for money” and to resist a tailor-made solution.
Integration: When procuring software, your organization probably already has various other systems in place. Does this new application fit in easily? Is it possible to link systems easily? Is the existing IT environment (operating system, hardware, network, databases, other application) the right landing place for this application?
Performance: Not only should your new software be giving you reliable information, but it also must run fast and light. The average operation on the system should not require big data traffic, and depending on where your business units are located, the system should be able to cope with situations where the internet is not available.
Flexibility: As the introduction of a new software solution comes with costs and considerable change management, your choice should be able to last for the coming 3 -5 years. This implies that it should be relatively easy and affordable to incorporate business changes into it. New business units, products, user roles, should be very easy to implement. Flexibility also means scalability – is the software capable of processing large increases in numbers of users or data? For adaptability, is it capable of running on additional platforms (laptop, tablet, Android as well as IOS)? If you anticipate such future changes, they can be included in the requirements for your new software acquisition from the beginning.
Security: Obviously the latest requirements regarding cybersecurity should be guaranteed by your vendor. Questions to ask include: Have there been any major security breaches with this software? Were there cases of data leaks or ransomware attacks? Is there a sound security monitoring system in place and what is its response time in case of an incident? Has the software been designed in such a way that security controls are always part, for instance, because the software uses complex passwords, limited roles for users, or dual-factor authentication?
Data ownership: When you are about to acquire a new software application, you are certainly not thinking of the moment that you are going to dispose of it, but it is very important to know, how easy it is to change once you have migrated your data into the system. You should insist to remain the owner of your own data and have that legally secured in the contract. Equally, the software company guarantees to provide a user-friendly and correct exit migration. And a “data dump” of your database should be available easily.
Maturity: Some applications may be advertised to bring you the latest of the latest technological innovations. It is wise to always assure yourself that new features have been thoroughly tested and already used successfully by other customers.
In a way, procuring a new software resembles the purchase of a car. Do not get blinded by its shiny appearance and the latest gadgets. Without rational and careful consideration, you may find yourself in a taxi while the new car is in the mechanic shop with a huge bill.