Umgang mit Fehlern
Einleitung -Modellierung - Steuerbarkeit - Sichtbarkeit -Natürliche Symbole - Einfachheit - Intuitive Bedienung - Anpassbarkeit - Regelungen

Am 20.1.1992 stürzte eines der modernsten Passagierflugzeuge, ein Airbus A320, beim Anflug auf den Flughafen Straßburg ab. Nur neun der 96 an Bord befindlichen Personen überlebten den Unfall. Die offiziellen Stellungnahmen der betroffenen oder mit dem Unglück befassten Agenturen überschlugen sich schnell mit der Mitteilung, dass es sich um “menschliches Versagen” handele, ein Versagen der technischen Systeme dagegen mit Sicherheit auszuschließen sei.

Die Situation im Cockpit kurz vor dem tragischen Zwischenfall lässt sich nach einem internen Untersuchungsbericht wie folgt charakterisieren: Fünf voneinander unabhängige Systeme belauern und kontrollieren sich gegenseitig. Sechs Bildschirme visualisieren alle wichtigen Informationen: künstlichen Horizont, Höhe, Flugweg, Geschwindigkeit, Tankvorrat und Triebwerksleistung. Wird irgendwas brenzlig, springt die Farbe von blau auf rot um. Alle Steuerbewegungen des Piloten werden in elektronische Signale umgewandelt. Sie durchlaufen einen Computer, der die Plausibilität prüft und die Signale blockiert, wenn sie dem Computer nicht plausibel erscheinen. "Der Mensch denkt, der Computer lenkt. Doch unglücklich wird's, wenn Denker und Lenker sich nicht verstehen," heisst es weiter in dem Bericht. Besonders leicht zu Missverständnissen führt die Tatsache, dass die Gas- und Steuerhebel nicht mehr mechanisch, sondern nur noch elektronisch funktionieren. Deshalb bewegen sie sich auch nicht mit, wenn der Computer z.B. Vollgas gibt.

Hier liegt ein Fehler in dem bereits beschriebenen mapping, d.h. in der Zuordnung von Symbolen zur Wirklichkeit, vor. Piloten, die die Stellung des Gashebels gleichsam als Zeiger für die aktuelle Motorleistung ansehen, machen damit unter Umständen einen verhängnisvollen Fehler. Der Computer hat z.B. Gas gegeben, aber die Stellung der Hebel nicht mitbewegt. Die Designer des Bediensystems haben zu sehr an die Funktionalität des Hebels gedacht (zum manuellen Steuern), nicht aber an die Funktion, die der Hebel als Anzeigemedium haben kann. In den Bewertungen des Unglücks ist nur vom “menschlichen Versagen” der Piloten die Rede; dass dieses Versagen möglicherweise erst durch die Designfehler des technischen Systems provoziert wurde, bleibt unerwähnt und ungeklärt.

An dieser Stelle ist es deshalb angebracht, etwas gründlicher über Fehler und Menschen nachzudenken. Das Wort Fehler in seiner üblichen Bedeutung legt Fehlverhalten oder Versagen nahe, auf jeden Fall etwas Negatives, das es auszumerzen gilt. Das ist unbedingt richtig - wenn es sich dabei um einen Computer handelt. Dem sollte man Fehler nicht durchgehen lassen. Aber Menschen sind keine Computer, sie funktionieren auch nicht annähernd wie Computer.

Vielleicht besteht das, was wir Denken nennen, größtenteils aus verschwommenen, intuitiven, vergleichenden und mit Fehlern behafteten Vorgängen, die unser Gehirn offensichtlich sehr mühelos zuwege bringt, während das exakte Rechnen und logische Schlussfolgern eher etwas darstellen, was wir zwar auch zustande bringen, aber eben als Ausnahmeleistung dessen, womit das Gehirn überwiegend beschäftigt ist. Menschen tun sich dort schwer, wo Computer Aufgaben in bewundernswerter Genauigkeit und vor allem Schnelligkeit bewältigen. Umgekehrt bringen Menschen Hervorragendes zustande, vor allem dort, wo Computer sich schrecklich schwer tun. Diese Erfahrung haben insbesondere Entwickler gemacht, die die Regeln programmieren wollten, nach denen Experten ihre Urteile treffen. Sie mussten feststellen, dass diese Experten oft selber nicht die geringste Ahnung hatten, nach welchen Regeln sie ihre Entscheidungen trafen, wenn es denn überhaupt Regeln waren. “Komplexe Aufgaben... wie Ballwerfen, das Wiedererkennen eines Gesichtes, das Verstehen von Sprache, machen uns so wenig Mühe, dass uns gar nicht bewusst wird, wie schwierig sie sind, bis wir versuchen, sie einer Maschinen zu übertragen. Auf der anderen Seite müsste das jämmerliche Durcheinander, das die meisten Menschen beim logischen Argumentieren oder beim Rechnen anrichten, einen billigen Taschenrechner aus der Fassung bringen”, meint der Erkenntnisforscher James Anderson.

