Skip to main content

What is Software Quality?

What is software quality?



“Why do we never have the time to do it right the first time, but always have time to do it over and over after the first time?” – Anonymous 


Quality is something that happens at every stage of Software Development!


When I talk about Software Quality, almost everyone in the Information Technology world thinks about “Software Testing”. Unfortunately, this is a myopic view of Quality as a specific team effort and not as something, that should be embedded and part of the complete Software Development Life Cycle!

Quality can be defined and need not be an “ambiguous term” for an organization.

For any software, quality is more aptly seen from a view of what the customers considers as ‘Quality’. Although, this is not the only way to consider ‘Quality’.

Quality must be seen from the viewpoint of ALL stakeholders involved with the product. Apart from this, ‘Quality’ should be considered as everybody’s responsibility. From an operational standpoint, we do consider “Quality / Testing Teams” to take ownership. Although, testing teams can be made more relevant and productive, if the organization culture promotes a very high-degree of collaboration between the Quality / Testing Team and all the other teams involved in developing the product or providing services.

Quality can be defined with two perspectives –

1. Quantitatively: A quantitative representation of software quality is very easy and directly refers to using metrics (or “measurements”), such as – “If ALL the customer requirements are met, we have achieved quality” . Here, the underlying assumption is, that the software development team (includes all sub-teams) have documented each and every stated or unstated customer requirements as part of a requirements management document / software.

2. Qualitatively: A qualitative representation of software quality is very complex and directly refers to understanding the “perspectives” of various stakeholders (i.e. customers, business analysts, sales team etc…). For example, “If the ‘Product Usability’ is very high, the product shall be of very high-quality” . This may be true, for products with few but very important features! Some of these can be measured, although these are still subjective, such as by understanding the “Customer Satisfaction Scores”, “Customer Usability Exercises”, “UAT Feedback” etc…

 

It is very important for every product / project stakeholder to understand the above perspective. Only such an understanding can promote a healthy organization culture amongst various teams to work together and come up with revolutionary software products, that can change this world.

- Written by Anand Nanavati (SupraDigit Solutions)

Comments

Popular posts from this blog

Reduce Your App Development Costs by More than 50% by "Simply Preventing Bugs"!

"Be a yardstick of quality. Some people aren’t used to an environment where excellence is expected.”— Steve Jobs Everybody loves to avoid a disaster, but there is a “proactive” effort to do activities that can prevent a disaster from happening. Most of the executives do not want to “get involved” in such “proactive” efforts, simply due to the love of fixing urgencies Or having a mindset that it’s not important.   I remember, when once I was working with the Quality Assurance team on a product. The development team simply refused to spend efforts on the most essential “unit testing” for their developed components! The intent was to release the software to the QA team as soon as possible and focus more on so-called “core development”. Over the years, looking at multitude of projects failing in-spite of highly experienced resources, reasonable time and the intent, I have uncovered that, prevention is the “Most Important” and “Ignored” part of software development. Why should we

Change the World by Keeping Your Inner Fire Ignited

A decade back, when I was working on a huge enterprise program (with multiple projects) along with a big team (of close to 300 people), we were a group of managers who were evaluated and pushed by the senior management to “proactively” deal with issues and to work on finding new solutions. I used to think of how - we can become “proactive”, when we were already focusing our efforts on fighting our daily “fires” or urgencies of our project work. When I delved deeper into our daily work habits, it struck me that till the time we are not excited about “getting things done”, the willingness to explore more out of our comfort zone just doesn’t happen. The innate human behaviour is to follow a routine and establish a comfort zone over a period. The 1st factor – “an external stimulus” can upset us and force us to think or act out of our comfort zone.  The 2nd factor that can make us “move” out of our comfort zones is about having an excitement of a future or coming up with a vision th

The Confusion Between Software “Metrics” Vs “Matrix”

When I was studying in class 10 th , I asked my English teacher a very basic question about why two words in English sound the same but mean different. That time, we never had a separate subject on “phonetics” and I was quite unaware of this part of the English subject then. She smiled and very smartly told me that – “English is a ‘funny’ language” and went away! I was amused by her answer the whole time. Only later I learnt that in English there are so many words with a spelling, that are used “as per the context” to mean different than their similar sounding words with a different spelling. In quality assurance and in general in project management, many testers and project managers make the same mistake with a misunderstanding and confusing these 2 words – “Metrics” and “Matrix”. They use them interchangeably! Metrics in the quality management context means “to measure” (check its meaning here - https://www.dictionary.com/browse/metric) and … Matrix has different meanings based o