In der Welt der Softwareentwicklung ist die Kreation einer Fehlermeldung oft ein nachgelagerter Gedanke, eine Art notwendiges Übel. Aber was, wenn wir diesen Ansatz umdrehen und Fehlermeldungen als integralen Bestandteil des Nutzererlebnisses betrachten? In diesem Beitrag möchte ich die vielfältigen Vorteile von gut durchdachten, klaren Fehlermeldungen beleuchten.
Auslöser für diesen Artikel ist ein Fehler, der im Team aufgetreten ist und von der verwendeten Programmiersprache (Openedge Progress) bzw. von unserem aufrufendem Code zurückgeliefert wurde.
[OS Error: 18] Can't delete ...
In einer Liste des Hersteller fand sich dann unter 18, der Hinweis, dass das zu löschende Verzeichnis nicht leer ist.
Mir ist nicht bekannt, aus welchem Grund hier ein Error-Code statt einer sprechenden Fehlermeldung gewählt wurde, Fakt ist jedoch, dass zuerst eine Recherche gestartet werden musste, bevor klar war, was den Fehler verursacht hat. Noch besser wäre natürlich gewesen, wenn die störende(n) Datei(en) zusätzlich noch genannt worden wäre(n).
Meiner Meinung nach ist das ursächliche Problem folgendes:
Fehlerbehandlung macht keinen Spaß!
Es bedeutet Mehraufwand und erfordert es, sich in die Lage des Benutzers zu versetzen und nicht nur technische, sondern auch kommunikative Aspekte zu berücksichtigen.
Folgende Gründe sprechen meiner Meinung aber für den (initialen) Mehraufwand:
Weniger Support-Aufwand.
Wenn ein Anwender auf ein Problem stößt und die Fehlermeldung klar und verständlich ist, kann er das Problem oft selbst lösen. Ein klassisches Beispiel ist die Meldung, dass das Löschen eines Verzeichnisses aufgrund vorhandener Dateien fehlschlägt. Der Anwender weiß sofort, dass er das Verzeichnis leeren muss, und der Fall muss nicht zum Support eskaliert werden. Dies spart nicht nur Zeit und Ressourcen im Support, sondern erhöht auch die Selbstständigkeit und Zufriedenheit der Benutzer.
Schnellere Problemlösung
Für Admins und Entwickler bedeutet eine aussagekräftige Fehlermeldung eine erhebliche Zeitersparnis. Anstatt tief in Log-Dateien oder Code zu graben, um die Ursache eines Fehlers zu identifizieren, liefert die Fehlermeldung selbst bereits wertvolle Hinweise. Dies beschleunigt den Prozess der Fehlerbehebung und ermöglicht es, schneller auf Probleme zu reagieren und diese effizient zu lösen.
Respekt gegenüber dem Anwender
Ein weiterer, oft übersehener Aspekt ist der Respekt gegenüber dem Anwender. Eine gut formulierte Fehlermeldung zeigt, dass wir uns um das Erlebnis des Benutzers kümmern. Es ist ein Zeichen dafür, dass wir ihn nicht mit einem kryptischen Fehlercode im Regen stehen lassen, sondern an seiner Seite sind, um das Problem zu lösen. Diese Art von Empathie baut Vertrauen auf und stärkt die Beziehung zwischen dem Benutzer und dem Produkt.
Wertigkeit der Anwendung
Zu guter Letzt führt ein sorgfältiger Umgang mit möglichen Fehlern dazu, dass eine Anwendung als resilienter und hochwertiger wahrgenommen wird. Es geht nicht nur darum, Fehler zu vermeiden, sondern auch darum, wie wir mit ihnen umgehen, wenn sie auftreten. Eine Anwendung, die ihre Nutzer auch in Problemzeiten unterstützt, steht für Qualität und Zuverlässigkeit.
Fazit
Die Geschichte mit dem Fehlercode [OS Error: 18] illustriert perfekt, wie eine fehlende, klare Kommunikation den Prozess der Problemlösung unnötig verkompliziert. Statt einer sofortigen Erkenntnis, was zu tun ist, entstand ein Rätsel, das erst entwirrt werden musste. Das ist nicht nur ineffizient, sondern oft auch frustrierend.
Durch die Implementierung aussagekräftiger Fehlermeldungen setzen wir eine Kette positiver Effekte in Gang: Wir reduzieren den Support-Aufwand, da Benutzer in der Lage sind, viele Probleme selbst zu lösen. Wir beschleunigen die Problemlösung für Admins und Entwickler, indem wir ihnen klare Anhaltspunkte an die Hand geben. Vor allem aber zeigen wir Respekt gegenüber unseren Anwendern, indem wir sie nicht mit unverständlichen Fehlern (z.B. auch „Ein unerwarteter Fehler ist aufgetreten“) alleine lassen.
Letztendlich ist die Gestaltung hilfreicher Fehlermeldungen ein Zeichen der Wertschätzung für den Benutzer und ein Bekenntnis zur Qualität der eigenen Software. Es zeigt, dass wir nicht nur an Funktionen und Features denken, sondern auch an das Benutzererlebnis und den menschlichen Aspekt der Technologie.
Eine Anwendung, die ihre Nutzer auch in schwierigen Zeiten unterstützt, wird nicht nur als zuverlässiger, sondern auch als wertvoller wahrgenommen. Dieses Mehr an Aufwand in die Gestaltung von Fehlermeldungen ist daher nicht nur eine technische Verbesserung, sondern auch eine Investition in die Beziehung zu unseren Benutzern und in das Ansehen unserer Anwendung.
Wir sollten Fehlermeldungen nicht als notwendiges Übel, sondern als Chance sehen, Vertrauen aufzubauen und die Qualität unseres Produkts unter Beweis zu stellen.
Ausblick
Noch besser wäre es, wenn wir uns nicht darauf beschränken, aussagekräftige Fehlermeldungen zu generieren, sondern unsere Anwendungen so entwickeln, dass sie fehlertolerant agieren. Eine interaktive Anwendung könnte dem Benutzer nicht nur sagen, welche Dateien das Löschen des Verzeichnisses verhindern, sondern auch einen Weg anbieten, das Problem zu beheben, indem zum Beispiel die Möglichkeit gegeben wird, den Löschvorgang rekursiv zu wiederholen, oder den Vorgang abzubrechen.