Does your company’s digital product have quality?
The relationship between software quality and User Experience (UX), encompassing Human-Computer Interaction (HCI), is intrinsically related and fundamental to the success of any interactive product or software. While they might appear to be distinct disciplines, they are complementary and mutually dependent in creating effective, efficient, and satisfying user experiences.
The inspiration for this article originates from a fundamental insight gained during my software engineering studies at UNILINS. My scientific initiation project provided a deep dive into human-computer interaction (HCI), multimedia, and software quality. I was particularly struck by how both HCI and Software Quality prioritized a system’s intrinsic quality, moving beyond just interactive design. Even now, I consistently see software that suffers from poor design, not only from a visual standpoint but also in critical areas like information architecture and user experience (UX).
In this article, I will explore the relationship between software quality and user experience, along with their conceptual connections. I will also explain why designers should learn more about software quality, as the focus on building quality software cannot be limited to just visual design; it must extend beyond that to include how the software is engineered from a technical perspective.
What is software quality?
Defining quality is a complex task because its nature is inherently subjective. What’s considered quality can vary significantly across projects, clients, and even cultures, making it a non-standardized concept.
In the realm of computer science and software engineering, the IEEE (Institute of Electrical and Electronics Engineers) offers two perspectives: “The degree to which a system, component, or process conforms to specified requirements” or “The degree to which a system, component, or process conforms to the needs and expectations of customers or users.”
Complementing this perspective, Pressman (2006, p. 580) defines software quality as “conforming to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics expected of all professionally developed software.”
Software quality is intrinsically related to quality assurance. My research in this field led me to develop and document a process, UXDQA, which can offer a practical perspective on how to approach this assurance.
In the current landscape, the relevance of quality for business competitiveness has reached a new level. What was once seen as a differentiator is now an indispensable prerequisite for staying in the market, as pointed out by the DEVMEDIA website. With the immense and continuous demand for computer systems, organizations must consider quality a central and non-negotiable element at all stages of software development, aiming for the sustainability of their competitiveness.
In other words, software quality refers to the characteristics of a software product that determine its ability to satisfy the declared and implicit needs of the user. This covers aspects like:
- Functionality: Does the software do what it’s supposed to do, correctly and completely? If a banking app crashes frequently, that’s a sign of a lack of quality.
- Reliability: Does the software operate without failures under specified conditions and for a determined period?
- Usability: Is the software easy for the user to learn, use, and understand?
- Efficiency: Does the software optimize system resources (performance, response time, resource consumption)?
- Maintainability: Is the software easy to modify, correct, and adapt?
- Portability: This isn’t just about the technical ability to move the software; for the user, it means the expectation that it will work anywhere. This includes compatibility with different hardware and software configurations. The design should anticipate that the product is accessible and functional across various devices, avoiding user exclusion unless there’s a very clear business justification for it.
- Security: Does the software protect data and functionalities from unauthorized access?
The perception of quality
In today’s dynamic software development landscape, characterized by an exponential demand for computer systems, quality has emerged as an undeniable factor for organizational competitiveness. It’s crucial to demystify the idea that artificial intelligence (AI) will solve all quality challenges. While AI can optimize processes and assist in fault detection, the responsibility for conceiving, designing, and ensuring the inherent quality of software remains an essentially human task, demanding discernment and meticulous attention.

