ML/KI-Technologien erfordern Umdenken bei der Entwicklung

EDDA - Ein Vorgehensmodell für datengetriebene Anwendungen

10.05.2019
Von  , und
Prof. Dr. Volker Gruhn ist Mitgründer und Aufsichtsratsvorsitzender der adesso AG. Außerdem hat er den Lehrstuhl für Software Engineering an der Universität Duisburg-Essen inne. Gruhn forscht unter anderem über mobile Anwendungen und Cyber-Physical Systems.


Nils Schwenzfeier hat Informatik studiert und promoviert aktuell an der Universität Duisburg-Essen am Lehrstuhl für Software Engineering insb. Mobile Anwendungen. Sein Forschungsfokus liegt dabei im Bereich maschinelles Lernen und der automatisierten Erkennung von Anomalien in großen Datenmengen.


Ole Meyer hat Informatik studiert und promoviert aktuell an der Universität Duisburg-Essen am Lehrstuhl für Software Engineering insb. Mobile Anwendungen. Sein Forschungsfokus liegt dabei auf dem Entwicklungsprozess Intelligenter Agenten durch bestärkendes Lernen.
Der Ansatz des "Engineering Process for Developing Data-Driven Applications (EDDA)" ist eine Antwort auf die Besonderheiten beim Entwickeln KI-basierter Systeme.

Im Begriff des Softwarebauens steckt viel von dem Selbstverständnis der IT-Experten. Sie bauen, ähnlich wie der Architekt ein Haus oder der Ingenieur eine Maschine, Software. Dafür greifen die Beteiligten auf seit Jahren oder Jahrzehnte etablierte Abläufe, Vorlagen und Techniken zurück. Die Kombination aus erprobten Standards und Erfahrung in der Projektorganisation sorgt für Zuverlässigkeit im Prozess. Auch Softwareprojekte laufen gelegentlich aus dem Ruder und überschreiten vorgegebene Budget- oder Zeitgrenzen. Im Extremfall führen sie gar nicht zum gewünschten Ergebnis. Aber das ist eher die Ausnahme als die Regel.

Im Vergleich zu klassischen IT-Lösungen benötigen datengetriebene Anwendungen eine andere Projektstruktur und ein anderes Fachwissen der Beteiligten.
Im Vergleich zu klassischen IT-Lösungen benötigen datengetriebene Anwendungen eine andere Projektstruktur und ein anderes Fachwissen der Beteiligten.
Foto: everything possible - shutterstock.com

Aktuell ist in Unternehmen ein Umbruch zu erkennen: Machine-Learning (ML)- beziehungsweise Artificial-Intelligence (AI)-Technologien halten verstärkt Einzug in die IT-Landschaften. Allerorts initiieren Verantwortliche Projekte, um die neuen Möglichkeiten auszutesten. Ziel ist es häufig, Zusammenhänge in Daten zu erkennen oder große Datenmengen automatisch zu klassifizieren. Bei der Entwicklung solcher datengetriebener Anwendungen kommt es in der Praxis immer wieder zu Schwierigkeiten. Denn: Im Vergleich zu klassischen IT-Lösungen benötigen sie eine andere Projektstruktur und ein anderes Fachwissen der Beteiligten. Datengetriebene Anwendungen entstehen nicht auf magische Art und Weise von selbst. Sie sind das Ergebnis von sauber auf- und umgesetzten Projekten.

Der entscheidende Unterschied: Die Experten entwickeln auf der Grundlage vorhandener Daten. Um dabei erfolgreich zu sein, müssen die Beteiligten Verständnis für die zugrundeliegenden Daten, die Besonderheiten des eigenen Unternehmens und der eigenen Branche, Möglichkeiten der Analyse und darauf aufbauend des Entwickelns von Algorithmen mitbringen.

Hinter der Idee des "Engineering Process for Developing Data-Driven Application (EDDA)" verbirgt sich genau das: ein Vorgehensmodell mit Phasen, Rollen und Verantwortlichkeiten, das den Besonderheiten der Entwicklung gerecht wird.

Der Erfolg hängt an vier Rollen

In einem datengetriebenen Projekt haben vier Rollen entscheidende Bedeutung für die erfolgreiche Umsetzung. Der Begriff Rolle steht dabei für ein Set an Fähigkeiten und Verantwortlichkeiten, nicht für eine Person. So kann eine Person mehrere Rollen in einem Projekt einnehmen oder eine Rolle wird von mehreren Beteiligten ausgefüllt.

1. Domain Expert: Diese Rolle kennt die Geschäftsprozesse des Unternehmens, die Abläufe in der Branche und die Anforderungen der Anwender. Der Domain Expert ist bei Branchenspezifika genauso fit wie beim Bewerten von Anwendungsfällen.

2. Data Scientist: Mit dieser Rolle hält das ML-/AI-Fachwissen Einzug in das Projekt. Der Data Scientist kombiniert Fähigkeiten eines IT-Experten und eines Statistikers. Er ist firm im Umgang mit ML- und AI-Technologien, bringt Programmierkenntnisse mit und hat Erfahrung im Umgang mit großen Datenmengen.

3. Software Engineer: Er verantwortet das übergeordnete Software Engineering und stellt das Bindeglied zwischen dem datengetriebenen und dem klassischen Projekt da. Der Software Engineer ist Experte für Softwareentwicklung und bringt ein grundlegendes Verständnis für das Thema Data Science mit.

4. Data Domain Expert: Den Zugriff auf und das Wissen über Daten und Datenquellen innerhalb des Unternehmens und der Domäne liefert diese Rolle. Im Gegensatz zum Domain Experts, die aus der Perspektive des Geschäfts auf Daten blicken, bringt der Data Domain Expert eine eher technische Sichtweise mit.

Auf diesen vier Säulen steht die Entwicklung von datengetriebenen Anwendungen. Diese Rollen sorgen dafür, dass das Projektteam das nötige Fach-, IT- und AI-Wissen mitbringt. So ausgestattet machen sich die Beteiligten daran, AI-basierte Anwendungen zu entwickeln.

Ein festes Modell für ein flexibles Vorgehen

EDDA unterteilt den Entwicklungsprozess, abhängig von der vorhandenen Datengrundlage, in bis zu sechs Prozessschritte. Die lineare Abfolge dient zum einfachen Visualisieren und Beschreiben. In der Projektpraxis wählen Entwicklerteams nicht den gradlinigen, sondern den passenden Weg für ihr Projekt.

Die Entwicklung von KI-Anwendungen lässt sich in sechs Schritte unterteilen
Die Entwicklung von KI-Anwendungen lässt sich in sechs Schritte unterteilen
Foto: adesso AG