| 
   |  |  | Usability Engineering | 
 | 
 | usable = brauchbar, verwendbar
 nach Langenscheidts
 Taschenwörterbuch.
 | 
 Usability Engineering ist das derzeitige Ende einer Entwicklung, die in den achtziger
 Jahren als Software-Ergonomie in das Blickfeld der (Informatik-)Öffentlichkeit gelangte.
 Während die Anforderungen an die Ergonomie von Softwareprodukten - besonders in Deutschland -
 in Form von Normen niedergelegt werden, hat sich das Augenmerk verstärkt auf den Prozeß
 zur Erstellung ergonomischer Software gerichtet. Wenn Software-Ergonomie das WAS
 beschreibt, so ist Usability Engineering das zugehörige WIE.
 Während "Mensch-Maschine-Interaktion" oder "Software-Ergonomie"
 für Aussenstehende ziemlich diffuse Begriffe sind, ist Usability Engineering dabei,
 sich als Technologie zu etablieren. Dabei erweist sich die Normung der
 "Gebrauchstauglichkeit" als hilfreich, da hierdurch prüfbare Eigenschaften
 festgelegt werden.
 Das Usability Engineering soll gewährleisten, dass die Tauglichkeit zum Gebrauch
 von Beginn an im Prozess der Softwareentwicklung berücksichtigt wird und über den
 gesamten Lebenszyklus erhalten bleibt. Auf diesem Wege sollen am Ende verwendbare
 Programme herauskommen, die für den Anwender einen Nutzen erzielen und vom Benutzer
 akzeptiert werden.
 
Entwicklungsschritte
 Die Entwicklung von Software erfolgt in mehreren aufeinander aufbauenden Schritten.
 Um dabei die Benutzungsfreundlichkeit der Software sicherzustellen, müssen Aspekte
 der Gebrauchstauglichkeit von Anfang an in diesen Prozess einbezogen werden. Dieses
 Einbeziehung in den gesamten Entwicklungsprozeß wird als Usability Engineering
 bezeichnet. Diese Arbeitsabschnitte werden im Folgenden kurz erläutert:
 - Analyse
 Beginn eines jede Entwicklungsprozesses muss die Analyse der Anforderungen sein.
     Erfolgt die Analyse zumeist aus funktionaler und datenbankorientierter Sicht, so
     wird beim Usability Engineering verstärkt auch auf benutzerorientierte Aspekte wie
     Workflow, Arbeitsumgebung und Benutzereigenschaften geachtet. Aus dieser Sichtweise
     ergeben sich weitere Unterphasen der benutzerorientierten Analyse:
      - Zielanalyse (Usability Goals)
 Jedes Vorhaben muss frühzeitig klären, welche Ziele zu erreichen sind.
          Die frühe Bestimmung von Usability Zielen und ihre ständige Überprüfung,
          ermöglicht es den Gesamtprozess zielgerichtet zu gebrauchstauglicher
          Software zu führen.
- Benutzeranalyse
 Die Benutzeranalyse ermöglicht die Gestaltung eines Modells des künftigen bzw.
          potentiellen Benutzers. Dieses hilft bei der Berücksichtigung unterschiedlicher
          Benutzergfruppen, aber auch bei der Auswahl geeigneter Analyse- und Testpartner.
- Aufgabenanalyse
 Um tauglich für den Gebrauch zu sein muss ein System tauglich sein die Aufgaben
          zu unterstützen für die es eigesetzt werden soll. Diese werden in der Taskanalyse
          untersucht. Dabei ist nicht nur die isolierte Aufgabe von Interesse, sondern
          insbesondere deren zusammenwirken mit Anderen, am selben Arbeitsplatz und auch
          von anderen Benutzern.
- Kompetitive (vergleichende) Analyse
 Die Vorstellung des Benutzers wird von dem geprägt, was er kennt oder lernt.
          Daher sind Konkurrenzprodukte ein Quell von Ideen und Anforderungen, sie können
          daher als Prototypen angesehen werden, aus denen Erkenntnisse für ein besseres
          Produkt gewonnen werden kann.
 
 
 | design = Entwurf, Gestaltung,
 Absicht, Muster,
 (Konstruktions-)zeichnung
 nach Langenscheidts
 Taschenwörterbuch.
 |  
 
