Ein Angebot von

Modell trifft Realität: Die Anforderungen an Software verändern sich

| Autor / Redakteur: Monika Gatzke, Prof. Dr. Volker Gruhn / Nico Litzel

Je weiter Software in neue Bereiche in der realen Welt vordringt, desto komplizierter werden die Zusammenhänge. Denn wenn reale und digitale Welt unmittelbar aufeinanderprallen, ergeben sich daraus für Softwareentwickler und Projektverantwortliche ganz neue Anforderungen.
Je weiter Software in neue Bereiche in der realen Welt vordringt, desto komplizierter werden die Zusammenhänge. Denn wenn reale und digitale Welt unmittelbar aufeinanderprallen, ergeben sich daraus für Softwareentwickler und Projektverantwortliche ganz neue Anforderungen. (Bild: kras99 - stock.adobe.com)

Bisher war es ihre Aufgabe, Produktionsprozesse in einem Unternehmen zu steuern. Inzwischen steuern sie selbstständig Autos durch das Chaos des Berufsverkehrs: Die Rolle von Informationssystemen wandelt sich gerade fundamental. Denn jetzt verlassen die Systeme ihre bisher gut kontrollierbaren Wirkungsstätten in Büros, Fabrikhallen oder Rechenzentren und ziehen hinaus in die „echte“ Welt.

Ein Trend, der sich quer durch alle Branchen beobachten lässt. Krankenversicherungen setzen die Systeme nicht mehr nur dazu ein, die Namen, Anschriften und Krankengeschichten ihrer Kunden konsistent zu speichern. Inzwischen unterstützen sie die Experten auch dabei, besten Therapiemaßnahmen auszuwählen Behandlung zu koordinieren.

Der legendäre Satz des Silicon-Valley-Urgesteins Marc Andreessen „Software Is Eating the World“ aus dem Jahr 2011 war geradezu prophetisch. Aber je weiter Software in neue Bereiche vordringt, desto komplizierter werden die Zusammenhänge. Denn wenn reale und digitale Welt unmittelbar aufeinanderprallen, ergeben sich daraus für Softwareentwickler und Projektverantwortliche ganz neue Anforderungen. Mit der Realität hält auch das Chaos Einzug in die bisher doch recht wohlgeordnete Welt der Informationssysteme. Die klassischen Ansätze der Informatik helfen nicht weiter. Es gibt, entgegen aller aktuellen Euphorie, Grenzen der Digitalen Transformation.

Gleichzeitig haben mit der zunehmenden Verbreitung und Bedeutung von Informationssystemen deren Konzepte und Ergebnisse einen immer größeren Einfluss auf die Alltagswelt. Wenn ein Algorithmus entscheidet, wer einen Kredit bekommt oder wer eine Wohnung mieten darf, verbergen sich dahinter in Code gegossene Vorstellungen über den optimalen Zustand der realen Welt. Wie diese Vorstellungen aussehen, welche Parameter die Entwickler heranziehen und wie sie welchen Faktor bewerten, ist dabei für Außenstehende nicht nachzuvollziehen. Eine Situation, die zu Fehlentwicklungen führen kann. Der Digitalen Transformation sollten also, wiederum entgegen aller aktuellen Euphorie, Grenzen gesetzt werden.

Das Digitale erobert die Welt

Auch wenn sich die Methoden und Technologien des Software Engineerings in den letzten Jahrzehnten deutlich weiterentwickelt haben, blieb eine Grundlage über all die Zeit erhalten: Die Entwickler traditioneller Informationssysteme gehen bei ihrer Arbeit von der Annahme eines geschlossenen Modells aus. Das bedeutet, alles, was das System verwalten, berechnen oder erzeugen soll, schlägt sich in Artefakten nieder. Zu den verwalteten Informationen gehören Merkmale über Dinge und Menschen (im Folgenden als „Objekte“ bezeichnet), die im jeweiligen Anwendungskontext relevant sind. Das können Auslastung, Wartungszustand, Vertragsinhalte, Kundendaten oder Kontostände sein.