Menschen machen routinemäßig Fehler. Es vergeht kaum eine Minute, in der nicht irgend etwas, was wir getan oder gesagt haben, korrigiert wird, sozusagen unter der Hand, ohne dass dies besonders auffällt. Die Korrekturen laufen so automatisch ab, dass sie meist nicht einmal mehr bemerkt werden.

Das Nachdenken der Philosophen und der Psychologen über den menschlichen Geist hat sich oft an den hervorragenden Denkleistungen, zu denen Menschen fähig sind, orientiert und sich weniger um die Banalitäten des Alltags gekümmert. Hier waren eher die Versagensmechanismen Thema, die Frage nach der mangelnden Rationalität im realen Verhalten der Menschen. Dazu nochmals Don Norman:

Nach Auffassung dieser sich “Konnektionisten” nennenden Psychologen stützt sich das Denken in großem Maße auf die Lebenserfahrung. In unserem Gedächtnis speichern wir demnach Dinge, Situationen und Gefühle als eine Art Prototyp von Beziehungsmustern. Dabei scheint unser Gedächtnis so vorzugehen, dass immer ein Grundmuster gespeichert wird, der Prototyp, und ein diesem Grundmuster zugeordnetes Abweichungsmuster. Neue Eindrücke werden mit den Grund- und Abweichungsmustern verglichen. Dies erfolgt im Gehirn in einer Form massiver Parallelverarbeitung, wobei immer Abermillionen von Neuronen betroffen sind. Dieses “neurale Netzwerk” in unserem Gehirn “denkt nicht logisch oder Schritt für Schritt wie ein Computer, sondern eher wie eine Bürgerversammlung in einer Stadt..., wo die anfangs hitzige Debatte allmählich in einen Beschluss mündet” (Norman). Gedanken sind dann das Ergebnis dieses Austauschprozesses unter den Neuronen und bilden eine Art stabiles Aktionsmuster, eine Art Gleichgewichtszustand. Neue Gedanken werden ausgelöst, wenn irgendetwas im System sich verändert, z.B. eine sinnliche Wahrnehmung. Ein Großteil des Denkens geht dann aus einer Art Anpassung verschiedener Muster hervor, wobei die Erfahrungen aus der Vergangenheit eine große Rolle spielen. Die internen Abläufe im Gehirn erfolgen relativ schnell und automatisch und unterhalb der Schwelle unseres Bewusstseins. Erklärungen, die wir für unser eigenes Verhalten finden, bleiben daher immer ein bisschen suspekt, denn meistens handelt es sich um nachträglich erfundene Geschichten, die Gedanken erklären sollen, die wir bereits hatten.

