The article relates software quality characteristics defined by ISO 25010 standard (SQUARE) with code quality and, recommends on what could be done by the developers to write the code matching the ISO quality standards. SQUARE stands for Software QUAlity Requirements and Evaluation (SQUARE). Please feel free to comment and add further points in any of the sections pertaining to quality characteristics listed later below.
As per ISO 25010 (SQUARE) standards, Software quality can be defined, managed and measured in terms of following two broad categories:
In this article, we shall look into the aspect of code quality from the perspective of “Product Quality” mentioned above.
According to ISO 25010 (SQUARE) standards, following are 8 different characteristics defined as part of Product quality:
Functional Suitability is mainly related with determining suitability of functionality in the context of business requirements vis-à-vis software application. In relation with functional suitability, following are three different characteristics (as specified by ISO 25010) that developers would want to focus upon while analyzing the requirements and, make sure that their code could be traced to achieve below objectives to attain high score in the quality attribute of functional suitability:
What’s needed to be done by developers?
To be able to achieve objectives of having one’s code address above three concerns (primarily completeness and correctness), developers need to work well with business analysts. You may ask for traceability metrics just to make sure that your piece of code has matched all the business requirements. In other words, they need to make business analysts their friends who would help them validate if the functionality delivered with code matches requirement of above three concerns.
In addition to business analysts, developers may also need to work well with QA just to make sure that there are enough test cases to test the code against the business requirements that code is trying to address.
Maintainability is related with ease with which code could be changed and maintained. In relation with maintainability, developers need to be aware of following key design/code characteristics (as per ISO 25010) and make sure that their design and code addresses them:
What’s needed to be done by developers?
To take care of above areas of concerns, one may do some of the following:
Usability related to ease with which code can be read, understood, learnt and work/develop. In relation with usability, following characteristics (as per ISO 25010) need to be focused upon:
What’s needed to be done by developers?
To achieve above objectives, developers may need to focus upon some of the following while doing design and coding:
Performance efficiency is related with time and resource utilization by a piece of code at the runtime. In relation with performance efficiency, following are two key characteristics that need to be focused upon:
What’s needed to be done by developers?
To achieve above objectives, developers may need to focus upon some of the following techniques while doing design and coding:
Security relates to following three characteristics that need to be addresses while doing design and coding:
What’s needed to be done by developers?
To take care of above areas of concerns, one may do some of the following:
Reliability relates to how reliable the code (system) is from the perspective of following characteristics:
What’s needed to be done by developers?
The above requirements mostly match the concerns of architects. However, developers may still do the following to play his part and make the system highly reliable:
[adsenseyu1]
Artificial Intelligence (AI) agents have started becoming an integral part of our lives. Imagine asking…
In the ever-evolving landscape of agentic AI workflows and applications, understanding and leveraging design patterns…
In this blog, I aim to provide a comprehensive list of valuable resources for learning…
Have you ever wondered how systems determine whether to grant or deny access, and how…
What revolutionary technologies and industries will define the future of business in 2025? As we…
For data scientists and machine learning researchers, 2024 has been a landmark year in AI…