Software Quality: The Importance of Software Quality

When we talk about quality in software,this concept of software quality,is not always easy to define.

Quality is associated with characteristics of excellence or superiority, resulting from a comparison of attributes in the context of evaluation.

We are, most of the time, aided by our own sensory receptors, which channel precious information to the brain. That's how we decide if we're looking at "something of quality."

In the physical world in which we live, the appreciation of the "quality of things" results, almost always, in pointing points. These refer us to "quality standards", more or less credible, based on past beliefs and/or experiences.

How to evaluate Software Quality?

The vast majority of the population is now a softwareuser and tester, which is made available tous through appliances, smartphones, tablets, smartwatches,cars, computers, etc. and which we use in our daily life intensively. We are the first to make changes on the quality, usability and aesthetics of the equipment we have.


Quality Influencers

In the automotive sector, where software has become the protagonist, it is common to state that: "Premium brands produce high quality cars". This generalist statement is based on a quality perceited by different users in relation to multiple attributes of the vehicles, including the software that today allows the control of the vast majority of the components of the car.

SIt is opinions of this kind that make us believe that the cars of these brands follow strict quality standards, being the end result effectively good. It is relatively common, in the assessments we make on the quality of things, to be influenced:

  • by society;
  • for powerful marketing campaigns; 
  • preconceived images of credibility. 

Who has never made an assessment based on these criteria, who "throw the first stone".

Different approaches to Software Quality Assessment 

The challenge is how to evaluate in a less tangible world, which is "quality".

There are specific processes and models that, when applied in the Software Development Process, provide a greater quality assurance to the final result.


However, the perception of software quality depends heavily on the point of view and expectations of each group of stakeholders.

… for the User

For users, the quality of the software is determined by simple criteria. To be classified by this group as a quality software, it is necessary that:

  • Fulfill the goal for which it was thought;
  • Maintain adequate performance;
  • Have an appealing and practical graphic design from the point of view of usability.

If you do not guarantee these criteria, it has no quality.

… for Technical Teams

Technical teams basetheir quality assessment of softwareon other criteria. They do so according to:

  • The architecture of the solution;
  • The quality of the code;
  • Of the code patterns;
  • Good practices and security

When software production does not follow good practices, it will always be associated with low quality levels.


.... for Quality Teams

On the other hand, quality teams have a more holistic view and carry out a factual assessment. This type of evaluation is made whatever the type of requirement (Functional, Non-Functional, Technical,Safety or UX/UI) comparing Expected Behaviors with Observed Behaviors. When a software obtains good results after being subjected to test batteries, with automation and regression, by default it will always be considered a software with quality.



… for Maintenance Teams

Finally, maintenance teams ascertain the quality of the software according to attributes such as:

  • whether the code is documented;
  • if there are records of the actions (logs); 
  • if the solution is reliable and stable.

In a way, this type of software evaluation verifies that the solution meets the requirements that allow its maintenance and evolution.


Software Evaluation: unity in diversity

As in our physical world, in the software there are brands such as Apple, Google, IBM, Microsoft, among others, which, due to their reputation and the quality of the products they make available to the market, are considered "premium brands"of the information technology sector.

As we could see, the characteristics valued by each group in software evaluation are something different, but never divergent. In the end, the software produced will have to exceed the expectations of each of these evaluator groups in order to be considered a quality software.



About the Author

Mécio Afonseca

Mécio Afonseca

Account Manager - PMO

With more than 20 years of experience in Software Development Project Management in various sectors of the market, he has contributed to the definition and construction of Iteative and Agile Methodologies, which allow greater agility in the conductof projects. He believes that organizations make themselves people and that the best management technique still remains "common sense". He likes to reconcile his professional life with the practice of sports such as tennis, football and mountain biking.