Sprache auswählen
Zitiervorschlag: Günther, LRZ 2021, S. 179, [●].
Dieser Beitrag ist eine Zusammenfassung des Vortrags von Dr. Carsten Günther am 23.03.2021 auf der LEGAL LIVE 2021 mit demselben Titel.
Mit Hilfe von Softwarelösungen werden Tätigkeiten und ganze Arbeitsprozesse vereinfacht und zum Teil sogar automatisiert. Dies gilt auch für textbasierte Arbeitsabläufe in Kanzleien und Rechtsabteilungen von Unternehmen. Gerade die Fortschritte im maschinellen Lernen und der Anwendung neuronaler Netze in den letzten fünf Jahren lassen nun die Entwicklung von Softwareprodukten zu, die eine Verarbeitung von gesprochener und geschriebener Sprache in großem Umfang und hoher Zuverlässigkeit gestatten. Komplexe Algorithmen, umfangreiche mathematische Modellierungen von Textarten – beruhend auf mit unvorstellbar großen Datenmengen vortrainierten Textmodellen – und eine flexibel erweiterbare Rechenleistung aus der Cloud erlauben eine große Funktionsvielfalt von Softwarelösungen. Heute könnnen gänzlich neue oder umfangreich erweiterte Anwendungen zur Suche im Dokumentenbestand einer Kanzlei, zur Klassifikation und Zusammenfassung von Texten, zum Knowledge Management in einer Organisation, zur maschinellen Übersetzung oder zur Textgenerierung umgesetzt werden.
Doch wir alle werden bereits die Erfahrung gemacht haben, dass uns die Funktionsvielfalt und Leistungsfähigkeit beim ersten Kontakt mit neuen Softwarelösungen sehr schnell überfordert. Das kann dazu führen, dass wir gar nicht die ganze Leistungsvielfalt eines Softwareproduktes ausschöpfen und uns stattdessen auf die Nutzung einiger weniger Funktionen beschränken oder das Produkt gänzlich ablehnen. Durch einen nutzerorientierten Entwicklungsprozess kann man möglichen Problemen bei der Produkteinführung entgegenwirken.
Entscheidend ist, dass ausgehend vom ermittelten Bedarf einer Nutzergruppe Softwarelösungen konzipiert werden, die zielführend zu bedienen sind, den dringendsten Bedarf der Nutzer decken und ressourcenschonend die Algorithmen auswählen, die das jeweilige Problem lösen. Der letztgenannte Punkt ist zu beachten, da natürlich komplexe neuronale Netzwerkstrukturen, trainiert mit Millionen an Dokumenten, viele NLP-Probleme mit einer hohen Genauigkeit lösen – jedoch sowohl in der Trainingsphase als auch in der Anwendungsphase große Rechenleistung und hohen Speicherbedarf erfordern. Alternativ können Verfahren aus dem maschinellen Lernen zur Anwendung kommen, die für bestimmte Anwendungsfälle ähnliche, bisweilen schneller bessere Ergebnisse liefern und mit weniger Aufwand (Prozessor- und Speicherbedarf) zu trainieren sind.
Selbst wenn man sich das Ziel setzt, eine nutzerfreundliche Software zu erstellen, ist man nicht davor geschützt, seine Lösung doch wieder durch eine reine Technikorientierung des Development-Teams mit Funktionen und Auswahlmöglichkeiten zu überfrachten und schlussendlich den zukünftigen Nutzer[1] zu überfordern.
Um das zu vermeiden, sind in den letzten Jahren eine ganze Reihe von formalisierten Methoden und Werkzeugen entwickelt worden, die den Entwurf, die Umsetzung und die Einführung von softwaregestützten Innovationen steuern. Es geht im Kern immer wieder darum, aus den oft unscharf formulierten Bedürfnissen der zukünftigen Softwarenutzer formalisiert Anforderungen an ein Softwareprodukt abzuleiten und diese dann strukturiert umzusetzen und einen messbaren Kundennutzen zu erzielen.
Die nutzerorientierte Umsetzung einer Innovation – sei es ein neues Softwareprodukt oder ein neuer Software-basierter Service – kann man grob in drei Phasen unterteilen:
Im ersten Schritt, der strategischen Ausrichtung eines Innovationsvorhabens, haben sich Design Thinking Workshops als ein probates Mittel etabliert. Diese Workshops folgen einem wohldefinierten Muster und gliedern sich in zwei Phasen:
Gewünschtes Ergebnis eines Design Thinking Prozesses ist ein von potentiellen Nutzern bewerteter Prototyp z.B. in Form eines Interaktionskonzeptes – ohne dass eine tatsächliche technische Realisierung dieses Prototyps erfolgt. Die Design Thinking Methode wird für die ganze Bandbreite möglicher Innovationsvorhaben eingesetzt, natürlich auch für die Rechtsberatungsbranche. Hier sind diese Methoden unter dem Begriff des Legal Design Thinking auf die spezifischen juristischen Prozesse adaptiert worden, um insbesondere die Belange der Mandantschaft in den Fokus zu rücken.
Auf der Grundlage dieses sehr abstrakten Prototypen muss anschließend die konkrete Realisierung einer Softwarelösung konzipiert und umgesetzt werden. Auch hier haben sich in den letzten Jahren formalisierte nutzerorientierte Methoden der Konzeption und der Umsetzung etabliert, die iterativ in mehreren aufeinander abfolgenden Zyklen ausgeführt werden. Kernpunkt ist auch hier wieder, dass sich die Arbeiten an den Bedürfnissen der zukünftigen Nutzer leiten lassen. Nutzerorientierte Konzeptionsarbeiten zum Design der Zielanwendung und in der Regel agil gesteuerte Softwareentwicklungsarbeiten wechseln einander ab. Inkrementell und iterativ werden auf diese Weise die innovativen Ideen umgesetzt und der Nutzergruppe zur Erprobung übergeben.
Es werden aber nicht einfach nach Belieben Produktinkremente der Zielgruppe übergeben, sondern auch diese iterativen Schritte müssen einer abgestimmten Planung unterliegen, um zum Ziel zu führen. Ein zu planendes Zwischenergebnis einer Iteration auf dem Weg zur Softwarelösung bzw. zum Softwareprodukt ist ein MVP – „Minimum Viable Product“. Dabei handelt es sich um eine minimale, aber schon brauchbare Produktversion, die dazu dient, schnellstens Nutzerfeedback zur bisherigen Umsetzung zu bekommen. Dadurch sollen die Ergebnisse der bisherigen Konzeptions- und Umsetzungsschritte verifiziert und die nächsten Schritte geplant werden. Dabei ist abzuwägen, dass einerseits das jeweilige Produktinkrement noch „minimal“ ist, also nicht zu viel Entwicklungszeit bereits hineininvestiert worden ist. Aber andererseits muss die Umsetzung eines Produktmerkmals schon so funktionieren, dass man basierend auf der tatsächlichen Nutzung und nicht aus einer theoretischen Betrachtung heraus Feedback von Kunden bzw. Nutzern erhält
Dieser iterative, nutzerorientierte und agile Konzeptions- und Umsetzungsprozess wird unter dem Begriff Lean UX zusammengefasst und gliedert sich in die beiden Teilprozesse:
Der nutzerorientierte Designprozess einer Softwarelösung wird mittels Methoden und Werkzeugen strukturiert, die teilweise schon in den oben beschriebenen vorgelagerten Design Thinking Workshops zur Anwendung kommen, nun aber viel feingranularer Nutzerverhalten und -bedürfnis und die technischen Realisierungsmöglichkeiten spezifizieren.
Der nutzerorientierte Designprozess durchläuft iterativ wiederholt diese Phasen:
Diese Phasen sind mit konkreten Arbeitsschritten unterlegt und als Arbeitsergebnisse liegen jeweils methodisch klar definierte Dokumentationen vor:
Im Folgenden sollen nun diese Arbeitsschritte genauer beschrieben werden:
Diese Phasen und Arbeitsschritte werden im Projektverlauf wiederholt durchlaufen, so dass die Software-Lösung zunehmend immer feingranularer spezifiziert und anschließend umgesetzt wird und so immer besser die Nutzererwartungen erfüllen wird.
Betrachtet man noch einmal den Schritt von User Story über Use Case hin zum konkreten Software-Entwicklungsticket, ist klar, dass die Konzeption der Software-Funktion als User Story noch sehr unscharf und unvollständig beschrieben ist, als dass damit ein Software-Entwickler einen zielführenden Code schreiben könnte. Doch ebendiese Diskrepanz ist nach dem Lean UX-Ansatz beabsichtigt, denn damit wird der Startpunkt einer gewollten intensiven Kommunikation zwischen Product Owner, Designer, Entwickler und Anwender gelegt. Genau diese Diskussion ist der wesentliche Punkt der neuen Art der Produktplanung, wodurch die nutzerorientierte Ausprägung des zur Umsetzung anstehenden Produktmerkmals erfolgt. Die konkreten technischen Anforderungen, die Gestaltung und Einbettung werden erst in den nun erforderlichen Kommunikationsphasen mit normierten Meeting-Strukturen (Refinement Meetings, Sprint Planning u. Review Meetings, Stakeholder Interviews usw.) näher definiert. Auf diese Weise bildet sich sukzessive ein sehr gutes gemeinsames Verständnis über den Nutzen und die Realisierung einer Nutzeranforderung heraus. Mit der anfänglich groben, unvollständigen Formulierung von Nutzeranforderungen wird in der modernen, agilen Softwareentwicklung genau dem Umstand Rechnung getragen, dass Nutzer innovativer technischer Lösungen erst beim konkreten Umgang mit ersten Versionen des Produkts (MVP) genau beschreiben können, wie die technische Lösung ihr Nutzerbedürfnis tatsächlich befriedigen kann.
Fertiggestellte Software-Lösungsinkremente werden in definierten Zeitabständen dem Kunden bzw. Nutzer zur Erprobung vorgelegt. Der Produkt Owner sammelt das neue Nutzer-Feedback ein und steuert darüber die nächsten Konzeptions- und Entwicklungsschritte. Auf diese Weise schließt sich der Kreis der nach Lean UX-Prinzipien gesteuerten Lösungs-Entwicklung.
[1] Aus Gründen der besseren Lesbarkeit wird auf die gleichzeitige Verwendung weiblicher und männlicher Sprachformen verzichtet und das generische Maskulinum verwendet. Sämtliche Personen- und Rollenbezeichnungen gelten gleichermaßen für alle Geschlechter.