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]
In recent years, artificial intelligence (AI) has evolved to include more sophisticated and capable agents,…
Adaptive learning helps in tailoring learning experiences to fit the unique needs of each student.…
With the increasing demand for more powerful machine learning (ML) systems that can handle diverse…
Anxiety is a common mental health condition that affects millions of people around the world.…
In machine learning, confounder features or variables can significantly affect the accuracy and validity of…
Last updated: 26 Sept, 2024 Credit card fraud detection is a major concern for credit…