Have you said “wow, this is exactly what I wanted” recently? What made you say it? More on that later .
Let’s first try understanding product quality and how, as a producer, obsession for quality makes your users happy. The quality of a product or service is defined as its “degree of excellence,” or how outstanding or good it is. A high-quality product meets the needs of the user. Product quality doesn’t involve the number of cool features, the effort spent in testing, or great marketing, but simply the product’s ability to satisfy users’ needs.
Let’s focus on software product quality, though you can apply the principles discussed here to any product or service.
Software product quality
The software product needs of a user can be classified as functional and non-functional.
- Functional are those that enable the user to perform their role and responsibility like features and behaviors.
- Non-functional are those that enable the software to operate like performance, resiliency, and security.
A way to measure software product quality is to measure how far the software is from satisfying the users’ needs. This gap can be measured by tracking the following:
Feedback includes defects, enhancements, and new feature requests raised by the user.
Software usage is how many times it’s used, how many critical tasks were completed, and how a task is completed.
Software quality is said to be improving if the graphs for the previous information resemble these.
How can one ensure that a product in development is of high quality?
Generally, we fall into the trap of doing quality control (thinking it is quality assurance) by passing an already developed product through a validation process defined by the quality assurance experts. The trap is when such validation is happening, such as after creating the product.
Building quality in is continuously validating the product — against user needs and during development — to ensure each product increment, once ready, meets quality standards. It requires adopting a product development methodology that has the following characteristics:
- The user at the center of all decisions made for the product
- Team collaboration takes place at every stage of product development
- Product increments are continuously validated against user needs
There are several well-known product development methodologies, which can be implemented together to ensure product quality. Below are some of them, along with tools and technology that help simplify their adoption.
|Methodology||Types of tools and technology|
|User-centered design process||User experience design tools for |
Medium/high fidelity prototypes
|Acceptance test-driven development||ATDD/TDD tools for automation of acceptance criteria (specification by examples in tabular or gherkin style)|
|Agile practices like |
Collaborative product backlog refinement
Specification by example
|SCM tool |
Allows cheap branching
Supports multiple workflows
Supports building/deploying/automating any software
Easy to configure and maintain
For more such exciting content and allowing us to be part of your career journey