Furthermore, it’s worth noting that quality itself is perceived differently by each stakeholder. While a user focuses on usability and the fulfillment of their needs, a developer might prioritize maintainability and the absence of bugs. Meanwhile, a product or project manager might be more concerned with cost, deadlines, and strategic alignment. This diversity of perspectives necessitates a multifaceted approach in the pursuit of quality.
- User: Their interest is primarily focused on using the software. They’re mainly concerned with ease of use, performance, the reliability of results, and the price.
- Developer: Quality is more geared towards the software’s internal characteristics. They also evaluate aspects of compliance with client requirements.
- Manager: Product quality cannot be separated from the organization’s interests, and they also control the development timeline.
Given this, we can recognize that software quality isn’t merely another requirement or a formality viewed as ‘boring’ by some developers or managers. Instead, it’s a fundamental necessity that permeates the entire process of developing computer systems, essential for achieving business objectives, project goals, and, importantly, user satisfaction.
The relationship between software quality and UX
The intersection of software quality and user experience (UX) is more than just a theoretical concept; it’s the bedrock of successful digital products. While they might seem like two separate fields, they are, in fact, deeply interdependent.
A beautifully designed interface means little if the underlying software is buggy, slow, or unreliable. Ultimately, the true test of any software lies in how well it performs and how seamlessly users can interact with it. Indeed, software quality is an essential pillar for a good user experience. Even the most innovative design can fail if the software has problems with functionality, reliability, or performance.
Let’s break down how these two crucial areas intertwine:
- Usability as a link: Usability is a crucial attribute of any digital product; it defines how easy user interfaces are to use. A product that is not easy to use or learn will quickly be abandoned by users. Moreover, usability is also one of the software quality principles outlined in the ISO/IEC 25010 standards. This principle includes user interface aesthetics, user error protection, and other attributes that need to be considered when designing a digital product.
- Impact on satisfaction: Bugs, slow performance, frequent errors, and confusing interfaces (all indicators of low software quality) inevitably lead to user frustration and dissatisfaction, often causing users to abandon a product. In contrast, quality software provides a smooth and reliable experience, boosting user satisfaction and loyalty.
- Trust and credibility: High-quality software conveys professionalism, trust, and credibility for a company. Quality issues can severely damage a brand’s image and erode user confidence.
- Efficiency and productivity: Efficient software allows users to complete their tasks quickly and without obstacles, significantly increasing their productivity.
- Accessibility: Software quality also ties into accessibility, ensuring that people with diverse abilities can effectively use the product. This is a vital aspect of both software quality and UX/HCI, fostering inclusive design.
Software quality standards
The world of software development is governed by a variety of quality standards, each with its unique characteristics. Selecting the most appropriate standard is a strategic decision that depends on the specifications of each project and the culture of each company. The fundamental purpose of these standards is to elevate development practices, resulting in the delivery of intrinsically higher-quality software.
For this article, we’ll specifically focus on ISO/IEC 25010:2011, which was recently updated to ISO/IEC 25002:2024. This standard is widely recognized and details the following eight characteristics of software product quality:
- Functional suitability
- Performance efficiency
- Compatibility
- Usability
- Reliability
- Security
- Maintainability
- Portability

However, applying and adhering to software quality standards, while seemingly straightforward in theory, presents a considerable practical challenge. This process demands a holistic view and meticulous verification of all system requirements and functionalities, ensuring the final product genuinely meets user needs and business objectives.
In the next section, we’ll delve deeper into two crucial characteristics from ISO/IEC 25010:2011: Maintainability and Reliability. We’ll demonstrate how these attributes are intrinsically related to the use of design systems and the application of strategic visual design.
The relationship between maintainability and design systems
The ease with which a software product can be maintained and evolved is a crucial measure of its overall quality. For many designers early in their careers, the delivery and hand-off of the User Interface (UI) signals the completion of their work. However, this perspective is flawed. It’s crucial to consider the product’s future state and long-term viability post-launch. This foresight directly relates to maintainability, an attribute significantly enhanced by the implementation of a design system.
In the context of maintainability, a design system serve as a unified library of reusable UI components, interaction patterns, and visual guidelines. As such, it simplifies the maintenance of your digital product and facilitates:
- Consistency: “Consistency in interaction design goes beyond merely reusing the same components, patterns, or elements. It’s about crafting a cohesive and predictable experience where users can navigate and interact with a product without having to relearn processes with each interaction.” (Nzongo, 2022, p.102). A design system helps ensure this consistency by establishing a shared vocabulary between designers and developers. This streamlines updates and prevents the visual and behavioral inconsistencies that might confuse users and complicate maintenance. For instance, if your company updates its brand, a design system makes it easy to refresh the UI with new colors just by changing a color token or border radius attribute.
- Scalability: A design system allows a product to evolve over time, maintaining its consistency without losing its established interaction models, and making it easy to add new functionalities. Take, for instance, the macOS Menu Bar, which has maintained its core design since 1984.

- Collaboration: Design system facilitates smoother collaboration between designers and developers. By working with a well-defined set of references and shared vocabulary, they reduce ambiguities and implementation errors.
- Cost reduction: According to Jules Mahe (2024), a design system can reduce the time and effort needed to design and develop new features or make changes. By reusing components and patterns, it positively impacts long-term maintenance costs.
Therefore, it’s crucial to understand that a design system isn’t just a design tool. Within the scope of software quality, it establishes itself as a strategic asset that significantly boosts maintainability, decisively influencing the overall quality and longevity of the software.
Product reliability is important
From a user’s perspective, software reliability is a cornerstone of quality. It’s crucial for a digital product to not just function, but also to convey security and credibility. Software that fails to establish this connection of trust will face significant challenges in retaining users and fostering a lasting relationship.
To mitigate distrust, the visual design must align with the brand’s and product’s objectives. A banking app, for instance, should visually project the image of stability and security inherent to a financial institution, avoiding any ambiguity that could generate hesitation during the user’s first interaction.
Considering this premise, let’s do a quick test: which of the following (UI) products inspires more trust, based solely on its visual design?

