Softwareentwicklung zielt typischerweise darauf ab, Spezifikationen mit der Implementierung in Einklang zu bringen.
Aus diesem Grund entwerfen wir die Software so, dass sie die Spezifikationen erfüllt, und implementieren sie dann basierend auf diesem Design. Anschließend verwenden wir Tests, um zu bestätigen, dass die Implementierung die Spezifikationen erfüllt. Bei Abweichungen korrigieren wir die Implementierung oder präzisieren die Spezifikationen, falls sie mehrdeutig sind.
Dies kann als spezifikations- und implementierungsbasiertes Engineering bezeichnet werden.
Im Gegensatz dazu gewinnt bei der heutigen Diskussion über Software die Benutzererfahrung zunehmend an Bedeutung.
Darüber hinaus ist es das Verhalten der Software und nicht ihre Implementierung, das die Benutzererfahrung tatsächlich prägt.
Deshalb existieren außerhalb des Rahmens von Spezifikationen und Implementierung die Begriffe Erfahrung und Verhalten.
Folglich halte ich es für lohnenswert, das Konzept des Experience & Behavior Engineering zu erforschen, das auf Erfahrung und Verhalten basiert.
Liquidware
Experience & Behavior Engineering ist mit traditionellen Softwareentwicklungsmethoden ein unrealistischer Ansatz.
Dies liegt daran, dass es die Verbesserung der Benutzererfahrung ohne strikte Grenzen oder funktionale Unterteilungen in den Spezifikationen erfordert. Eine beiläufige Anfrage eines Benutzers zur Verbesserung seiner Erfahrung könnte sogar dazu führen, dass die gesamte zuvor entwickelte Software verworfen werden muss.
Andererseits, wenn eine Zeit kommt, in der die agentenbasierte Softwareentwicklungsautomatisierung mittels generativer KI alltäglich wird, wird der Neuaufbau ganzer Softwaresysteme akzeptabel sein.
Darüber hinaus ist es in einer solchen Ära denkbar, dass wir durch die Ausstattung veröffentlichter Software mit einem KI-Ingenieur-Chatbot in ein Zeitalter der „Liquidware“ eintreten, in dem die Benutzeroberfläche an die Präferenzen jedes Benutzers angepasst werden kann.
Liquidware bedeutet etwas Flexibleres als herkömmliche Software, das perfekt auf jeden einzelnen Benutzer zugeschnitten ist.
Wenn dieses Zeitalter der automatisierten Entwicklung und der Liquidware anbricht, wird das Engineering-Paradigma von Spezifikationen und Implementierung überholt sein.
Stattdessen werden wir zu einem Paradigma des Experience & Behavior Engineering übergehen.
Was ist Verhalten?
Vereinfacht ausgedrückt ist Verhalten ein Zustand, der sich über die Zeit ändert.
Und Verhalten zu testen ist nichts weniger als das Testen dieses zeitlich variierenden Zustands.
Des Weiteren geht es beim Testen von Verhalten nicht darum, die Übereinstimmung mit einer Spezifikation zu bestätigen, die definiert, wie Zustände übergehen. Stattdessen wird Verhalten basierend auf der Qualität der Benutzererfahrung getestet.
Natürlich, wenn es Fehler gibt, die dazu führen, dass das System unerwünschte Operationen durch den Benutzer oder Entwickler ausführt, beeinträchtigen diese auch die Benutzererfahrung erheblich. Daher umfasst das Verhaltenstesten die Überprüfung der funktionalen Konformität und der funktionalen Gültigkeit.
Nachdem diese grundlegenden funktionalen Anforderungen erfüllt sind, verlagert sich der Fokus auf das Testen von qualitativ hochwertigem Verhalten aus der Perspektive der Benutzererfahrung.
Das ultimative Erlebnis
Für den Menschen ist das ultimative Benutzererlebnis die Kontrolle über den eigenen Körper bei guter Gesundheit.
Stellen Sie sich vor: Jeden Tag steuern wir einen komplexen, aber stark eingeschränkten und begrenzten Körper, der mehrere Dutzend Kilogramm wiegt, und nutzen ihn für zielgerichtete Aktivitäten.
Würde man versuchen, ein solch schweres, komplexes und stark eingeschränktes System zu steuern, um gewünschte Aktivitäten auszuführen, wäre das Erlebnis typischerweise ziemlich schlecht.
Doch solange wir uns nicht unwohl fühlen, bewegen wir diesen schweren, komplexen und stark eingeschränkten Körper, als wäre er schwerelos, manipulieren ihn so mühelos wie einen einfachen Mechanismus und beachten seine Einschränkungen und Begrenzungen nicht, als ob sie nicht existierten.
Dies ist das ultimative Erlebnis.
Durch das Streben nach hochwertigem Verhalten könnte es möglich werden, ein Erlebnis zu bieten, das der Kontrolle des eigenen Körpers ebenbürtig ist.
Mit anderen Worten: Selbst wenn ein System langsam verarbeitet, komplex in seiner Funktionalität ist und viele Einschränkungen und Begrenzungen aufweist, könnte ein völlig stressfreies Liquidware-Erlebnis realisiert werden.
Fazit
Ultimative Liquidware wird ein Erlebnis bieten, das dem unseres eigenen Körpers ähnelt.
Solche Liquidware wird für uns so etwas wie ein Körper werden.
Jedes Mal, wenn sich ultimative Liquidware verbreitet oder ihre Funktionen erweitert werden, wird es sich anfühlen, als würden unsere eigenen Körper erweitert.