- Entwurf
 Anhand der Ergebnisse aus der Analyse wird der Software-Entwurf begonnen.
     Dazu gehört auch die Festlegung der Funktionalität und der Prozeßabläufe,
     bei denen der Benutzer in seiner Arbeitstätigkeit unterstützt werden soll.
     Neben den Analyseergebnissen fliessen in den Entwurf vor allem die Anforderungen
     der Bildschirmarbeitsverordnung und die allgemeinen softwareergonomischen
     Erkenntnisse ein, die in der entsprechenden Fachliteratur und in Normen
     niedergelegt sind.
- In der Designphase wird der Gestaltung der Benutzerschnittstelle
     vorgenommen. Im Hinblick auf das Usability Design umfasst sie die Definition von
     Benutzeraktionen, Feedback, das Aussehen des Bildschirms, die Tätigkeiten des
     Benutzers, die Repräsentation der Systemfunktionalität sowie Reihenfolgenüberlegungen,
     Zugriffsmechanismen und das Design von Interaktionsobjekten und -stilen. Man
     unterscheidet:
      - Konzeptionelles Design
 Diese, oft auch als Grobdesign bezeichnete, Designstufe legt die Arbeitsabläufe
          fest und definiert Objekte und die Operationen auf den Objekten. Des weiteren
          werden Metaphern bestimmt und Standards, Richtlinien und Styleguides erstellt
          bzw. ausgewählt.
- Detaillierter Design
 In dieser Phase werden die Vorgaben des konzeptionellen Designs auf konkrete
          Anwendungsteile umgesetzt. Für die Gestaltung der Benutzerschnittstelle werden
          zumeist sogenannte GUI-Builder eingesetzt, so dass Oberflächenprototypen
          generiert und ausprobiert werden können.
 Grundsätzliches Prinzip beim Design ist die Zusammenarbeit mit Endbenutzern. Die
     Benutzer bringen eigene Designideen ein und sind auch entscheidungsberechtigt.
     Korrekturen können so frühzeitig vorgenommen werden bzw. treten gar nicht erst auf.
  
- Realisierung
 Wird bei der Gestaltung der Benutzerschnittstelle während des detaillierten Designs
     ein GUI-Builder für die intendierte Zielumgebung eingesetzt, so ist in diesem
     Abschnitt "nur noch" für die Anbindung der Interaktionskomponenten an die
     fachliche Funktionalität zu sorgen.
  
- Test
 Zusätzlich zu den bekannten Teststufen bildet das Usability Testing einen
     Bewertungsprozeß, um die Gebrauchstauglichkeit von Produkten und Systemen zu
     überprüfen. (siehe hierzu Usability Testing »)
  
- Betrieb
 Waren die vorherigen Phasen immer nach vorn auf die Tauglichkeit zum Gebrauch
     ausgerichtet, so wird erst in täglichen Gebrauch festgestellt, ob eine Produkt
     auch nutzbar ist. Ständige Überprüfung und Verbesserung wird die Gebrauchstauglichkeit
     und jetzt sogar die Nützlichkeit erhalten und stets wieder auf den neusten Stand
     bringen.
 
