Everything moves fast in the IT world. It is said that a year can be translated to seven years in a dog’s life. Well, the translation is much higher in IT. Every year, new computing languages are created. They might differ from the previous one by a comma, but they are created nonetheless. Should we adapt our conceptions of software quality to those new languages?
Not necessarily. The concepts we use to qualify our vision of software quality are by essence abstract. They only need to be adapted from one language to another.
No matter what language is used, each concept has the same meaning. You can prefer Java, C#, or COBOL, but if you don’t comment your code enough, as beautiful it may be, another developer will find it hard to read (and for sure won’t find it as beautiful as you do!).
Again, not so long ago, from one piece of software to another, a user perceived what he thought to be well-built software with the same criterions. It has to perform optimally, not crash, and be secure.
So, if our perception of software quality has not changed, what has? The way we use software!
Six years ago, 99 percent of applications were developed to be used on the same kind of hardware -- desktops. Nowadays, different kinds of form factors appear frequently!
You used to target a screen resolution, let’s say 1024x768. Users with bigger resolutions would have some lost space on their screens and lower resolution would have scrollbars.
This is not true anymore. Now, you need to target a form factor, sometimes multiple form factors.
Computers, tablets, phones … resolution does not mean anything when a phone that you carry in your pocket has a full HD resolution, the same as the flat screen television in your living room!
On such small screens, you can’t afford to lose space. Lose space and you’ll lose users. And if your software adapts perfectly to the size of a 5-inch screen, it won’t fit on a tablet’s screen, where everything will be too big and badly placed.
This is the same across different types of devices, the memory is limited so the performance of the application is capital. Nobody will use any software which takes minutes to launch or consumes all the memory of the device. So having top-notch performance is mandatory for a piece of software to be considered good -- bad performance means fewer users.
In a world that changes quickly, where the all the devices are connected permanently, where data is exchanged in fractions of seconds, the security of data is capital. Any flaw in a device application, no matter how small, is a flaw in the entire system. The security of one application is the security of the entire system.
So as you see, even if the IT world is changing very fast and the way to use software has radically changed in the last few years, the need of quality is the same: good security, good performance, and a robust system.