Dabei gilt: Andere Merkmale der betrachteten Objekte oder andere Objekte spielen im jeweiligen Anwendungskontext keine Rolle. Die Entwickler berücksichtigen sie im Rahmen der Bildung des Modells nicht. So entsteht eine klare Trennlinie zwischen den im Informationssystem berücksichtigten Weltausschnitt und dem Rest der Welt.

Jetzt aber brechen Informationssysteme aus dieser engen Modellwelt heraus. Ob Internet der Dinge, Cyber-Physical Systems (CPS), Chatbots oder datengetriebene Systeme: Sie alle sind Indikatoren für die zunehmende Digitalisierung unserer Lebenswirklichkeit. Unternehmen nutzen die den Informationssystemen zugrundeliegenden Algorithmen nicht mehr nur dazu, Maschinen zu steuern und Bestandskunden zu verwalten. Plötzlich spielt Software bei der vorausschauenden Einsatzplanung von Wartungstechnikern, der Suche nach einem Partner oder bei der Entscheidungsfindung im politischen Prozess eine Rolle. Aufgaben, die deutlich über das hinausgehen, was die Systeme – und ihre Entwickler – bisher leisten mussten.

Die wohlgeordnete Modellbildung mit all ihren definierten Strukturen und Abläufen prallt auf die echte Welt mit allen ihrem Chaos, der Unvorhersehbarkeit und den Menschen. Wenn statt Modellgrenzen die echte Umwelt und statt verwalteter Objekte handelnde Subjekte für den Erfolg eines Informationssystems entscheidend sind, wird es eng für die bisherigen Ansätze der Softwareentwicklung.

Neues Vorgehen gesucht

Das Handwerkszeug der Informatiker reicht hier nicht mehr raus. Das über Jahre erprobte Standardvorgehen „Modell aufbauen, von allem anderen abstrahieren und dann nur noch mit dem Modell weiter arbeiten“ ist nicht mehr zielführend. Denn die Annahme hinter dem Modell ist, dass es die Wirklichkeit hinreichend detailliert abbildet. Aber je enger die physische und die digitale Welt zusammenwachsen, desto weniger greift diese Annahme. Erste praktische Erfahrungen, beispielsweise bei der Entwicklung von CPS, zeigen, dass es Informatikern Probleme bereitet, mit dieser Tatsache umzugehen. Fast reflexartig kommen sie auf die Idee, mehr Modellbildung zu betreiben, detailliertere Abbildungen der Realität zu bauen.

So entstehen Systeme, die immer noch eine Eventualität mehr berücksichtigen, die noch eine Ausnahme mehr erfassen. Ihre Schöpfer führen sich nicht vor Augen, dass hinter dieser einen Eventualität und hinter dieser einen Ausnahme eine – im wahrsten Sinne des Wortes – unendliche Vielfalt an Möglichkeiten steckt, die das System immer noch nicht berücksichtigt.

Genau diese Diskrepanz zwischen der Modellwelt der Informatik und dem realen Leben führt an die Grenzen der Digitalen Transformation. Es gibt Ansätze, wie Experten dieses Problem in den Griff bekommen können.

Die Grenzen verschwimmen

Von selbstlernenden Systemen bis hin zu Künstlicher Intelligenz: Fachleuten gelingt es, immer „schlauere“ Algorithmen zu entwickeln. Sie erkennen Muster in großen Datenmengen, sie lernen, indem sie Experten bei der Arbeit beobachten oder indem sie gegen sich selbst antreten.

All das führt dazu, dass Systeme innerhalb ihrer Grenzen schneller zu besseren Ergebnissen kommen. Aber diese Ansätze helfen nicht beim Sprung über diese Grenze. Denn das Unvorhersehbare lässt sich nicht trainieren. Einem Algorithmus können Experten auf Basis hunderttausender Bilder beibringen, mit traumwandlerischer Sicherheit Katzen von Hunden zu unterscheiden. Ein einziges Bild einer Maus sorgt dafür, dass das System nicht mehr funktioniert.

