Agile Softwareentwicklung

Usability Driven Development

31.08.2010
Usability Driven Development (UDD) ist ein iterativer Entwicklungsprozess, der die Benutzbarkeit (Usability) eines Systems in den Mittelpunkt stellt.

Das Vorbild für UDD, auch User Interface Driven Develpoment oder UI-First Software Development genannt, ist Extreme Programming, das um Elemente des User Centered Design erweitert wurde.

Jede Iteration besteht beim UDD aus neuen Phasen:

  • Planungsspiel

  • Aufwandsabschätzung

  • Interface Design

  • Modellierung

  • Testdesign

  • Programmierung

  • Integration

  • Deployment

  • Usability Test

Ablauf einer Iteration in UDD (jensjaeger.com)
Ablauf einer Iteration in UDD (jensjaeger.com)
Foto: BQI

Phase 1 - Planungsspiel: Die Entwicklung einer Software nach UDD beginnt mit einem Planungsspiel. Der Kunde oder ein Teammitglied der Geschäftsseite notiert alle Aufgaben die das System erfüllen soll in Form von Storycards. Diese Storycards werden nach Priorität sortiert und entsprechend dieser Reihenfolge entwickelt. Das Planungsspiel wird bei jeder Iteration wiederholt. Dadurch hat der Kunde in jeder Iteration die Möglichkeit, die Priorisierung zu ändern und völlig neue Storycards hinzuzufügen. Weitere Storycards kommen durch, im Verlauf der Entwicklung durchgeführte, Usability Tests hinzu. Diese müssen ebenfalls vom Kunden priorisiert werden.

Phase 2 - Aufwandsabschätzung: Jeder Entwickler übernimmt Storycards, die Arbeit bis zum nächsten Planungsspiel enthalten. Dabei wird die Aufwandsschätzung durch die Entwickler selbst vorgenommen. Nach jeder Iteration werden die Ist-Zeiten mit den geschätzten Soll-Zeiten verglichen. So entsteht im Verlauf des Projekts eine bessere Basis für weitere Schätzungen.

Phase 3 - Interface Design: Programmierung ist im Vergleich zum Oberflächendesign sehr aufwendig und nur schwer zu verändern. Daher wird im UDD zuerst die GUI einer Anwendung betrachtet. Die Oberfläche einer Software zu gestalten ist verhältnismäßig leicht. Eine Skizze auf einem Blatt Papier ist schnell angefertigt und einfach zu ändern. Ein anderer wichtiger Grund das Interface zuerst zu gestalten ist, dass die Oberfläche das ist, was die Anwender zu Gesicht bekommen. Mit einer Anwendungssoftware, die zwar über großartige Funktionen verfügt, aber eine unattraktive Oberfläche besitzt, wird man nur schwer Kunden gewinnen können.

Bei umfangreichen Oberflächenänderungen oder Erweiterungen sollte von der Möglichkeit Gebrauch gemacht werden, in die Phase Usability Test zu springen. So kann das entworfene Design geprüft und eventuell verbessert werden, bevor zu viel Arbeit investiert wurde.