Vereinfacht gesprochen wirft das Gedächtnis - dieser konnektionistischen Theorie zufolge - alle Eindrücke aufeinander und stapelt sie sozusagen. Ähnliche Ereignisse verschmelzen in der Erinnerung zu einer Art Sammeleindruck, einem “prototypischen Ereignis”. An diesem Prototyp orientieren sich weitere Eindrücke, er lenkt Interpretationen und Handlungen, die mit einem anderen, ähnlich erscheidenden Ereignis als verwandt empfunden werden. Tritt nun ein sehr stark vom Prototyp abweichendes Ereignis ein, so wird es nicht auf den Stapel ähnlicher Eindrücke gepackt, sondern eigenständig gespeichert. “Gäbe es tausend ähnliche Ereignisse, würden wir dazu neigen, sie als Prototyp in Erinnerung zu behalten. Auch an ein einziges abweichendes Ereignis würden wir uns erinnern, denn aufgrund seines abweichenden Charakters wurde es nicht mit allen anderen zusammengeworfen. Doch die Erinnerung, die sich daraus ergibt, ist fast so, als hätte es nur zwei Ereignisse gegeben: das alltägliche und das abweichende. Das alltägliche Ereignis ist tausendmal wahrscheinlicher, doch nicht für das Gedächtnis; im Gedächtnis sind zwei Ereignisse gespeichert, und das abweichende erscheint kaum unwahrscheinlicher als das alltägliche”. So versteht sich die Beobachtung besser, dass unser Gedächtnis vielerlei Einzelheiten von Dingen “zusammenwirft” und dabei das prototypische Erinnerungsbild auch laufend verändert, aber all dem, was von der inneren Norm abweicht, übertriebenes Gewicht beimisst. Oft finden wir gerade an diesen abweichenden, außergewöhnlichen Erinnerungen ganz besonderen Gefallen. Und darin liegt natürlich eine große Gefahr. Wir neigen zu übertriebenen Verallgemeinerungen und zur Überbetonung des Abweichenden. Einerseits ist unsere Fähigkeit, schon aus kleinen Mengen an Information - eben durch diesen Mustervergleich in unserem Gedächtnis - Verallgemeinerungen zu bilden und uns schnell orientieren zu können, außerordentlich hilfreich, doch andererseits verallgemeinern wir oft zu schnell und stufen eine neue Situation einer bereits bekannten Situation ähnlich ein, obwohl es in Wirklichkeit schwerwiegende Abweichungen gibt. Daraus ergeben sich Fehler.

Diese Fehler lassen sich grob in zwei Arten einteilen: Fehlleistungen und Irrtümer. Fehlleistungen gehen aus automatisiertem Verhalten hervor, wenn sich vom Unterbewusstsein gesteuerte Handlungen, die unseren eigentlichen Absichten entsprechen, quasi verselbständigen. Irrtümer dagegen beruhen auf bewusster Überlegung und haben zu tun mit falschen Zielen, die wir verfolgen.

Seltsamerweise passieren uns bei Tätigkeiten, die wir noch nicht perfekt beherrschen, nicht so viele Fehlleistungen. Sie entstehen zum Teil durch mangelnde Aufmerksamkeit. Und diese Aufmerksamkeit lässt nach, wenn Dinge zur Routine werden. Daher resultiert auch die Notwendigkeit regelmäßiger Trainings bei Tätigkeiten mit hohem Wiederholcharakter, z.B. Call Center Agent. Don Norman behauptet, dass sich jede Fehlleistung in rund ein halbes Dutzend Kategorien einordnen läßt; die wichtigsten davon sind:

Fangfehler
Sie treten auf, wenn zwei verschiedene Handlungssequenzen gleiche Anfangsstadien aufweisen, wobei eine Sequenz unvertraut, die andere gut eingeübt ist. Die eingeübte Sequenz “fängt” die unvertraute, z.B. sich von einer unbekannten in eine bekannte Melodie verirren.

Beschreibungsfehler
Sie liegen vor, wenn die beabsichtigte Handlung viel Ähnlichkeit mit anderen möglichen Handlungen hat, vor allem wenn der falsche und der richtige Gegenstand nahe beieinander sind, z.B. den Zuckerdosendeckel auf die Kaffetasse tun.

Fehler durch Aktivierungsverlust und durch assoziative Aktivierung
Mit Aktivierungsverlust ist das schlichte Vergessen gemeint. Man hat etwas angefangen und darüber vergessen, was man eigentlich tun wollte. Die assoziative Aktivierung beschreibt den gegenteiligen Vorgang: man denkt oder tut etwas, was nicht gesagt oder getan werden soll und tut es dann doch.

Modus-Fehler
Sie treten auf, wenn Geräte über verschiedene Operationsweisen verfügen, vor allem wenn der eingestellte Modus nicht sichtbar ist, z.B. bei einer Textverarbeitung, die zwischen Schreib- und Befehlsmodus unterscheidet.

Fehlleistungen dieser Art sind typisch für den Alltag. Die meisten Alltagsaufgaben sind routinemäßig und erfordern nur wenig Denken. Ein Großteil des damit zusammenhängenden menschlichen Verhaltens wird durch das Unterbewusstsein gesteuert, läuft also ohne bewusste Aufmerksamkeit ab und wird nicht weiter überprüft. Dieses unbewusste Denken vergleicht Muster. Vermutlich - allzu Genaues über die wirklichen Abläufe wissen wir nicht - spielt sich das Ganze so ab, dass in den im Gedächtnis gespeicherten Erfahrungen der Vergangenheit die bestmögliche Entsprechung zur augenblicklichen Situation gesucht wird. Dies geschieht schnell, unbewusst, automatisch und ohne große Mühe.

