But can the quality of software be measured or assessed at all and what is meant by software quality? And what does User Centered Design (UCD) have to do with it?
Overview:
|
The importance of software quality
Let's start with the term software quality. This refers to the degree to which the developed product meets the requirements, needs and expectations of users and other stakeholders such as operations or support. It can also be said that it means that a software product has certain quality characteristics. In turn, the process used to develop the software product has an influence on quality. Nevertheless, assessing quality using objective criteria is not trivial, as there is no standardized procedure for this. Quality can be interpreted and perceived differently by different people and depends on the usage scenario.
Nevertheless, there are various features that can help to ensure software quality. They are suggested by the ISO/IEC 9126 standard. For example, the following are characteristics:
- Functionality
Are the previously defined services and functions provided and fulfilled? - Reliability
How stable is the product? Can a previously defined performance level be achieved over a previously defined period of time under certain conditions? Is the functionality always the same and is the same result always delivered? - Faultlessness
Are there any technical errors, display problems, etc.? - Efficiency
What about running ability and work performance? - Usability
How user-friendly is the software? - Transferability
Can software be migrated to another system? With what effort? - Adaptability
Is customization possible? Are APIs or other interfaces available? - Maintainability
Is it possible to add updates and bug fixes quickly and easily?
During the development phase, the software should be repeatedly tested for these criteria. In practice, however, these can contradict each other. It is therefore often not possible to optimize all quality characteristics at the same time due to conflicting objectives. They should therefore be weighed up and prioritized according to importance. Obvious bugs should always be fixed. Weighing up and prioritizing also applies to the implementation of functions. Other quality problems can also be uncovered with the help of testers so that no more obvious errors can be identified. In general, the target group must be taken into account when prioritizing, as the requirements and priorities vary depending on this [1], [2], [3].
What is the connection between UCD and software quality?
I'm sure everyone has had the experience that their first impression when using a system is that it neither looks good nor works well. But software is not automatically bad just because we think it looks cumbersome or outdated. It is good if it fulfills the desired purpose for the user. Many people will be familiar with the saying that beauty is in the eye of the beholder. In the same way, it can also be said that the user experience is at the discretion of the user. This shows us that we should definitely know who the users are and involve them in the software development process.
This importance of users is also reflected in the thesis that the requirements, needs and expectations of users must be known and taken into account in order to achieve good software quality.
Questions that arise from this include the following:
- How can the requirements, needs and expectations of users be identified? The aim is to solve the right problem.
- How well do we know the users?
- What exactly does the word "consider" mean? What do we have to do here?
The solution? - User Centered Design (UCD)
The solution to these challenges can be found in User Centered Design. UCD is an iterative process that outlines the phases of a design and development cycle and focuses on gaining a deep understanding of the people who use a product. In UCD, users are permanently involved in the entire development process at an early stage and their needs are placed at the center at all times. This results in the following Advantages:
- Decisions are tested and validated, allowing targeted and verified statements to be made
- The result is much more likely to be useful, usable and meaningful.
- Any problems encountered by users can be detected in good time
- User acceptance is strengthened (keyword: sustainable software)
- Development times are shorter and development, care and maintenance costs are lower (100% quality may cost more initially, but is more cost-efficient in the long term)
The aim of UCD is also that products must be manufactured with an optimal user experience, including all aspects such as usability, accessibility, etc.

Products that have been developed using the UCD process enable users to fulfill their needs as easily as possible. Optimized usability leads to a multiple reduction in costs and, above all, to greater satisfaction. This also means greater customer loyalty. IBM also explains that it is far more economical to consider the needs of users at an early stage than to try to solve them later: "Every dollar invested in ease of use returns $10 to $100."[4][5]
The doubleSlash Design Process: We put the user at the center at all times and make decisions consciously and methodically
That is our understanding at doubleSlash. Our mission is: "We create value through software products for companies." By this we mean that our software products generate added value for our customers and their customers by meeting the requirements, needs and expectations of users. In this way, we ensure that we design and develop digital services that people enjoy using and that provide users with the best possible support in solving problems and getting work done in the best possible way.
We are aware that every piece of software and every task we are confronted with in the development process has a direct or indirect impact on the users.
To achieve this goal in the best possible way, we work according to the "doubleSlash Design Process" (dDP) approach that we have developed. This places the user at the center of our considerations and actions. The doubleSlash Design Process also aims for good usability, a positive user experience and a high utility value of the solution.
Working principles of the dDP
- We try to understand the users, their tasks and context of use as well as possible and involve them in our work process.
- We test and validate our work results with the users.
- We work iteratively.
- We take care of a holistic user experience.
- We work in multidisciplinary teams with different skills and perspectives.
These working principles are applied throughout the entire software development process (consulting - backend - frontend).
Working methodology of the dDP
We work iteratively and first explore the problem by opening up the problem space and trying to understand it as best we can. We then go one step further so that there is a problem that we can define.
Only then do we start looking for different solutions. Finally, we focus on a few solutions and converge them into one, which we test and validate with the users.
As we firmly believe that added value can only be created through intelligent and usable software, we see UCD as an integral part of our understanding of quality and not as an optional package. Ensuring the best possible experience for users is always the overriding goal. In addition, a product should the number of features can be variable, but not the qualitybecause this is not negotiable. Nevertheless, it must be clear that product requirements vary with the degree of maturity / phase of the product and that the definition of quality therefore also changes from one product maturity phase to the next.
Learn more about user-centered design
Sources:
[1] https://www.dev-insider.de/software-qualitaet-sicherstellen-und-messen-a-609609/
[2] https://www.dev-insider.de/was-ist-softwarequalitaet-a-791790/
[3] https://www.seobility.net/de/wiki/User_Centered_Design
[4] https://stratabeat.com/roi-of-ux/
[5] https://wirtschaftslexikon.gabler.de/definition/softwarequalitaet-45483
[6] https://entwickler.de/agile/user-centered-design-alles-fur-den-nutzer-002



