Anyone working with a software development partner wants to receive a high-quality product. But what does high quality mean? Are there exact software quality management parameters that define a top-notch software product?
Fortunately, the answer is yes. Thanks to well-established and widely recognized software quality management systems, measuring the quality of a software product doesn’t have to be a matter of intuition or personal taste. ISO/IEC 25010 is one example and one of the most comprehensive quality models available today.
At Unicsoft, we’re proud to have recently received ISO/IEC 25010 certification for our software quality assurance process. We’re using the opportunity to answer two important questions: what is software quality management, and why did we choose the ISO/IEC 25010 standard for our QA processes?
What is the ISO/IEC 25010 quality model?
ISO/IEC 25010 is a quality model determining which quality characteristics to consider when evaluating a digital product. The model lists the properties of a high-quality, satisfactory product to be ensured before this product is released, or even sometimes, to evaluate the already released software.
The model consists of eight factors that define the quality of a software solution, from usability to security, and four product quality-in-use factors that describe how the product’s quality impacts the experience the end users receive.
The aims of ISO/IEC 25010 are nothing new. QA standards have a history dating back to the start of the 1960s, and the 25010 standard was first introduced in 2011 as a development of the ISO/IEC 9126, launched in 1991.
Why was ISO/IEC 9126 updated to ISO/IEC 25010? The newer model paid more mattention to two software quality factors critical to today’s high-quality digital products: security and compatibility.
Let’s dive deeper and discover the parameters of each of the eight quality factors.
The 8 characteristics of ISO/IEC 25010 software product quality
ISO/IEC 25010 evaluates a software product’s quality from eight perspectives:
- Functional suitability
- Performance efficiency
Each quality characteristic focuses on one thing that contributes to a well-functioning and appealing product. In turn, each characteristic is defined by sub-characteristics.
Let’s look at each characteristic in turn.
1. Functional suitability: How well does the product do what it’s supposed to do?
Every software product is created for a particular purpose and type of use, so a QA specialist’s first task is to check whether the product matches these. In simple words, does the product do what it’s supposed to?
In ISO 25010, there are three criteria for functional suitability:
- Functional completeness answers: Does the product cover all the expected tasks? Does it perform all the expected functions?
- Functional correctness looks at whether the product performs all of its functions correctly.
- Functional appropriateness evaluates if the product helps users solve target tasks.
2. Reliability: How well does it work under target conditions?
When assessing a product’s reliability, a quality management specialist evaluates whether the product works as expected in expected conditions. For example, if an app is for iOS, it should run on this operating system with no issues and have zero downtime.
There are four criteria for a reliable solution:
- Maturity refers to how reliable the product is under normal conditions.
- Availability evaluates how accessible and operational the product is when required.
- Fault tolerance looks at how well a product can work with issues in software or hardware.
- Recoverability examines how quickly a product can recover the data and start functioning again in case of a system failure.
3. Usability: Can all target users use the product easily?
Product usability refers to how effective, satisfactory, and convenient it is to use the product. Product usability evaluation asks, “Can any user enjoy the product, no matter their background, physical conditions, and technical skills?”
To answer this, we need to pose several more questions which correspond to each of the ISO 25010 usability criteria:
- Appropriateness recognizability: Can users understand if the product suits their needs?
- Learnability: Is it hard for a user to learn how to navigate the product and achieve their goals?
- Operability: Is the product easy to control and navigate?
- User error protection: Does the product protect users from making mistakes?
- User interface aesthetics: Is the interface visually appealing and satisfactory for users?
- Accessibility: Can users with disabilities like visual or hearing impairments enjoy the product? Does the product appeal to the widest range of capabilities possible?
If the answers to all these questions are yes, the product is highly usable.
4. Compatibility: How well does the product integrate with others?
A digital product can rarely exist in a vacuum without interacting with other services. Users will generally need to integrate social media accounts, email addresses, payment systems, or related products.
Compatibility measures the degree to which a product can reliably interact and exchange information with other devices and software.
- Co-existence refers to whether a product can be integrated with other products and exist in the same environment. For example, can a user upload their personal data through Gmail? Is it possible to connect a Payoneer wallet to the service?
- Interoperability looks at how well a product can exchange data with other products.
5. Portability: How easy is product installation on different target devices?
Before getting to enjoy a new software product like a mobile app, users obviously first need to download it. Users also often upgrade their devices and expect the same (or even higher) quality after the change. This is why it’s important that a product can be easily installed or transferred to a new device without loss of information or performance.
Quality assurance engineers evaluate portability by addressing three questions:
- Adaptability: Can the product run on different devices and software without a problem?
- Installability: Is it easy to install and delete the product?
- Replaceability: Can the product replace a similar existing solution?
6. Performance efficiency: How fast and resource-efficient is the product?
Performance efficiency measures performance according to the resource load used under stated conditions. In other words, a QA specialist tries to understand how fast and effective the product is when it comes to users completing their tasks.
Three criteria define the performance efficiency of a software product:
- Time behavior refers to how long it takes for the product to load and process data.
- Resource utilization looks at how effectively the product uses resources and whether there is any resource overuse, such as taking up too much space on the device or draining the device’s battery.
- Capacity explores the product’s performance limits, for example, the maximum user load or data storage capacity.
7. Maintainability: How easily can the product be maintained and updated after launch?
All software products evolve over time. There can be many reasons for an update, from changes in user needs to some features simply being outdated. A high-quality software solution is easy to upgrade and modify.
QA engineers assess maintainability according to several parameters:
- Modularity: Can we change one product component without disrupting the others?
- Reusability: Can we reuse assets when updating the product?
- Analysability: How can we understand if there’s a problem with the product? Can we evaluate how updating the product or its elements will impact its performance?
- Modifiability: Can we modify the product’s features without negatively impacting its performance and quality?
- Testability: Can we establish certain criteria to assess the product’s quality and test the product?
When a product is maintainable, updates are no longer a headache, as the product was designed with openness to change in mind from the start.
8. Security: How secure are the product and user data?
Security evaluates the safety of product data. At a high level of security, a product must only grant access to data to authorized users. For example, only an administrator should be able to access certain settings data, while each user should be able to view and modify their own information.
Five criteria determine a product’s security quality:
- Confidentiality assesses whether the product ensures only authorized users can get certain data.
- Integrity refers to whether a product prevents unauthorized users from viewing protected data.
- Non-repudiation judges whether it is possible to check the data modification history to see any violations.
- Accountability looks at whether it’s possible to check each user’s actions separately to hold them accountable in case of a security violation.
- Authenticity analyzes how well the product verifies user identity.
What ISO/IEC 25010 brings to end users
You might ask, “I understand that my product needs to meet certain quality criteria, but will my users notice it? How does complying with ISO/IEC 25010 practices bring tangible value to my end users?”
These are reasonable questions. While bad quality is easy to notice, sometimes it might not be so evident why dedicating extra hours to software quality management in software engineering pays off.
The ISO/IEC 25010 product quality in use framework ensures that a final product matches the highest user expectations. When Unicsoft develops a software product according to ISO 25010 standards, you can be sure of four key outcomes.
1. An effective and efficient product
All users use a product to complete a task, whether it’s watching a movie or keeping track of personal finances. A high-quality product lets users achieve their goals quickly and easily with a minimum learning curve.
2. User peace of mind
With a highly secure and reliable product, your users don’t need to fear that their personal data might be exposed, their money might be stolen, or their children will access the information they shouldn’t see. Double-checking the security at every stage of product development and quality assurance ensures a risk-free product that users will enjoy without second thoughts.
3. High user satisfaction
A positive user experience and a high level of user satisfaction are the reasons for creating any product in the first place. After all, no one creates software with the thought of making it too complicated to enjoy. Such an outcome means there were gaps in the product discovery, UI/UX design, and testing stages. If your users feel like the product is useful, comfortable, pleasant, and trustworthy, the development and QA teams have done their jobs right.
4. A product that does what it’s supposed to, period
A high-quality product works exactly as expected in the context it was created for and can even extend to other contexts. For example, a product will work well on various screen sizes and be accessible to inexperienced users.
In summary, ISO/IEC 25010 is a comprehensive quality management software system that enables auditing a product’s possible quality aspects. Let’s share how we implemented this model into our QA process to improve our client services.
How Unicsoft enhanced its quality assurance process using ISO/IEC 25010
A rigorous and effective QA process is objective, not subjective. Of course, a significant part of product evaluation comes from user testing and feedback. Still, even before you let your first users review the product, it should be free of any major bugs and inconsistencies that might spoil their experience and your chances of success. The ISO/IEC 25010 evaluation model works to recognize these issues early on.
This is why at Unicsoft, we decided to attain ISO/IEC 25010 certification. Our certification proves our commitment to providing the best QA practices and simplifies our daily quality assurance processes.
The ISO/IEC 25010 system is a checklist our QA engineers use when evaluating your product. The standard streamlines the terminology we use in our quality management in software and means that the quality of your product is based on a single standard that’s recognized worldwide.
We implement the ISO/IEC 25010 criteria at every step of our quality measurement process. The Unicsoft team follows an Agile software development process, meaning that QA specialists get to review product documentation before the UI/UX design and development process starts and also evaluate the software as it develops.
Our QA specialists rely on ISO/IEC 25010 standards to
- Identify and validate software functional and non-functional requirements to ensure your product meets your business goals.
- Draw up goals for UI/UX design and development to identify functional priorities.
- Create checklists for quality control to streamline the process and bring a higher level of organization to testing.
- Make suggestions for quality improvement and for eliminating any performance issues.
- Evaluate quality assurance outcomes as part of our ongoing commitment to constantly improve the service we offer our clients.
For our clients and us, ISO/IEC 25010 guarantees that a product is built on solid foundations and that no aspect of its functionality remains untested.
Software quality management is about evaluating a product not on what works best for a particular solution but on objective standards. The ISO/IEC 25010 standard provides a framework for ensuring a product has a high degree of functionality and security.
The ISO/IEC 25010 quality assurance model streamlines the software quality management system at Unicsoft, makes the work of our QA team easier, and guarantees top-quality client services. While our quality assurance process was previously based on ISO/IEC 25010 and similar models, with certification, we now have an extra layer of quality management accuracy and consistency.
Looking for a partner to develop a high-quality software product? Let’s discuss how Unicsoft can help today!