Warum ist User Centered Design (UCD) wichtig für die Qualität einer Software?

20.07.2022

Um qualitativ hochwertige Software zu entwickeln, sollten die Qualitätsziele der zu entwickelnden Software von der Entwicklerin oder dem Entwickler bereits in der Planungsphase definiert werden.

Aber kann die Qualität von Software überhaupt gemessen oder beurteilt werden und was versteht man unter Softwarequalität? Und was hat User Centered Design (UCD) damit zu tun?

Überblick:

  • Es gibt kein standardisiertes Verfahren zur Bewertung von Softwarequalität, dennoch tragen verschiedene Merkmale zur Sicherung bei.
  • Software ist dann gut, wenn sie den gewünschten Zweck für die Benutzenden erfüllt.
  • Um das gewährleisten zu können, müssen die Benutzenden bekannt sein sowie deren Anforderungen, Bedürfnisse und Erwartungen und in den Softwareentwicklungsprozess miteinbezogen werden.
  • User Centered Design löst diese Herausforderungen.
  • Auch mit unserem doubleSlash Design Prozess sehen wir UCD als festen Bestandteil an – er zielt darauf ab, die Benutzenden bestmöglich zu verstehen und sie in den kompletten Softwareentwicklungsprozess zu involvieren, da wir der festen Überzeugung sind, dass Mehrwert nur durch intelligente und benutzbare Software geschaffen wird.

Die Bedeutung von Softwarequalität

Starten wir mit dem Begriff Softwarequalität. Darunter wird der Grad verstanden, in dem das entwickelte Produkt die Anforderungen, Bedürfnisse und Erwartungen der Benutzenden, sowie weiterer Stakeholder wie beispielsweise dem Betrieb oder dem Support erfüllt. Es lässt sich ebenso sagen, dass es bedeutet, dass ein Softwareprodukt bestimmte Qualitätseigenschaften aufweist. Einfluss auf die Qualität hat wiederum der Prozess, wie bei der Entwicklung des Softwareprodukts vorgegangen wird. Dennoch ist die Bewertung von Qualität mithilfe objektiver Kriterien nicht trivial, denn es gibt dafür kein standardisiertes Verfahren. Qualität kann von verschiedenen Menschen unterschiedlich interpretiert und wahrgenommen werden und hängt vom Nutzungsszenario ab.

Dennoch gibt es verschiedene Merkmale, die zur Sicherung der Softwarequalität beitragen können. Sie werden von der Norm ISO/IEC 9126 vorgeschlagen werden. Folgendes sind beispielsweise Merkmale:

  • Funktionalität
    Werden die zuvor definierten Leistungen und Funktionen erbracht und erfüllt?
  • Zuverlässigkeit
    Wie stabil läuft das Produkt? Kann ein zuvor definiertes Leistungsniveau über einen zuvor definierten Zeitraum unter gewissen Bedingungen erbracht werden? Ist die Funktionsweise immer dieselbe und wird immer dasselbe Ergebnis geliefert?
  • Fehlerfreiheit
    Gibt es technische Fehler, Darstellungsprobleme, etc.?
  • Effizienz
    Wie steht es um die Lauffähigkeit und Arbeitsleistung?
  • Usability
    Wie benutzerfreundlich ist die Software?
  • Übertragbarkeit
    Kann Software in ein anderes System migriert werden? Mit welchem Aufwand?
  • Adaptierbarkeit
    Ist eine Anpassung an die Kundenwünsche möglich? Sind APIs oder andere Schnittstellen vorhanden?
  • Wartbarkeit
    Ist es möglich, Updates und Bug fixes leicht und schnell einzupflegen?

In der Entwicklungsphase sollte die Software immer wieder auf diese darin genannten Kriterien getestet werden. Diese können sich in der Praxis aber widersprechen. Es ist in der Regel also oft nicht möglich alle Qualitätseigenschaften aufgrund von Zielkonflikten gleichzeitig zu optimieren. Daher sollte nach Wichtigkeit abgewogen und priorisiert werden. Offensichtliche Bugs gilt es grundsätzlich immer zu beheben. Das Abwägen und Priorisieren gilt auch für die Implementierung von Funktionen. Weitere Qualitätsprobleme können zudem mit der Hilfe von Testpersonen aufgedeckt werden, damit schließlich keine offensichtlichen Fehler mehr erkennbar sind. Generell ist bei Priorisierungen die Zielgruppe zu beachten, denn je nachdem variieren die Anforderungen und Prioritäten [1], [2], [3].

Worin besteht der Zusammenhang zwischen UCD und Softwarequalität?

Es hat sicher jeder schonmal erlebt, dass der erste Eindruck bei der Benutzung eines Systems davon geprägt war, dass es weder schön aussieht noch gut funktionierten kann. Aber: Eine Software ist nicht automatisch schlecht, nur weil sie unserer Meinung nach umständlich oder veraltet wirkt. Sie ist dann gut, wenn sie für die Benutzenden den gewünschten Zweck erfüllt. Viele werden das Sprichwort kennen, dass die Schönheit im Auge des Betrachters liegt. Genauso lässt sich auch sagen, dass das Benutzererlebnis im Ermessen der Benutzenden liegt. Das zeigt uns, dass wir unbedingt wissen sollten, wer die Benutzenden sind und sie in den Softwareentwicklungsprozess mit einbeziehen.
Diese Bedeutung der User spiegelt sich ebenfalls in der These wider, dass für eine gute Softwarequalität die Anforderungen, Bedürfnisse und Erwartungen der Benutzenden bekannt sein und berücksichtigt werden müssen.