Iterative Anwendungsentwicklung
 "Alles fliesst" sagt bereits Euklid und weil alles in stetiger Änderung
 begriffen ist, ist die Voraussage der Zukunft um so schwerer je weiter in die Zukunft
 geschaut werden soll. Die Entwicklung von Anwendungssystemen wurde - und wird auch
 heute noch - vielfach mit sequentiellen, phasenorientierten Vorgehensmodellen
 durchgeführt, mit dem Resultat, dass am Projektende das erzeugte Produkt soweit
 von der Realität entfernt ist, dass es niemand mehr haben will.
 Bei rein technischen Entwicklungen, deren Umfeld fast statisch ist, kann ein derartiges
 Vorgehen noch zum Erfolg führen. In den dynamischen, soziotechnischen Umfeldern, in
 denen interaktive Systeme zum Einsatz kommen ist dies eher unwahrscheinlich. Im Usability
 Engineering wird daher darauf gesetzt, innerhalb möglichst kurzer Zeiträume zu Reaktionen
 der Benutzer zu kommen.
 Um die Zielsetzung eines einfachen und effizient bedienbaren Programms zu erreichen,
 ist in allen Projektphasen notwendig Benutzerfeedback zu bekommen. Nur die rechtzeitige
 Einbeziehung der Benutzern in den Entwicklungsprozeß kann zu einem bedienungsfreundlichen
 System führen. Unter Usability Engineering ist eben vor allem die Durchführung eines
 benutzerzentrierten Entwicklungsprozesses in des Lebenszyklus der Produkte zu verstehen.
 Dies geschieht zum einen durch den frühen Einsatz von Prototypen
 (») und zum anderen durch einen evolutionären Ansatz,
 der auch als Rapid Application Development (RAD) bekannt geworden ist. Dabei werden
 Zwischenstufen realisiert, die in kurzen Zeitspannen realisierbar sind. Wenn diese
 Zeitspannen kleiner als sechs Wochen sind, bedarf es nur selten zusätzlicher
 Maßnahme, solange das Prinzip der Benutzerpartizipation eingehalten wird. Werden
 die Zeitspannen länger, so müssen zusätzliche Maßnahmen eigeleitet werden (siehe
 nächsten Absatz). Länger als sechs Monate sollte solch eine Entwicklungsspanne
 aber nicht dauern.
 Das Usability Engineering sieht zusätzlich noch einen weiteren Feedbackkreislauf von
 Usability Design und Usability Testing vor, bei dem bestimmte Aspekte der Schnittstelle
 durch ständiges Benutzerfeedback zur Reife gebracht wird. Dieses Vorgehen wird solange
 (ca. drei bis vier mal) wiederholt, bis ein für alle Betroffenen zufriedenstellendes
 Ergebnis erzielt worden ist.
 Softwaretechnisch birgt dieses Vorgehen allerdings das eine und andere Risko, wenn
 nicht entsprechend gegengesteuert wird.
 
  - Das unkontrollierte Vorgehen nach dem Try&Error-Prinzip wie es eben beschrieben
      wurde, setzt die Änderungsfreundlichkeit eine Produkte von Mal zu Mal herab. Dies
      ist natürlich auch während des Einsatzes der Fall, aber je weniger zu Anfang
      korrigiert werden musste, desto mehr Verbesserungen können im Betrieb ohne
      "Gefahr" durchgeführt werden.
      
       - Abhilfe kann geschaffen werden durch ein Refactoring vor den Einführungen
           der Zwischenstufen.
 (Übrigens: Try&Error ist eine der effektivsten Lernstrategien!)
 
   
- Wenn erst eine Reihe von Zwischenstufen eingeführt worden sind, so werden die
      ersten veralten, entweder weil sich die Realität weiterentwickelt hat oder im
      Projekt Erkenntnisse entstanden sind, die einen Redesign erforderlich machen.
      
       - Im Verlaufe eines Projektes ist daher immer wieder Zeit einzuplanen, um
           bereits fertiggestellte Zwischenstufen zu überarbeiten.
      
 
 
