Schlechtes Softwaredesign lässt sogar Kriegsschiffe kollidieren
(imseongkang.wordpress.com)Am 21. August 2017 kollidierte der 9.000-Tonnen-Aegis-Zerstörer USS John S. McCain (DDG-56) der US Navy in der Straße von Malakka nahe Singapur mit dem 30.000-Tonnen-Tanker Alnic MC. Bei dem Unfall kamen 10 Besatzungsmitglieder ums Leben, 5 wurden verletzt. Der Unfall geschah, weil sich die Übergabe der Steuerungsbefugnis auf der USS John S. McCain auf der stark befahrenen Route um etwa drei Minuten verzögerte. Vizeadmiral Joseph P. Aucoin, Kommandeur der 7. Flotte der US Navy, zu der das Schiff gehörte, wurde unmittelbar nach dem Unfall abgelöst.
Im Bericht der US-amerikanischen NTSB (National Transportation Safety Board), die den Unfall untersuchte, wurden mehrere Ursachen genannt. Dazu gehörte auch das unangemessene Design des IBNS (Integrated Bridge and Navigation System), das ein Jahr vor dem Unfall auf der USS John S. McCain installiert worden war. Im Zuge der Modernisierung des Kriegsschiffs wurden die Bedienoberflächen für Steuerung und Antrieb auf touchscreenbasierte Software umgestellt. Da jedoch die gesamte UI dieser Oberfläche ungeeignet war und die Komplexität stark erhöhte, entstand eine Umgebung, in der Menschen leicht Fehler machen und diese nur schwer sofort erkennen konnten — ein Faktor, der zum Unfall beitrug. Deshalb entschied die US Navy, die touchscreenbasierte Bedienoberfläche wieder abzuschaffen und zu traditionellen mechanischen Bedienelementen zurückzukehren.
Auf den ersten Blick könnte man das so verstehen, als sei allein die Einführung von Touchscreens der Fehler gewesen. Tatsächlich lag das grundlegende Problem jedoch in der erhöhten Komplexität durch eine schlechte UI. Dazu zeigt das Buch [Meltdown: Why Our Systems Fail and What We Can Do About It](Chris Clearfield, András Tilcsik, 2019) anhand mehrerer Beispiele, wie gefährlich es ist, wenn die Komplexität oder enge Kopplung von Systemen zunimmt. Der verlinkte Artikel erläutert im Detail, welche Aspekte des Benutzeroberflächendesigns des oben erwähnten IBNS problematisch waren. (Koreanisch)
5 Kommentare
Die Ironie, wegen des Scheiterns moderner UI/UX zu veralteten Interfaces zurückzukehren
In dem oben erwähnten Buch [Meltdown] werden auch Fälle behandelt, in denen Katastrophen durch UI/UX-bezogene Probleme ausgelöst wurden. Ein Beispiel ist der [Air-France-Flug-447-Absturz über dem Atlantik] im Jahr 2009: Der relativ unerfahrene Copilot geriet in der plötzlich eintretenden Notsituation in Panik und zog den Steuerknüppel weiter nach hinten. Zu den beitragenden Ursachen des Unglücks gehörte auch, dass der Pilot, der die Gefahr erkannt hatte und selbst die Steuerung übernahm, erst viel zu spät bemerkte, dass der Copilot weiterhin am Steuerknüppel zog. Zwar ertönte ein Warnton, dass vom Steuerknüppel des Kapitäns und dem des Ersten Offiziers unterschiedliche Befehle eingegeben wurden, aber in der Situation liefen bereits mehrere Warnungen gleichzeitig auf, sodass es zu spät war, als man das bemerkte.
Air-France-Flug 447, Absturz über dem Atlantik:
https://rhfvm1111.blog.me/220275551718
Zwar ist das kein Fall aus dem oben genannten Buch, aber es gibt noch etliche weitere Beispiele dafür, dass fehlerhafte Bedienoberflächen oder Software Unfälle verursacht haben, allein schon in der Luftfahrt wie bei den oben genannten Fällen. Beim [China-Airlines-Flug-140-Absturz am Flughafen Nagoya] im Jahr 1994 etwa führten zwei Umstände zusammen zur Katastrophe: eine Fehlbedienung eines Hebels, den der Pilot leicht versehentlich berühren konnte, und die Tatsache, dass die Autopilot-Software trotz eines schwerwiegenden Bugs nicht aktualisiert worden war. Auch bei der Boeing-737-MAX, die zuletzt durch die aufeinanderfolgenden Unglücke [Lion-Air-Flug 610] und [Ethiopian-Airlines-Flug 302] in die Schlagzeilen geriet, lag die zentrale Unfallursache in einem durch die Autopilot-Software geschaffenen SPOF (Single Point of Failure). Bei der Boeing 737 MAX wurde der Autopilot-Software ohne ausreichende Erklärung eine Funktion hinzugefügt, die in bestimmten Situationen unabhängig vom Willen des Piloten das Höhenleitwerk verstellt. Diese Funktion nutzte jedoch nur den Messwert eines der zwei im Flugzeug installierten Sensoren. Fiel dieser Sensor aus, wurde die Flugrichtung zwangsweise in Richtung Absturz fixiert, was letztlich zum Absturz führte. Zudem war eine Warnfunktion, die meldet, wenn die beiden Sensoren unterschiedliche Werte anzeigen, ursprünglich zwar eingebaut, Boeing machte sie jedoch zu einer kostenpflichtigen Zusatzoption, sodass die Piloten keine angemessene Warnung erhalten konnten.
China-Airlines-Flug 140, Absturz am Flughafen Nagoya:
https://rhfvm1111.blog.me/220226606257
Defekte der Boeing 737 MAX:
https://namu.wiki/w/%EB%B3%B4%EC%9E%81%20737%20MAX/%EA%B2%B0%ED%95%A8
Ein weiteres typisches Beispiel dafür, wie Probleme in der Benutzeroberfläche mit menschlichem Versagen zusammenwirken, ist der Vorfall von 1988, bei dem der Aegis-Kreuzer USS Vincennes (CG-49) der US Navy ein iranisches Passagierflugzeug fälschlich für einen Kampfjet hielt und abschoss. Angesichts der erneut eskalierenden Spannungen zwischen den USA und dem Iran musste ich daran denken.
Abschuss von Iran-Air-Flug 655 durch die USS Vincennes:
https://namu.wiki/w/…
Es gibt leider viele traurige Beispiele. In Bereichen, in denen Menschenleben auf dem Spiel stehen, sind Zuverlässigkeit und Intuitivität wohl wichtiger als alles andere.
Auch bei der Verbesserung von UI/UX sollte man in solchen Bereichen diesen Aspekt stärker gewichten als Ästhetik oder Bedienkomfort.
Vor Kurzem ist ein Reenactment-Video des Absturzes von China-Airlines-Flug 140 am Flughafen Nagoya erschienen. Darin wird nachgestellt, wie sich mehrere Faktoren überlagerten – eine fehleranfällige Bedienoberfläche, mangelhafte Sicherheitsvorkehrungen, die verspätete Reaktion der Fluggesellschaft auf bekannte Mängel und das unzureichende Verständnis der Piloten für die Automatisierungsfunktionen – und so weniger als zwei Minuten nach einem Bedienfehler zu einer großen Katastrophe führten.
https://www.youtube.com/watch?v=IN4Y7dWXY1s