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

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...

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 visio...

Focus on Verification (V&V) to Transform Your Organization

When I was a quality manager in my earlier job in an MNC (Multi-National Company), a lot of my team members were quite misinformed about the “Power of Verification” in a software development process. I went through a lot of reflection around my own experience working on multiple projects related to doing “software verification” exercises. I gained profound understanding of how organizations can gain immense benefit just by understanding the true power of this activity (if done correctly). For the uninitiated, let me give a brief understanding about what “Verification” means. As part of ensuring quality of any software, the whole development process can be split into 2 simple parts – Verification & Validation To put this simply, “Verification” is always done before software code is developed & “Validation” is always done post development of software code. A “Verification” activity means, doing detailed analysis and reviews for – Customer Requirements Software Architectur...