Prototypentwicklung
 Das fertige Programm ist die beste Spezifikation. Hieran kann der Benutzer erkennen,
 ob es dort eingesetzt werden kann, wofür er es benutzen will. Hieran kann der
 Softwareingineur erkennen, ob es so gebaut wurde, dass es stabil, effizient und
 wartbar ist. Leider muss man diesen Zustand erst einmal erreichen.
 Für moderne Benutzerschnittstellen stellen Prototypen die bestmögliche Spezifikation
 dar. Graphische Aspekte und dynamische Abläufe einer Interaktionsschnittstelle können
 mit herkömmlichen Methoden kaum so verständlich gemacht werden. Bereits in der Analyse
 können "Papierprototypen" in denen das Aussehen des Bildschirms dargestellt
 und die Interaktionen durch das agieren an Papiersymbolen simuliert wird, wertvolle
 Hilfestellung bei der Ermittlung der Anforderungen geben. Die besten Prototypen ergeben
 sich aber bei der Kompetetiven Analyse, wenn anhand von Konkurrezprodukten die
 Anforderungen ermittelt werden, die das eigene Produkt erfüllen muss.
 | Prototyp = 1. Urbild, Muster, Inbegriff
 2. erster Abdruck
 3. erste Ausführung eines ...
 nach Duden, Bd. 5:
 Das Fremdwörterbuch.
 | 
 Was ist ein nun Prototyp?
 Prototypen sind Modelle welche bestimmte Eigenschaften eines Produktes verdeutlichen.
 In Prototypen werden (unvollständige) Teile des Gesamtsystems implementiert, um
 bestimmte Aspekte des Systems anschaulich zu machen. Dies ermöglicht es, bestimmte
 Sichtweisen auf ein Produkt bereits in frühen Stadien der Entwicklung einzunehmen
 und somit Designideen und -umsetzungen auszuprobieren. Prototypen müssen dabei nicht
 notwendigerweise als ausführbare Programme vorliegen, viele Aspekte eines Systems
 können auch durch "Papierprototypen" oder Präsentationsfolgen erfahrbar
 sein.
 Setzt ein Projekt Prototyping in der Entwicklung ein, so soll dadurch ein bestimmter
 Aspekt für die gemeinsame Abstimmung erfahrbarer gemacht werden. Dies kann zum einen
 die Abstimmung zwische Auftraggeber und -nehmer betreffen, aber auch zwischen
 Designteams, wenn neue Realisierungswege ausprobiert und veranschaulicht werden
 sollen.
 Beim iterativen Prototyping wird ein Prototyp erstellt, welcher die ersten Designideen
 veranschaulichen soll. Dieser wird in einem Kreislauf von Design, Evaluation und
 Verbesserung des Designs immer weiter in Richtung auf das Endprodukt verbessert.
 Beim Usability Engineering geht es um Prototypen der Interaktionsschnittstelle, welche
 von den künftigen Benutzern bewertet werden. Die Problempunkte werden im nächsten
 Zyklus verbessert und gute Ideen werden hierdurch verstärkt.
Vorteile:
 - Prototypen helfen Design und Abläufe verständlich zu machen und ermöglichen es
     dadurch, mit allen Beteiligten über ein Design zu diskutieren.
 
- Prototypen sind leicht verständlich für künftige Benutzer. Während es für die
     Benutzer im Allgemeinen problematisch ist, sich Designideen vorzustellen bzw.
     technische Dokumente und Beschreibungen zu kommentieren, erlauben Prototypen
     ein rasches Feedback zu bekommen.
Probleme:
 - Prototypen werden häufig zum Produkt gemacht, ohne vor der Einführung ein
     Refactoring durchzuführen. Dadurch werden andere Qualitätsaspekte nicht oder
     nur unzureichend berücksichtigt.
Mittlerweile ist für das Prototyping - insbesondere für die Benutzerschnittstelle -
 eine Vielfalt von unterstützenden Werkzeuge verfügbar. So lassen sich Rapid Application
 Developer (RAD) oder User Interface Management Systeme (UIMS) einsetzen. 
| Verweise | 
|---|
 |  | 
 
   Qualitätssicherung der ErgonomieGlaubt man den Dokumenten im Internet, dann ist ergonomische Qualitätssicherung
    gleich zu setzen mit Usability Testing. "Qualität kann nicht in Software
    hineingeprüft werden." Will man ein qualitativ hochwertiges Ergebnis haben,
    dann muss das gesamte Handeln von vornherein auf dieses Ziel ausgerichtet sein.
    ... nach draußen:
    Usability Engineering - von der Analyse über Design bis zum Usability Labor
    (www.interface.co.at/usability/usability.html)C-LAB Usability Homepage
    (www.c-lab.de/usability)
 
  Microsoft Usability Home Page
    (www.microsoft.com/Usability) 
 (Ich bin nicht verantwortlich für Inhalte externer Internetseiten.) |  |