When visual design perfectly aligns with the software’s objectives, it becomes a powerful influencer of users’ perceived reliability. Beyond building this perception, a refined visual design can directly facilitate technology acceptance, a factor related to user experience (UX) and a user’s willingness to adopt and use the product.
How software looks and feels visually is incredibly important. As David Robins and his colleagues (2010) show, design choices have the power to either foster or undermine user trust, affecting several aspects:
- Professionalism and credibility: A well-crafted visual design that’s consistent and aligned with the brand’s identity conveys professionalism and credibility. In contrast, an amateurish, disorganized, or inconsistent design can breed distrust and the perception of unreliable software.
- Clarity: Design that prioritizes clarity helps users understand how the software works and anticipate its outcomes. This reduces frustration and increases confidence in the system’s ability to perform tasks correctly.
- Perceptual security: Visual elements that communicate security, like padlock icons in login forms or clear warnings about destructive actions, can significantly boost user confidence in the protection of their data and the system’s integrity.
- Brand consistency: A visual design that faithfully reflects a brand’s values and identity can strengthen user trust in the company and, by extension, in its software products.
- Visual feedback: Good design provides clear visual feedback on user actions and the system’s status. This helps users understand what’s happening and trust that the software is operating as expected.
It’s important to note that visual design alone doesn’t guarantee the technical reliability of software. However, it plays a critical role in the user’s perception of reliability. A technically robust software product with a visual design that conveys amateurism or insecurity will struggle to build the trust needed for adoption and continued use.
Why should you study software quality?
It’s important to clarify that interactive product designers aren’t expected to become experts in software quality, testing, or system architecture. However, possessing a foundational knowledge of software quality principles is of utmost importance. This understanding can even be a significant competitive differentiator, positioning you ahead of other professionals who overlook these precepts, and here’s why:
- Designing viable solutions: Understanding the limitations and best practices of software development empowers designers to create solutions that are not only usable and desirable but also technically viable and implementable. This comprehension helps avoid interfaces with excessive “flourishes” like those often seen in Dribbble portfolios, which, while aesthetically appealing, might be unfeasible or too costly to implement and maintain.
- Making informed design decisions: Grasping the impact of software quality on the user allows designers to prioritize design elements that contribute to a reliable and efficient experience. This involves, for instance, designing with good system performance or common error prevention in mind.
OBS: A classic case is that Netflix and YouTube operate similarly when the platform detects a fluctuation in the user’s internet bandwidth; instead of interrupting the video, it reduces the video quality to maintain continuous playback. This is an insightful design decision, directly influenced by the understanding that software efficiency and resilience directly impact User Experience (UX).
- Communicating effectively with developers: A shared vocabulary related to quality facilitates communication and collaboration with the development team, ensuring that quality requirements are considered from the project’s inception.
- Advocating for the User: By understanding the negative impacts of poor quality on the user experience, designers can champion the prioritization of quality throughout the development process.
Contributing to product strategy: Software quality directly affects market perception, customer satisfaction, and consequently, business success. Designers with this perspective can contribute more strategically to product development. - Improving iteration and feedback: Knowledge of software quality principles helps designers build more effective testing and feedback processes, ultimately improving the user experience.
In summary, software quality isn’t an exclusive concern of the development team. It’s a defining factor for the user experience that interactive product designers aim to create. Integrating knowledge about software quality into the design process is essential to ensure digital products are not only beautiful and easy to use but also reliable, efficient, and ultimately, successful.
Conclusion
Throughout this article, we’ve explored how software quality transcends the technical sphere, revealing itself as a fundamental pillar for user experience (UX). We’ve seen that while the definition of quality can be subjective and multifaceted, varying among users, developers, and product managers, it is, in its essence, the key to building successful and reliable digital products.
I’ve shown how attributes from ISO/IEC 25010:2011, such as maintainability (strongly supported by a Design System as a strategic asset) and reliability (influenced by visual design aligned with objectives), are directly impacted by design decisions. It became clear that visual design isn’t just about aesthetics; it’s a powerful driver of perceived trust and technology acceptance by the user.
It’s crucial to reiterate: interactive product designers don’t need to be software engineering specialists, but a foundational understanding of its quality principles is an invaluable competitive advantage. This knowledge empowers designers to create viable solutions, make informed decisions, and communicate effectively with the development team.
Therefore, the concern for building quality software cannot be limited to just visual design. It must transcend and encompass how the software is conceived from an engineering perspective. Software quality is a genuinely multidisciplinary concern, where design plays a significant role in creating digital products that are robust, usable, and, above all, reliable. By embracing this holistic perspective, interactive product designers will be better equipped to create solutions that not only meet functional needs but also exceed users’ emotional expectations, building truly memorable experiences.
The relation between software quality and UX was originally published in UX Collective on Medium, where people are continuing the conversation by highlighting and responding to this story.