Der Nutzer im Mittelpunkt der Softwareentwicklung

Im Mittelpunkt dieses Blogbeitrags steht die Integration von User Centered Design (UCD) in unseren agilen Softwareentwicklungsprozess bei der Saxonia Systems AG (seit 03/2020 ZEISS Digital Innovation). Dabei wird vor allem auf die Artefakte und Methoden eingegangen, welche dafür sorgen, dass die Software auf den tatsächlichen Nutzer maßgeschneidert wird.

Die Wurzel schlechter Usability

Warum benutzt niemand die neue Software? Wenn diese Frage aufkommt, ist es meist schon viel zu spät. Die Entwicklung ist bereits abgeschlossen und die Nutzer bleiben aus bzw. halten an der alten Lösung fest. Dann ist es wahrscheinlich wieder einmal passiert, dass bei der Aufnahme der Anforderungen Annahmen getroffen wurden, welche an den tatsächlichen Bedürfnissen der Nutzer vorbei gehen. Dies ist ein in der Praxis leider häufig vorkommendes Phänomen, welches sich in schlechter Benutzbarkeit und niedriger Akzeptanz der finalen Software ausdrückt. Ein Lösungsansatz hierfür bietet das User Centered Design (UCD). Dieses stellt die Aufgaben, Eigenschaften und Ziele der zukünftigen Nutzergruppen in den Mittelpunkt des Softwareentwicklungsprozesses, um eine hohe Usability des Endproduktes zu gewährleisten.

User Centered Design

Durch unser agiles Vorgehensmodell sind wir in der Lage, schnell auf Änderungen und neue Anforderungen zu reagieren. Frühes Feedback von zukünftigen Nutzern ist essenziell für eine hohe Benutzbarkeit. Durch Artefakte und Methoden des Usability Engineerings wird unser an Scrum angelehntes Vorgehen so erweitert, dass der Nutzer von Anfang an regelmäßig eingebunden wird.

UCD-Artefakte unseres agilen Vorgehensmodells
Abbildung 1: UCD-Artefakte unseres agilen Vorgehensmodells

Bereits zu Beginn des Projekts werden UCD-Elemente innerhalb der Product Vision verankert. Neben klassischen Bestandteilen, wie beispielsweise dem Projektziel oder der Systemgrenze, sind die Beschreibung der Nutzergruppen und des Nutzungskontexts sinnvolle UCD-Ergänzungen.

Im Product Backlog gibt es neben User Stories und technischen Spikes explizit Platz für Design Spikes, welche es dem Team erlauben, sich intensiv mit komplexen Usability-Themen zu befassen. Hierbei werden beispielsweise verschiedene Prototypen als Entscheidungsgrundlage entworfen oder Nutzerstudien konzipiert und durchgeführt.

In den beiden Scrum-Artefakten Definition of Ready und Definition of Done sind zusätzliche Qualitätsschranken integriert, um zu garantieren, dass die Software die zukünftigen Nutzungsanforderungen erfüllt. Durch vorgelagertes Prototyping ermitteln unsere Usability-Experten schon vor der Umsetzung, ob die Anforderungen zu den Bedürfnissen der Nutzer passen.

Bevor User Stories für ihre Umsetzung bereit sind, werden sie mit Skizzen, Mockups oder Designs (als Output aus dem Prototyp) erweitert. Diese verdeutlichen die zu implementierenden Funktionen für das Entwicklungsteam visuell. Sofern sie angewendet werden können, sind auch Prozessmodelle enthalten, um komplexe Abläufe zu veranschaulichen.

User Stories gelten aus UCD-Sicht als abgeschlossen, wenn die Usability-Prinzipien eingehalten wurden. Dies kann durch eine Experten-Evaluation überprüft werden. Dabei untersucht der Usability Engineer die neue Funktion heuristisch auf die Einhaltung von Richtlinien. Zusätzlich wird geprüft, ob der Styleguide eingehalten wurde und so die Konsistenz der Anwendung sichergestellt ist.

Zur Ablage von Usability-relevantem Hintergrundwissen empfiehlt sich ein zentraler Sammelort (Project Knowledge Base), z. B. in Form eines Team-Wikis.

Somit kann sich das Team jederzeit über das ermittelte Nutzerfeedback und den aktuellen Stand aus UCD-Sicht informieren. Empfehlenswerte Inhalte sind:

  • Informationsarchitektur
  • Domänenmodell
  • Systemdokumentation
  • Studien- und Testergebnisse, z. B. Nutzerstudien und CUI-Tracking
  • Personas