Dagegen läuft das bewusste Denken ganz anders ab. Es werden Entscheidungen durchdacht und abgewogen und verschiedene Möglichkeiten verglichen. Es wird nach Erklärungen gesucht, Logik oder Mathematik bemüht usw. Auf jeden Fall läuft es langsam und mühselig ab, Schritt für Schritt, und vermutlich scheint dies alles über das in seiner Kapazität begrenzte Kurzzeitgedächtnis zu funktionieren. Im Alltag könnten wir nicht bestehen, wenn alles bewusst durchdacht werden müsste. Unsere Lebenstüchtigkeit bei der Bewältigung der alltäglichen Dinge - das mag uns gefallen oder nicht - verdanken wir unserem unbewussten Denken. Und dieses Denken ist es gewohnt, mit unpräzisem und unvollständigem Wissen auszukommen. Durch Mustervergleich werden schnell Reaktionen gefunden, die sich dann als erfolgreich erweisen. Doch dabei handelt es sich um einen Näherungsprozess. Das erste gefundene Reaktionsmuster ist vielleicht nicht optimal oder sogar fehlerhaft. Dies spielt keine große Rolle, denn Fehler werden in der Regel sofort korrigiert. Fehler sind also Teil der unbewussten Strategie, wie wir mit dem Leben umgehen. Jeder macht Fehler, immer und immer wieder. Das wird so bleiben, so lange es Menschen gibt.

Designer und Konstrukteure machen beim Entwurf ihrer Produkte immer wieder den Fehler, die Fehler der Benutzer nicht zu berücksichtigen. Sie meinen, Fehler seien etwas um jeden Preis zu Vermeidendes oder etwas, das nur unerfahrenen oder unmotivierten, faulen, nachlässigen Menschen unterläuft.

Die vielen Erklärungen waren nötig, denn hier liegt ein riesengroßer Teil des Geheimnisses begraben, warum so viele Software so schlecht ist, zu so heftigen tagtäglichen Frustrationen führt und viele Menschen in Stress und Schrecken versetzt. Diese Menschen haben oft zu tun mit Systemen, die wider die menschliche Natur konstruiert sind, die allesamt unterstellen, unser Denken sei ein auf fehlerfreie, präzise Abläufe zu trimmender Vorgang. Das kann nicht gutgehen. Und es geht nicht gut, wie wir aus Erfahrung wissen.

Aus den bisherigen Überlegungen ergeben sich drei wichtige Anforderungen an das Design von Software:

  1. Den Benutzer eines Programms als jemanden betrachten, der eine Aufgabe zu erledigen hat und auf dem Wege dorthin bestimmte Handlungen als im ersten Versuch noch unvollkommene Annäherungen ausführt. Anstatt im Benutzer jemanden zu sehen, der Fehler macht, sollte man seine Handlungen als Annäherungen an das gewünschte Ergebnis sehen. Dabei muss die Software ihn unterstützen.

  2. Die Ursachen von Fehlern verstehen und die Dinge so gestalten, dass diese Ursachen reduziert werden: durch Sichtbarmachen des Systemzustandes und der Handlungsmöglichkeiten, durch natürliche Symbole, durch ständige Rückkopplung.

  3. Die Korrektur und Revision von Handlungen ermöglichen. Vorkommende Fehler müssen entdeckt und korrigiert werden können. Handlungen, die nicht mehr rückgängig zu machen sind, sollten erschwert werden.

Software-Designer sollten dafür sorgen, dass in jeder Arbeitssituation mit dem Programm das zur Handhabung erforderliche Wissen verfügbar ist. Dabei soll nicht vorausgesetzt werden, dass dieses Wissen unbedingt Wissen im Kopf der Benutzer sein muss. Vieles Wissen kann in das System gepackt werden. Dennoch sollten die Designer im Sinn behalten, einen effizienten Umgang vor allem mit den sich oft wiederholenden Operationen anzubieten, also für den Fall, in dem der Benutzer die Operationen gelernt, das Wissen “im Kopf” hat.