Fragen, die sich daraus ergeben, sind beispielsweise folgende:

  • Wie können die Anforderungen, Bedürfnisse und Erwartungen der Benutzenden herausgefunden werden? Das Ziel ist es, das richtige Problem zu lösen.
  • Wie gut kennen wir die Benutzenden?
  • Was bedeutet das Wort „berücksichtigen“ genau? Was müssen wir hier tun?

Die Lösung? – User Centered Design (UCD)

Die Lösung dieser Herausforderungen findet sich im User Centered Design. UCD ist ein iterativer Prozess der die Phasen eines Design- und Entwicklungszyklus umreißt und sich darauf konzentriert, ein tiefes Verständnis für die Personen zu erlangen, die ein Produkt anwenden. Beim UCD werden User früh und permanent in den gesamten Entwicklungsprozess mit einbezogen und zu jeder Zeit mit ihren Bedürfnissen in den Mittelpunkt gestellt. Daraus ergeben sich folgende Vorteile:

  • Entscheidungen werden getestet und validiert, wodurch gezielte und geprüfte Aussagen getroffen werden können
  • Das Ergebnis wird mit sehr viel höherer Wahrscheinlichkeit nützlich, benutzbar und sinnvoll
  • Eventuelle Probleme von Anwendenden können rechtzeitig aufgedeckt werden
  • Die Akzeptanz der User wird gestärkt (Stichwort: nachhaltige Software)
  • Die Entwicklungszeiten werden kürzer und Entwicklungs-, Pflege- und Wartungskosten niedriger (100% Qualität kann initial zwar mehr kosten, ist aber langfristig kosteneffizienter)

Das Ziel von UCD besteht zudem darin, dass Produkte mit optimaler User Experience, inklusive aller Aspekte, wie beispielsweise Usability, Barrierefreiheit, etc. hergestellt werden müssen.

User Centered
Abbildung 1: Vorteile von hoher Usability, Quelle: Eigene Darstellung

Produkte die mithilfe des UCD Prozesses entwickelt wurden, ermöglichen Usern eine möglichst einfache Erfüllung ihrer Bedürfnisse. Eine optimierte Usability führt zu einer vielfachen Reduktion von Kosten und vor allem aber auch zu höherer Zufriedenheit. Das bedeutet auch eine höhere Kundenbindung. Auch IBM erklärt, dass es weitaus wirtschaftlicher ist, die Bedürfnisse der Benutzenden frühzeitig zu berücksichtigen, als zu versuchen sie später zu lösen: „Every dollar invested in ease of use returns $10 to $100.“[4][5]

Der doubleSlash Design Process: Wir stellen die Benutzenden zu jeder Zeit in den Mittelpunkt und treffen Entscheidungen bewusst und methodisch gestützt

Das ist unser Verständnis bei doubleSlash. Unsere Mission lautet: „Wir erzeugen Wertschöpfung durch Softwareprodukte für Unternehmen.“ Darunter verstehen wir, dass durch die Erfüllung der Anforderungen, Bedürfnisse und Erwartungen der Benutzenden unsere Softwareprodukte Wertschöpfung bei unseren Kunden und deren Kunden erzeugen. Damit stellen wir sicher, dass wir digitale Services konzipieren und entwickeln, die gerne genutzt werden und User bestmöglich dabei unterstützen, Probleme zu lösen und Arbeit bestmöglich zu erledigen.
Wir sind uns bewusst, dass jedes Stück Software und jede Aufgabe, mit der wir im Erstellungsprozess konfrontiert sind, direkt oder indirekt Auswirkungen auf die Anwendenden hat.

Zur bestmöglichen Erreichung dieses Ziels arbeiten wir nach dem von uns entwickelten „doubleSlash Design Process “ (dDP) Ansatz. Damit stellen wir die User in den Fokus unserer Überlegungen und Handlungen. Der doubleSlash Design Process zielt zudem auf eine gute Usability, eine positive „User Experience“ und auf einen hohen Nutzwert der Lösung ab.

Arbeitsprinzipien des dDP

  • Wir versuchen, die Benutzenden, deren Aufgaben und Benutzungskontext bestmöglich zu verstehen und involvieren sie in unseren Arbeitsprozess.
  • Unsere Arbeitsresultate testen und validieren wir mit den Anwendenden.
  • Wir arbeiten iterativ.
  • Wir kümmern uns um eine gesamtheitliche User Experience.
  • Wir arbeiten in multidisziplinären Teams mit verschiedenen Skills und Sichtweisen.

Die genannten Arbeitsprinzipien ziehen sich über den kompletten Softwareentwicklungsprozess (Consulting – Backend – Frontend).

Arbeitsmethodik des dDP

Wir arbeiten iterativ und erkunden zunächst das Problem, indem wir den Problemraum öffnen und versuchen, diesen bestmöglich zu verstehen. Anschließend gehen wir einen Schritt weiter, sodass es ein Problem gibt, das wir definieren können.

Erst dann beschäftigen wir uns damit, verschiedene Lösungen zu finden. Schlussendlich fokussieren wir einige, wenige Lösungen und konvergieren diese zu einer, die wir mit den Benutzenden testen und validieren.

Da wir der festen Überzeugung sind, dass Mehrwert nur durch intelligente und benutzbare Software geschaffen wird, sehen wir UCD als festen Bestandteil und nicht als optionales Paket unseres Qualitätsverständnisses. Das bestmögliche Erlebnis für die Anwendenden sicherzustellen, ist stets das übergeordnete Ziel. Außerdem sollte bei einem Produkt die Anzahl der Features variabel sein, aber nicht die Qualität, denn diese ist nicht verhandelbar. Dennoch muss klar sein, dass Anforderungen an ein Produkt mit dem Reifegrad / der Phase des Produkts variieren und sich somit auch die Definition von Qualität von der einen Produktreifephase zur nächsten ändert.

Mehr zu User Centered Design erfahren

 

Quellen:

[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

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*