Wie in den obigen Abschnitten deutlich wird, beziehen wir den Nutzer an zahlreichen Stellen bei der Entwicklung von Individualsoftware ein. Unserer Erfahrung nach ist dies für eine hohe Nutzbarkeit und die Akzeptanz des Endprodukts essenziell. Durch das frühzeitige Einholen von Nutzerfeedback mit agilen und leichtgewichtigen Methoden können Sie die anfängliche Frage „Warum benutzt niemand die neue Software?“ aus ihrem Wortschatz streichen, denn der Nutzer ist der Schlüssel zum Erfolg.

Usability in Softwareentwicklungsprojekten

Das Problem: Usability greifbar und nachvollziehbar machen

Wie steht es um die Usability meiner Software? Diese Frage stellt sich spätestens, wenn die tatsächlichen Nutzer die Anwendung das erste Mal zu Gesicht bekommen. Oft wird dann festgestellt, dass die geplante Software gar nicht optimal auf die Endnutzer abgestimmt ist. Zu diesem Zeitpunkt ist es meist zu spät größere Änderungen einzupflegen. Folgeprobleme wie die mangelnde Akzeptanz oder gar das Scheitern des Softwareprojektes sind mittlerweile durch zahlreiche Studien bestätigt. Ansätze wie das „User Centered Design“, welche den Nutzer in den Mittelpunkt des Entwicklungsprozesses stellen, zeigen wie erfolgreich diese Einbindung und die frühzeitige Betrachtung von Usability sein kann. Die Kernproblematik, welche jedoch bestehen bleibt, ist die Schwierigkeit Usability greifbar zu machen. Ein Lösungsansatz dazu soll mit diesem Beitrag vorgestellt werden.

Die Idee: Der Custom Usability Index

Der Custom Usability Index (CUI) stellt eine Kennzahl dar, welche zum aktuellen Projektzeitpunkt den Erreichungsgrad der Usability einer Software misst.

Die Basis: 13 Designprinzipien

Die Kennzahl repräsentiert dabei die aggregierte Bewertung von 31 Kriterien, welche 13 übergeordneten Kategorien zugeordnet sind. Die Kategorien basieren auf selbstentwickelten Designprinzipien, welche ihren Ursprung in ISO-Normen und der State-of-the-Art Literatur zu Usability haben.

Zu Beginn eines Projektes können Stakeholder die oben dargestellten Kategorien individuell nach ihren Anforderungen gewichten und so Schwerpunkte festlegen.

Die Bewertung: Where the magic happens

Da jedes Projekt einzigartig ist, muss zu Projektstart zusätzlich definiert werden, wann ein Kriterium die jeweils beste Usability erreicht hat. Um ein einheitliches Verständnis zu bekommen, welchen gewünschten Zielzustand die Anwendung in den jeweiligen Kriterien haben soll, ist es von Vorteil das komplette Team inklusive der beteiligten Stakeholder bei der Festlegung einzubeziehen. Ein positiver Nebeneffekt ist, dass beide Seite für das Thema Usability sensibilisiert werden.

Die eigentliche Bewertung der Kriterien erfolgt mit speziellen Usability-Testmethoden. Die Tests sind im Verlaufe eines Projektes regelmäßig am Teilprodukt durchzuführen. Die Maximalbewertung eines Kriteriums ist nur erreicht, wenn der vorher definierte Zielzustand zu 100% erfüllt ist. Der finale CUI-Wert spiegelt dann die gewichteten Durchschnittsbewertungen der 13 Kategorien wieder.

Das Ergebnis: Usability macht glücklich

Durch regelmäßiges Messen des CUI wird Usability für das Team sowie alle Stakeholder nachvollziehbar. Es ist jederzeit sichtbar, in welchem Zustand sich die Software in den einzelnen Kategorien befindet und an welchen Stellen eventuell noch nachgebessert werden muss.

Im obigen Beispiel ist eine stetige Verbesserung der Usability bis Release 2 erkennbar. Mit Release 3 wurde jedoch ein Rückgang festgestellt. Durch das Erkennen der betroffenen Kategorien konnte direkt in der Entwicklung nachgebessert werden. Das Ergebnis wird mit einem großen Usability Zuwachs mit Release 4 deutlich.

Mit dem in diesem Blogbeitrag vorgestellten CUI wurde eine Möglichkeit aufgezeigt, um die Usability einer Software über ihren Entwicklungsprozess hinweg zu messen und für alle Projektbeteiligten nachvollziehbar zu machen. Durch die hohe Transparenz und Sensibilisierung der Stakeholder für Usability allgemein erhält die Software ein unverkennbares Qualitätsmerkmal.