Entwickler müssen verstehen, dass ein Teil der realen Welt immer außerhalb des Informationssystems bleiben wird. Ihnen muss klar sein, dass hinter der beobachtbaren Unordnung mehr Ausnahmen als Regeln stecken. Ein durchaus schmerzhafter Lernprozess. Denn das Gefühl der Allmacht, das Entwickler angesichts ihrer Möglichkeiten in den von ihnen geschaffenen Systemen bisher hatten, wird ersetzt durch Respekt und Demut vor dem Unbekannten und dem begrenzten Handlungsspielraum.

Die Realität kann nicht hinreichend vollständig modelliert werden: Mit dieser neuen Geisteshaltung gilt es nun, neue Systeme zu entwerfen, die an der Grenze zwischen realer und digitaler Welt ihr Bestes geben. Dabei sollten die Experten nicht mit allumfassenden Lösung vor Augen in den Entwicklungsprozess gehen, sondern mit dem aus der Lean-Startup-Bewegung bekannten Konzept des Minimal Viable Products (MVP) starten. Ein MVP ist die erste minimal funktionsfähige Variante eines Produkts oder Service. Es wird entwickelt, um mit minimalem Aufwand den Kundenbedarf zu decken und Feedback zu gewährleisten. Die Entwickler veröffentlichen ein MVP und sammeln während der praktischen Anwendung Daten über Einsatzszenarien, Anwendungsfälle und Probleme.

Es ist also die Realität, die Softwareentwicklern das Leben so schwer macht. Wie oben beschrieben sind viele Probleme schon erkannt, aber noch nicht alle Lösungen auf dem Tisch. Gleichzeitig schicken sich Algorithmen aber auch an, die reale Welt zu verändern. Denn je mehr Funktionen und Entscheidungen ihnen übertragen werden, desto stärker beeinflussen sie das Leben des Einzelnen und die Entwicklung der Gesellschaft. Mit noch nicht absehbaren Konsequenzen.

Alle Macht den Algorithmen?

Der Siegeszug der Algorithmen scheint fast unaufhaltsam zu sein. Forscher schieben die Grenze des Machbaren immer ein Stück weiter nach hinten – und immer weiter hinein in Bereiche, in denen die Entscheidungen ureigene menschliche Aspekte berühren: Warum sollte ein medizinisches System nur die Diagnose verbessern? Warum nicht auch gleich den Operationsplan festlegen? So kann der Algorithmus mit dem Wissen über diagnostizierte Krankheiten, Überlebenswahrscheinlichkeiten der Patienten und den Fachkenntnissen der verfügbaren Mediziner sicherstellen, dass das optimale Ergebnis erzielt wird. Warum nur den Aktienfonds managen, wenn die Software doch auch gleich die Unternehmen optimal führen kann – inklusive der Auswahl neuer Produktionsstandorte und dem Einstellen beziehungsweise Entlassen von Mitarbeitern? Das mag noch reichlich weit hergeholt wirken. Aber wer hätte vor zehn Jahren erwartet, dass autonome Autos durch die Innenstädte von Los Angeles fahren?

Softwaresysteme unterstützen nicht mehr nur, liefern die Datenbasis für Entscheidungen oder erarbeiten Handlungsalternativen, aus denen Menschen dann die geeignete Option auswählen. Sie entscheiden immer häufiger direkt: Ob das Auto an der Kreuzung nach links oder rechts fährt, ob Aktie A oder B ein Anlagetipp ist. In Zukunft halt auch, wer operiert wird. Und wer nicht. Wer entlassen wird. Und wer bleiben darf. Die Entscheidungen treffen sie dabei häufig auf Basis von – von was eigentlich? Welche Routinen, Prozesse, Abfragen und Gewichtungen bauen die Entwickler in ihre Systeme ein? Wie kommen die Ergebnisse zustande? Welcher Zielzustand ist der optimale, den das Informationssystem anstrebt?

