Usability Engineering – Eine Einführung
In den letzten Jahren hat der Aspekt der Usability vermehrt Einzug in die Softwareentwicklung und die Produktentwicklung im Allgemeinen erhalten. Man hat festgestellt, dass eine gute Usability die Zufriedenheit der Nutzer erhöht und den entscheidenden Unterschied zu Konkurrenzprodukten ausmachen kann. Außerdem kann durch eine gute Usability das Supportaufkommen signifikant reduziert werden.
Die Norm ISO-9241 definiert die Begriffe ‚Usability‚ und ‚User Experience‚ und legt über Regeln und Prozessmodelle Wege zur Verbesserung der Usability dar.
Usability vs. User Experience
Die ISO-9241 unterscheidet zwischen Usability und User Experience. Usability (deutsch: Gebrauchstauglichkeit) bezieht sich auf den konkreten Vorgang der Nutzung. Kann ein Nutzer eine Aufgabe vollständig und ohne vermeidbaren Aufwand erledigen? Fühlt er sich während der Aufgabenerledigung sicher und wohl? Die Beantwortung dieser Fragen liefert den Grad der Usability.
User Experience bezieht neben der Usability auch die Zeit vor und nach der eigentlichen Nutzung mit ein. Mit welchem Gefühl und mit welchen Erwartungen man die Nutzung angeht und wie man rückblickend darüber denkt. Einfaches Beispiel: Vor der Nutzung eines Geldautomaten in einem fernen Land habe ich ein mulmiges Gefühl. Werde ich die Anweisungen auf dem Bildschirm verstehen? Hoffentlich wird meine Karte nicht einbehalten! Es geht alles gut. Die Menüführung ist zwar etwas umständlich, der Automat erkennt aber automatisch das Herkunftsland der Karte und begrüßt mich sogar auf Deutsch! Trotz der etwas schlechteren Usability ist die User Experience in diesem Fall also recht gut.
Der Usability Engineering Prozess
Die Idee, die dem Usability Engineering Prozess zu Grunde liegt, ist es, den Nutzer und nicht die zu entwickelnden Features als solche in den Mittelpunkt der Entwicklung zu stellen. In einem iterativen Prozess wird erarbeitet, was die Nutzer zur bestmöglichen Erfüllung ihrer Tätigkeiten benötigen. Sukzessiv wird daraus eine Lösung mit hoher Usability entwickelt.
1. Nutzungskontexte beschreiben
Um Usability bewerten zu können ist es notwendig, sich vor Augen zu führen, von wem und unter welchen Rahmenbedingungen das System genutzt wird. So kann beispielsweise ein Gerät mit Touchscreen auf den ersten Blick benutzerfreundlich erscheinen. Wenn es jedoch zumeist von Nutzern bedient werden soll, die während der Arbeit ihre Hände nicht frei haben, ist es für diesen Fall schlicht unbrauchbar. Man spricht hier vom Nutzungskontext. Ein Nutzungskontext enthält
- die Nutzergruppe,
- deren technische und fachliche Kenntnisse,
- deren Arbeitsumgebung und zur Verfügung stehende Ausrüstung sowie
- deren Aufgaben
Nutzungskontextbeschreibungen bilden die Grundlage für alle weiteren Schritte des Usability Engineering Prozesses. Zudem sind sie eine hilfreiche Einstiegslektüre für Teammitglieder, die zu einem späteren Zeitpunkt ins Projekt einsteigen.
2. Nutzungsanforderungen spezifizieren
Auf Grundlage der Nutzungskontexte gilt es nun, Anforderungen an das zu entwickelnde System aus Benutzersicht zu definieren. Die Nutzungsanforderungen sind dann, zusammen mit fachlichen, nicht-fachlichen und weiteren Anforderungen Teil des Pflichtenhefts. Die Erfüllung der Nutzungsanforderungen stellt sicher, dass das System in jedem Nutzungskontext hinreichend benutzbar ist.
3. Gestaltungslösungen entwickeln
Zur Entwicklung von Lösungen mit möglichst hoher Usability gibt es leider kein Patentrezept. Vielmehr müssen in einem iterativen Prozess Gestaltungsvorschläge erarbeitet, deren Usability überprüft und die Gestaltung ggf. angepasst werden. In frühen Phasen der Entwicklung bieten Prototypen eine gute Möglichkeit, schnell Feedback zu grundlegenden Designentscheidungen zu bekommen.
4. Lösung aus Nutzersicht evaluieren
Die Usability einer Lösung lässt sich empirisch erheben. Gruppen von Testnutzern sollen bestimmte Aufgaben lösen. Dabei werden sie beobachtet oder sie geben selbst Feedback. Die Testnutzer und Testszenarien sollen die Nutzungskontexte möglichst genau abbilden. Durch die Beobachtungen und das Feedback lassen sich Usability-Probleme oder Verbesserungen in der Usability im Vergleich mit vorherigen Tests erkennen.
Neben empirischen Usability-Tests gibt die ISO-Norm zusätzlich nützliche Grundregeln an die Hand, bei deren Einhaltung sich Usability-Probleme bereits während der Entwicklung vermeiden lassen. Diese sind die Grundsätze der Dialoggestaltung (ISO 9241-110):
- Aufgabenangemessenheit
- Selbstbeschreibungsfähigkeit
- Erwartungskonformität
- Lernförderlichkeit
- Steuerbarkeit
- Fehlertoleranz
- Individualisierbarkeit
Lösungen mit problematischer Usability verstoßen zumeist gegen mindestens einen dieser Grundsätze.
Fazit und Ausblick
Mit dem Usability Engineering Prozess und den vielzähligen Möglichkeiten zur Evaluation lässt sich die Usability bestehender Produkte verbessern und neue Lösungen mit möglichst hoher Usability können entwickelt werden. Eine der Herausforderungen ist es nun, Usability Engineering in bestehende Entwicklungsprozess-Modelle (z.B. SCRUM) zu integrieren.
Titelbild: Fotolia – @REDPIXEL
Softwareentwicklung