Dinge, die mit der Ausführung der Arbeitsaufgabe zu tun haben, müssen sichtbar sein oder zumindest sichtbar gemacht werden können. Die gängigen Operationen müssen leicht zugänglich sein. Die Ergebnisse der Operationen müssen ebenfalls sichtbar sein. Nur durch ständige Rückkopplung kann der Benutzer eine Kontrolle über seine Arbeitsergebnisse haben. Jederzeit muss sich einfach, auf Anhieb und in einer Form, die mit den Zielen, Absichten und Erwartungen des Benutzers übereinstimmt, feststellen lassen, in welchem Zustand sich das System befindet. Die direkte Steuerung des Programmablaufs durch den Benutzer bietet hier einerseits gegenüber einer kommadogesteuerten Benutzung, andererseits vor der Zwangssteuerung durch das Programm klare Vorteile. Erfolgt die Steuerung durch Kommandos, so arbeitet der Benutzer nicht direkt mit seinen Objekten. Er löst vielmehr Befehlsfolgen aus, die dann etwas mit dem Objekt machen. Die Software-Entwickler müssen beim Entwurf solcher Systeme darauf achten, dass dem Benutzer das Ergebnis seiner Arbeit auch mitgeteilt wird. Selbstverständlich ist dies leider nicht. Viele Computer-Geschädigte beklagen sich darüber, dass ihre Arbeit sozusagen im Nirwana des Computersystems verschwindet und sie oft lange Zeit im Unsichern darüber sind, ob sie eine Aufgabe auch wirklich mit Erfolg abgeschlossen haben.

Bei der Vermeidung von Fehlerursachen helfen natürliche und künstliche Einschränkungen. Das Anrichten von “Katastrophen” sollte gar nicht erst möglich sein. Kritisch sind immer Situationen, bei denen es um das Sichern oder Löschen von Dateien geht.

Man kann sich auf den Standpunkt stellen, dass man selbst Schuld hat, wenn alle Dateien gelöscht werden, weil man z.B. ein zusätzliches Leerzeichen getippt hat. Aber

Passt man hier nicht auf, so ist schnell das Ergebnis von stundenlanger Arbeit dahin. Es ist einfach, dem Benutzer die Schuld zu geben. Doch es bleibt die Frage nach der Mitschuld dessen im Raum, der das Programm so entworfen hat, dass Fehler mit solch verhängnisvollen Folgen möglich sind.

Oft helfen sogenannte Zwangsfunktionen, die beispielhaft für den Vorgang “Sichern einer Datei” beschrieben werden sollen:

Die entsprechenden Programme könnten allesamt über eine eingebaute Funktion verfügen, die in bestimmten Zeitintervallen oder nach einer bestimmten Anzahl von Arbeitsschritten automatisch eine Sicherheitskopie des augenblicklichen Arbeitszustandes anlegt.

Für Teilsequenzen der Arbeit wird der Ablauf durch einen computergesteuerten “Zwangsdialog” übernommen, der dem Benutzer nur die beiden Alternativen des vom Programm in den Einzelschritten festgelegten Sicherungsvorgangs oder des Abbruchs der Aktion erlaubt.

Bei dem Versuch, ein Dokument ohne vorherige Sicherung zu schließen, muss vom Benutzer eine ausdrückliche Bestätigung verlangt werden.

Zwangsdialoge der zuletzt genannten Art erfolgen allerdings oft zu einem falschen Zeitpunkt. Will z.B. der Benutzer eine Datei löschen und wird dann gefragt, ob er dies auch wirklich will, so ist er in der Regel mit dem Vorgang noch völlig zufrieden. Die Aufforderung des Computers, den Löschvorgang zu bestätigen, wird den Benutzer nicht vor dem Fehler bewahren, eventuell eine falsche Datei zu löschen. Dies passiert umso leichter, je schwieriger der Überblick auf dem Bildschirm (z.B. infolge einer Vielzahl geöffneter Fenster) geworden ist. Deshalb ist es wichtig, dass die zu löschende Datei in einen Zwischenspeicher (Papierkorb, Recycler usw.) befördert wird, aus dem sich das Objekt wieder herausholen lässt.

Je fehlertoleranter ein System wird, desto mehr neigen seine Benutzer dazu, sich auch auf die eingebauten Mechanismen zu verlassen; deshalb müssen diese unbedingt zuverlässig sein.

Benutzerfreundlichkeit spielt auch eine wichtige Rolle bei den Hilfefunktionen in der Software.
Einleitung -Modellierung - Steuerbarkeit - Sichtbarkeit -Natürliche Symbole - Einfachheit - Intuitive Bedienung - Anpassbarkeit - Regelungen