Bug-Blindheit: Warum Entwickler ihre eigenen Fehler nicht sehen

Bug Blindness

Dan Luu erklärt, warum er wöchentlich hunderte bis tausende Bugs bemerkt, während andere Nutzer dieselben Probleme übersehen. Er beschreibt, wie er bei Freunden und Kollegen durch gezieltes Hinweisen eine Art "Bug-Bewusstsein" schult und wie Führungskräfte ihn oft um ehrliche Bewertungen bitten. Anhand von Beispielen wie Google-Suche, Kagi, Blackboard und Discourse zeigt er, wie Teams ihre eigenen Produkte verklären – bis hin zu absichtlicher Manipulation von Performance-Metriken. Luu plädiert für mehr Selbstkritik und weniger Betriebsblindheit, besonders bei Entwicklern.

Wenn ein Produkt bei meiner Nutzung schwer fehlerhaft erscheint, dann ist es das wahrscheinlich auch.
  1. bambax

    Unser Gehirn ist auf effiziente Signalverarbeitung ausgelegt und arbeitet aktiv daran, Signale zu löschen, die es für "unnötig" hält. Es möchte, dass wir nur das Neue und Unerwartete bemerken; deshalb nimmst du nach kurzer Zeit denselben Geruch oder dasselbe wiederkehrende Geräusch nicht mehr wahr. Sie werden einfach als "bereits erkannt / nicht neu" ignoriert.

    Der Grund dafür könnte evolutionär sein (obwohl wir nicht wissen, welche Merkmale am effektivsten waren, um uns in der Wildnis zu helfen); aber es gibt einen sehr praktischen Grund, Signale zu ignorieren, nämlich dass es so viele davon gibt: Wenn wir jedes Datum verarbeiten würden, das von jedem Sensor kommt, und über Gerüche, Licht, Temperatur, Lärm usw. nachdenken würden, wären wir überfordert und könnten nichts anderes tun.

    Das ist auch der Grund, warum wir Dinge oder Menschen normalerweise nicht "sehen": Wir identifizieren sie. Wir sehen keine Gesichter, wir identifizieren einfach Alice oder Bob. Das wiederum erklärt, warum die meisten Menschen nicht zeichnen können: Das Konzept von Alice kann nicht gezeichnet werden; um Alice zu zeichnen, müssen wir tatsächlich den Merkmalen ihres Gesichts folgen. Ein Künstler zu sein bedeutet, in der Lage zu sein, diesen Identifikationsprozess zu verlernen (oder zu deaktivieren).

    Und ich denke, der Grund, warum die meisten Menschen Fehler nicht sehen, ist ähnlich: Sie sind nicht interessiert, sie wollen nur etwas erledigen. Wenn es eine einfache Problemumgehung gibt, die die Sache zum Laufen bringt, dann ist das gut genug; alles andere ist irrelevant. Das ist keine Voreingenommenheit oder Wohlwollen: Das ist Effizienz.

  2. sgentle

    Ich denke, es gibt zwei gegensätzliche Ursachen: entweder ein zu stark angepasstes oder ein völlig unverbundenes mentales Modell.

    Für Entwickler neigt die Fehlerblindheit dazu, weil ihr mentales Modell dem Systemmodell so nahe ist, dass beide dieselben blinden Flecken haben und der Entwickler nicht effektiv außerhalb des Systems denken kann (der klassische "QA geht in eine Bar, bestellt 0 Biere, bestellt -1 Biere, bestellt 0,999 Biere" vs. "Kunde geht in eine Bar, fragt nach der Toilette, die Bar geht sofort in Flammen auf").

    Andererseits ist eine häufige Art und Weise, wie normale Menschen mit einem System interagieren, dass sie einfach... kein Modell haben. Gar keins. Sie klicken auf ein Ding und schauen, was es tut, und wenn es nicht das tut, was sie erwarten, zucken sie mit den Schultern und klicken auf etwas anderes. Das Entsetzen, wenn man eine nicht-technische Person ein Softwaresystem benutzen sieht, besteht darin, zu erkennen, dass sie normalerweise nicht zwischen erwartetem und unerwartetem Verhalten unterscheiden können, weil sie im Grunde keine Erwartungen bilden. Der Computer ist eher ein Geist als eine Maschine.

    Das sieht man im Artikel: "Google Docs hat eine Verzögerung eingebaut, sodass die Eingaben, die du in das Titelfeld direkt nach dem Öffnen des Dokuments machst, überschrieben werden". Das ist ein Entwickler, der ein Modell des Systems bildet. Die Alternative für Laien ist einfach zu lernen, dass manchmal, wenn man in ein Feld tippt, der Text erscheint. Andere Male nicht. Wenn nicht, versucht man es erneut.

    Man muss das System nicht verstehen, wenn man die Annahme aufgibt, dass das System dafür gemacht wurde, verstanden zu werden. Ein […]

  3. gmm1990

    Es ist interessant, dass der Autor darüber nachdenkt, was ihm jetzt entgehen könnte. Es scheint, als wäre es die Verschlechterung des Schreibens durch LLMs. Ich habe einige Beiträge des Autors in der Vergangenheit gemocht. Und ich werde mir die Unterschiede zwischen den alten und neuen Beiträgen vielleicht genauer ansehen, weil es ein großartiges Beispiel dafür sein könnte, worauf man bei der Verwendung von LLMs für das Schreiben und vielleicht auch für das Programmieren achten sollte.

    Es gab keine konkreten Beispiele für Fehler außer dem Google Docs-Problem. Was war so schlimm an Blackboard (ich erinnere mich auch, dass ich es schrecklich fand)? Es gab einen Link zu einem großartigen Artikel über die Suche, aber auch hier kein konkretes Beispiel.

    Es gibt viele Worte, aber nicht viel neue Information. Vielleicht bin ich nur voreingenommen gegen LLMs, das könnte meines Wissens vollständig ohne sie geschrieben worden sein.

  4. encomiast

    Ich musste aufgeben, als das erste Beispiel für einen "Fehler", den der Autor sehen konnte und andere nicht, Suchergebnisse waren.

    "In einigen Fällen schickten mir die Leute ihre tatsächlichen Suchergebnisse. In jedem Fall enthielten die Suchergebnisse kein gutes Ergebnis, das ich sehen konnte."

    Software, die die Erwartungen nicht erfüllt, besonders in einem Bereich wie der Suche, die im Grunde ein langer Krieg zwischen SEO und Suchmaschinen ist, ist kein "Fehler". Das ist, als würde man sagen, es gibt "Fehlerblindheit" in der Verlagsbranche, weil ein zufälliges Buch, das ich aufschlage, schlecht ist, obwohl andere es gut finden. Sicher, vielleicht stimmt etwas nicht, es könnte sogar verbessert werden, aber lasst uns das Wort "Fehler" für etwas Spezifischeres aufsparen.

  5. dusted

    Ich denke auch, dass es an der Normalisierung von Abweichungen liegt; die Leute sind einfach daran gewöhnt.

    - Man kann kein Modell aufbauen, weil alles mit dem nächsten Update geändert wird; selbst wenn unbewusst, tun die Leute es nicht, warum etwas lernen, das beim nächsten Mal, wenn man die Anwendung benutzt, nutzlos ist.

    - Weil man im Grunde nicht weiß, wie irgendetwas funktioniert, ist es ein Münzwurf, ob es tatsächlich nicht funktioniert oder man es nur "falsch benutzt".

    - Die meisten Dinge tun nicht zuverlässig das, was man von ihnen erwartet, also erwartet man nichts von ihnen.

    Gestern Abend habe ich einige Dokumente bei meiner Versicherung hochgeladen, Modal:

    - Titel: "Dateien erfolgreich hochgeladen"

    - Text: "Ein unbekannter Fehler ist aufgetreten"

    - Schaltfläche: "OK"

    Danke.

  6. ghastmaster

    >Ich dachte, das hätte etwas damit zu tun, wie ich Computer benutze, aber im Laufe der Zeit habe ich erkannt, dass es hauptsächlich daran liegt, dass Leute auf dieselben Fehler stoßen und sie nicht bemerken.

    Ich vermute, ich weiß, warum sie sie nicht bemerken. Siehe unten.

    >Es funktioniert gut usw., aber wenn ich das Ding öffne und es ausprobiere, ist es in einem Zustand, in dem es nur funktioniert, wenn man ziemlich viele nicht intuitive Workarounds macht.

    Ich vermute, die meisten Menschen sind so unfähig, durch UI zu navigieren, weil selbst eine gute UI für sie nicht intuitiv ist. Eine schlechte UI ist ebenso nicht intuitiv. Sie wissen nicht, dass es ein Fehler ist, weil für sie alles ein Fehler ist.

    Ich kann eine neuartige UI benutzen und schnell herausfinden, wo ich finde, was ich tun muss. Meiner Erfahrung mit Laien nach können sie die Software ein Jahrzehnt länger benutzen als ich und verstehen immer noch nicht einige der Funktionen und navigieren nicht so, um sie zu nutzen, wie ich es innerhalb weniger Minuten oder mit geringer Recherche kann.

    Shoutout an https://grumpy.website/. Liebe es.

  7. meling

    Interessantes Thema, und lustig, dass ich persönlich die Textbreite und Schriftgröße von danluus Blog als "Fehler" betrachte. Es ist bekannt, dass wir mit schmaleren Textspalten schneller lesen können (denkt an Zeitungsspalten, als sie noch auf Papier gedruckt wurden). Deshalb lese ich diesen speziellen Blog immer mit dem Reader-Modus von Apple, der den Text mit größerer Schrift und schmalerer Breite darstellt.

  8. socalgal2

    Ich bin bei Danluu, zumindest was die Überschrift betrifft, und nicht die tatsächlichen Details.

    Ich stoße auf 10 bis 20 Softwarefehler pro Tag (fühlt sich nach mehr an). Wenn es nicht um all die privaten Daten ginge, die ich preisgeben würde, wünschte ich mir manchmal, ich könnte einfach mein Telefon und meinen Computer für eine Woche auf Bildschirmaufnahme stellen, mit Eingabedaten (Tastatur/Maus/Touchpad/Bildschirm), und dann zurückkommen und die 100 Fehler posten, auf die ich in dieser Woche gestoßen bin.

    Ich bin auf den erwähnten MacOS-Fehler gestoßen, einen schwarzen Bildschirm beim Öffnen des Deckels. Ich bin auch auf den Fehler gestoßen, dass die iOS-Kamera-App die Kamera nicht öffnet. Ich bin auf den Fehler gestoßen, dass die iOS-Tastatur nur 80 % der Telefonbreite nutzt (alle Tasten kleiner). Keine Ahnung, wie man das behebt. Das Schließen der Tastatur und erneutes Öffnen hilft nicht. Und das Beenden der App, egal welche, ist nicht möglich, weil ich mitten im Ausfüllen eines Formulars bin und nicht von vorne beginnen möchte. Ich hatte in letzter Zeit oft einen eingefrorenen Telefonbildschirm, der auf keine Fingerberührungen reagiert. Das Sperren und Entsperren des Telefons behebt es. Das ist neu (begann vor 1-2 Wochen).

    Häufig/nicht häufig. Jede App, die die Telefonkamera zum Scannen von Dingen (Schecks/Ausweisen) verwendet, scheitert fast immer auf die eine oder andere Weise. Erkennt das Ding nicht oder läuft in einen Timeout, als ob sie nur unter perfekten Bedingungen in ihrem Büro getestet hätten und nie mit echten Benutzern.

Mehr von diesem Tag

2026-08-30