Every month in our Ask an Engineer series, we ask our engineering team to give us their brightest insights on best practices, trends, and methodologies. This month, we asked thinkbridge’s Minali Dhande, Associate Director, Delivery Excellence this important question: How do you differentiate between user experience and software quality?
By Minali Dhande, Associate Director, Delivery Excellence @thinkbridge
Software engineers always aim to maximize software quality. By this, we’re looking at how well your product fulfills the requirements and needs of the project. Software quality also describes whether the code is fit for purpose, or in simpler terms, can deliver the function or service it was designed to achieve.
Traditionally, there are five pillars of software quality: reliability, security, performance, maintainability (or code quality), and size. The product must be stable and unlikely to fail, be free of major security vulnerabilities, and must perform well. Moreover, for the long-term maintenance of the product, engineers should optimize their code to reduce complexity and line count.
Though, saying this, I must admit that the term software quality has changed a lot over time.
When I started out at thinkbridge six years ago, software quality testing only involved ensuring the program worked as expected and that all the requirements had been met. However, as testing practices have become ever more advanced, there is now a far greater emphasis on usability, performance, and security.
User experience and software quality are both essential to creating meaningful tech are now one of the most important aspects of delivering successful products. User experience, or UX for short, refers to developing software that understands the needs of its users and delivers a straightforward, enjoyable user experience.
Some questions that software engineers should ask when adapting their products for UX include:
- Is the user happy with their experience?
- Would they like to visit the site again?
- Does the site function how the user expects it to?
- Is the information flow intuitive?
- Is the performance adequate?
- Are there any minor annoyances or errors that hurt the user experience?
Many UX insights are subjective, known in the research world as normative. When researching the UX or usability of your site, engineers can use a mixture of quantitative and qualitative data to inform them.
Qualitative insights are sourced from user feedback, interviews, and studies. Quantitative data like visit times, click counts and heatmaps can also help improve the user experience.
Retail Site Example
Let’s briefly explore how a retail site can achieve both high software quality and great UX. A quick, relevant and responsive search system can improve the user experience by helping users find what they need faster. But this also improves software quality as it helps the product meet the requirements and also improves performance.
Though, UX can extend outside of your site and can include good packaging, prompt notifications, and fast delivery. These aren’t necessarily improvements in software quality, but it helps make customers happy and fulfills user needs more efficiently.
A site could be technically perfect with excellent quality, but other annoyances and aspects of the service could create a bad user experience, hurting success. I like to think that software quality relates to the technical performance of the site, whereas UX deals with wider issues affecting customer satisfaction.
To conclude: Software quality and UX are equally important aspects of development, and both are vital to developing a successful and meaningful site, app, or product.