Wenn Banken und Versicherungen ihre Allgemeinen Geschäftsbedingungen veröffentlichen müssen, dann sollten sie ihren Kunden auch einen Blick hinter die Kulissen ihrer Algorithmen erlauben. Wer wie behandelt wird, darf nicht hinter der verschlossenen Tür zur IT-Abteilung entschieden werden. Algorithmustransparenz ist eine neue Anforderung, die Softwareentwickler auf ihre Aufgabenliste schreiben müssen. Denn die Gesellschaft wird genau das von ihnen fordern.

Eine Aufgabe für alle

Entgegen dem Eindruck, den der Blick in die Publikumsmedien vermittelt, liegt zwischen den vielen Möglichkeiten und Versprechen der Digitalen Transformation und der Realität noch ein weiter Weg. Die oben geschilderten Themen müssen angesprochen und gelöst werden, bevor die Technologien ihre – wie wir überzeugt sind – positiven Wirkungen weiter entfalten können.

Hier und jetzt müssen sich Informatiker über Systemgrenzen Gedanken machen und sehr genau überlegen, welche Anforderungen ins System gehören und was außen vor bleiben sollte. Sie müssen weg von der reinen Objektperspektive und deutlich stärker berücksichtigen, wie sie den Menschen als handelndes Subjekt unterstützen können: Was will er erreichen? Welche Werkzeuge braucht er? Wie kommt das dafür notwendige Wissen ins System?

Aber die Anforderungen gehen noch weiter: Informatiker müssen sich unbequeme Frage stellen: Was tun wir überhaupt? Welche Normen legen wir zugrunde? Wie gehen wir mit Menschen um? Unternehmen und die gesamte Gesellschaft müssen eine Idee davon entwickeln, wie eine Welt aussehen soll, in der Algorithmen in vielen Fälle die Rollen und Kompetenzen einnehmen, die bisher Menschen vorbehalten waren.

Diese Herausforderung geht deutlich über die Möglichkeiten der Informationstechnologie hinaus. Sie betrifft ethische, volkswirtschaftliche, betriebswirtschaftliche, gesellschaftliche, mathematische und informationelle Aspekte. Es gilt, bei einer Lösung all diese Aspekte unter einen Hut zu bringen. Aus Sicht des Software Engineers kommen jetzt Methodenelemente des partizipatorischen Designs zum Zuge. Bei klassischen Informationssystemen spielten diese Ideen jahrzehntelang kaum eine Rolle. Aber an den Grenzen smarter Systeme können sie durchaus nützlich sein.

Auch das Engineering smarter Systeme wird zu einer interdisziplinären Aufgabe. Sie führt Interaktionsdesigner, Arbeitsgestalter, Statistiker, Informatiker und Domänenexperten zusammen.

Grundlagen des Modellbasierten System-Engineering (MBSE)

Grundlagen des Modellbasierten System-Engineering (MBSE)

17.04.18 - Software und Systeme werden zunehmend schwieriger versteh- und beherrschbar. Infolgedessen wenden sich immer mehr Entwickler modellbasiertem System-Engineering (MBSE) zu. Was gibt es dabei zu beachten? lesen

Die Zeit ist reif für modellbasierte Softwareentwicklung!

Softwaremodellierung

Die Zeit ist reif für modellbasierte Softwareentwicklung!

16.11.15 - Das Potenzial der modellbasierten Softwareentwicklung (MDSE) wird in der Praxis noch zu wenig ausgenutzt. Dabei kann gerade MDSE helfen, die Komplexität moderner vernetzter Systeme zu meistern. lesen

Dieser Beitrag stammt von unserem Partnerportal Bigdata-Insider.de.

Ergänzendes zum Thema
 
Die Autoren

Kommentar zu diesem Artikel abgeben
Sehr guter Artikel, der kurz und knapp die auf uns zukommenden Probleme beschreibt. Ein, meiner...  lesen
posted am 30.10.2018 um 18:34 von d_u_p_l_o


Mitdiskutieren
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45568414 / Software Engineering)