• Swetlana Hasenfuß

RPA, ETL und klassische Softwareentwicklung

Aktualisiert: 25. Apr.

RPA, Intelligent Automation, Hyperautomation

Langwierige, fehleranfällige oder monotone Aufgaben und Prozesse ermüden Mitarbeiter*innen. Regelbasierte und repetitive Arbeiten können schnell das Gefühl eines Roboterdaseins aufkommen lassen. Zusätzlich binden sie Zeit, menschliche und technische Ressourcen und sind damit letzten Endes unwirtschaftlich.

Robotic Process Automation, Intelligent Automation oder auch Hyperautomation - gemeint ist die Automatisierung von Geschäftsprozessen. Software-Roboter lassen sich zur Automatisierung unterschiedlichster Prozesse einsetzen. Angefangen von einfachen, sich wiederholenden Tätigkeiten, welche anhand einiger Regeln beschrieben werden können, bis hin zu umfangreichen und komplexen Vorgängen im Geschäftsumfeld. Angereichert mit künstlicher Intelligenz und den Interaktionsmöglichkeiten zwischen Mensch und Maschine steigern die digitalen Assistenten die Zufriedenheit der menschlichen Mitarbeiter*innen im Unternehmen. Durch enorme Zeiteinsparungen verhelfen sie zu einem verbesserten Kundenerlebnis. Darüber hinaus werden, mit Hilfe höherer Durchsatzmengen und effizienter Arbeitsabläufe, Kosten gespart und außerdem das Einhalten gesetzlicher Vorgaben erleichtert. Ganz automatisch entstehen so standardisierte und dokumentierte Prozesse.

RPA Roboter führen die Aufgaben aus, indem sie die menschlichen Handlungen auf der Benutzeroberfläche nachahmen. Ob Dateneingabe in einem ERP-System, automatisierte Kreditentscheidungen, Extraktion von Rechnungsdaten und deren Weiterverarbeitung in der Finanzbuchhaltungssoftware oder die Bearbeitung von Kundenanfragen – RPA ermöglicht die einfache Interaktion mit Benutzerschnittstellen und bereits existierenden Software-Systemen und somit die intelligente, robotergestützte Automatisierung für eine Vielzahl von Geschäftsprozessen.

Das Zusammenspiel aus AI, Machine Learning Verfahren, Kommunikation mit menschlichen Benutzern und RPA Tools wurde von Gartner (2020) bereits als einer der wichtigsten 10 Technologietrends bezeichnet. In vielen Unternehmen ist die Automatisierung der Geschäftsprozesse mittels intelligenter RPA bereits eingezogen, in zahlreichen weiteren steht der strategische Einsatz dieser Schlüsseltechnologien in den Startlöchern. Doch die scheinbar grenzenlosen Möglichkeiten können zuweilen auch zu Unsicherheiten bei der Suche nach geeigneten Use Cases führen.

Eine strategische Herausforderung für viele Unternehmen ist die Identifikation passender Prozesse für die Umsetzung mit RPA. Im Folgenden soll daher ein passender Rahmen dafür gefunden werden. Weiterhin steht die Betrachtung von alternativen Lösungsmöglichkeiten und deren teilweise verschwimmende Abgrenzung von RPA im Fokus dieses Beitrages.

 

Merkmale von RPA Prozessen

Die Eignung von Prozessen für die Umsetzung mit Hilfe von RPA hängt unter anderem von der strategischen Zielsetzung des Einsatzes ab.

So kann die Automatisierung von Aufgaben, die keine fachliche Expertise benötigen und einfachen Regeln folgen, einen erheblichen Beitrag zur Mitarbeiterentlastung leisten. Bestandssystempflege, Einträge in Exceltabellen oder das Abrufen von Daten aus internen Datenbanken sind hier denkbar. Die Beschleunigung langwieriger Prozesse wirkt sich positiv auf die Kundenzufriedenheit aus. Mögliche Anwendungsfälle sind hier etwa Klassifikation von Anfragen, Routing von Emails an den richtigen Ansprechpartner oder das automatische Verschicken von Emails. Wird einem Menschen viel Konzentration abverlangt, etwa weil viele Dateneinträge miteinander verglichen werden müssen, kann dies zu erhöhter Fehleranfälligkeit führen. Eine Automatisierung dieser Vorgänge mittels RPA eliminiert diese Fehleranfälligkeit und führt damit zu einer Qualitätsverbesserung. Die Geschäftsprozessautomatisierung erfordert deren Dokumentation und fördert somit die Transparenz im Sinne der Regulatorik.

Zusammenfassend eignen sich regelbasierte Prozesse mit vielen Schnittstellen, manuellen Arbeitsschritten und langen Durchlaufzeiten für die Prozessautomatisierung mit RPA. Auch Routineaufgaben, Arbeiten mit regulatorischen Anforderungen oder solche mit hohem Fehlerpotential können durch den digitalen Assistenten übernommen werden.

Folgende Merkmale kategorisieren Prozesse, welche sich für die Umsetzung mittels RPA eignen:

  • Repetitiv

  • Regelbasiert

  • Manuelle Arbeitsschritte

  • Lange Durchlaufzeiten

  • Fehleranfällig

  • Viele Schnittstellen

  • Regulatorische Anforderungen

Hier sei noch erwähnt, dass durch Einbindung KI-basierter Ansätze die Anzahl automatisierbarer Prozesse deutlich ansteigt. Intelligente Verarbeitung von Dokumenten, wie beispielsweise Kategorisierung von Kundenanliegen oder die Extraktion relevanter Informationen (Key Information Extraction, kurz: KIE), können in den regelbasierten Prozess eingebunden werden, womit zusätzliche Zeit und Arbeitskräfte gespart werden.

 

Sind RPA Lösungen immer sinnvoll?

Erfüllt ein Prozess die oben genannten Kriterien, lässt sich die Umsetzung mittels RPA Tools in der Regel auch realisieren. Doch die Implikation, dass RPA dann als einzige Möglichkeit der Automatisierung in Frage kommt, lässt sich daraus nicht ableiten.

Die Extraktion und Transformation von Daten, zwischen und innerhalb von Datenbanksystemen, sind häufig langwierig und fehleranfällig. Ein Software-Roboter kann hier durchaus Abhilfe schaffen. Doch sollte auch eine Eignung von ETL-Tools untersucht und eventuell in Erwägung gezogen werden.

Betrachtet man einen Prozess, in dem Kernbankensysteme und Backend-Interaktion eine Rolle spielen, ist es sinnvoll, die Vorteile der klassischen Softwareentwicklung mit denen von RPA zu vergleichen.

Es ist nicht verwunderlich, dass unterschiedliche Technologien zur Automatisierung von Prozessen ähnliche Merkmale aufweisen. Die Abgrenzung ist oft verschwommen und weist diverse Überschneidungen auf. Daher wird im Folgenden auf einige der alternativen Möglichkeiten eingegangen.


 

ETL

Eine Datenextraktion aus verschiedenen Quellen sowie die Aufbereitung der Daten und deren Einbettung innerhalb einer Datenbank, gehören in den meisten Unternehmen zu alltäglichen Prozessen. Ob zur Datensicherung, zentralen Datenerfassung oder zur Bereitstellung für Business Intelligence Anwendungen, die Aufbereitung von Daten und deren Weiterverarbeitung ist allgegenwärtig. Viele dieser Prozesse folgen dabei einem bestimmten Muster.

1. Extract

Die Extraktion von Daten mit verschiedenen Formaten aus unterschiedlichen Quellen oder Datenbanken ist der erste Schritt. Dieser Vorgang wiederholt sich in regelmäßigen Zeitabständen, ist anfragegesteuert oder wird durch ein Ereignis ausgelöst. Hierbei findet bereits eine erste Filterung statt.

2. Transform

Als nächstes müssen die extrahierten Daten für die Zieldatenbank aufbereitet werden. Einerseits findet hier eine syntaktische Transformation, wie beispielsweise die Anpassung der Datumsformate statt. Anderseits werden die Daten auf semantischer Ebene bearbeitet. Das bedeutet etwa Duplikate zu entfernen, unterschiedliche Kodierungen von Datenwerten zu vereinheitlichen oder Maßeinheiten in das von der Zieldatenbank vorgegebene Einheitensystem umzurechnen.

3. Load

Schlussendlich werden die so aufbereiteten Daten in die Datenbank oder das Data Warehouse integriert, möglichst ohne lange Blockaden.


Abläufe, die nach den geschilderten Schritten vorgehen, nennen sich ETL-Prozesse, wobei ETL für die Abkürzung der einzelnen Maßnahmen steht. Eigens für dieses Vorgehen entwickelte Tools senken die Durchlaufzeiten und entlasten die Mitarbeiter*innen im Unternehmen.

Ganz offensichtlich folgt dieser Prozess eindeutigen Regeln, beansprucht in manueller Ausführung enorme Ressourcen und ist repetitiv. Oft sind verschiedene Softwaresysteme involviert und das Fehlerpotenzial ist nicht zu unterschätzen. Die Kriterien, um als RPA Use Case in Betracht gezogen zu werden sind damit ebenfalls erfüllt. Daher ist ein genauerer Blick auf die Unterschiede notwendig.

 

ETL vs. RPA

Auch wenn die Überschrift etwas anderes vermuten lässt, geht es in diesem Abschnitt nicht darum, die Technologien gegeneinander antreten zu lassen. Denn beide Ansätze sind, richtiger Einsatz vorausgesetzt, hervorragend für die Automatisierung oben beschriebener Prozesse geeignet. Vielmehr geht es darum, den Blick für das geeignete Werkzeug zu schärfen.

Der Einsatz von RPA findet in allen digitalen Prozessen Anwendung, ETL Tools hingegen bieten für die Zusammenführung von Daten effiziente und performante Lösungen.

In der ressourcenintensiven und parallelen Massendatenverarbeitung über mehrere technische Schnittstellen hinweg, können ETL Tools durch Geschwindigkeit und Leistungsstärke überzeugen. Beispielsweise sei hier der Datentransfer aus SAP-Systemen in ein Data Warehouse, welches wiederum Data Marts für BI und Reporting zur Verfügung stellt, genannt.

Sollen menschliche Handlungen auf der Benutzeroberfläche imitiert und damit manuelle Prozesse automatisiert werden, können Software Roboter ihre Stärken ausspielen. Der Zugang zu APIs ist hier ebenfalls möglich und hat sich, in der einzelfallbezogenen, linearen Verarbeitung von Prozessschritten, bewährt. Für semi- oder gar unstrukturierte Daten kann RPA in Verbindung mit KI-Methoden, bzw. ML-Modellen eine starke und effiziente Lösung darstellen. Viele der gängigen RPA Plattformen haben dafür bereits vorgefertigte Bausteine integriert. Das Onboarding neuer Mitarbeiter*innen sowie die Verarbeitung von Rechnungen können hier als klassische Beispiele aufgeführt werden.

RPA

ETL

Daten aus verschiedenen Quellen zusammenführen

Daten aus verschiedenen Quellen zusammenführen

Alle digitalen Prozesse

Nur E(xtract)T(ransform)L(oad) Prozesse

Verarbeitung von semi- und unstrukturierten Daten möglich

Eher strukturierte Daten in relationalen Datenbanken (keine Extraktionen aus PDFs)

Imitiert menschliche Handlungen

Führt vordefinierte programmatische Anweisungen aus

UI-basierte Interaktion sowie technische Schnittstellen

Zugriff auf APIs / technische Schnittstellen

Lineare Verarbeitung (für parallele Verarbeitung mehrere Robots nötig)

Parallele Verarbeitung


Eher Einzelfallbezogene Bearbeitung

Einzel- und Massendatenverarbeitung


 

Konventionelle Softwareentwicklung

Nahezu alle Anwendungsfälle im RPA Umfeld lassen sich auch mittels Softwareentwicklung umsetzen. Vor allen Dingen hat dies zur Folge, dass hier ebenfalls alle Merkmale der geeignete Prozesse auftauchen. Für langwierige, monotone Aufgaben sowie regelbasierte Abläufe und fehleranfällige Abgleiche existieren bereits seit geraumer Zeit Lösungen. Für neu auftauchende Prozesse lassen sich diese mit Hilfe der klassischen Programmierung automatisieren. Die Möglichkeiten der klassischen, sogenannten High-Code Programmierung sind scheinbar unbegrenzt.

Verschiedene Programmierparadigmen, also unterschiedliche Prinzipien, legen die Ausführung von Programmen fest. So ist beispielsweise die prozedurale Programmierung ein Ansatz, bei dem die Gesamtaufgabe in Teilaufgaben unterteilt wird. Diese Teilaufgaben werden dann jeweils separat programmiert, getestet und können wiederverwendet werden.

Ein modernerer Ansatz, die objektorientierte Programmierung, legt den Fokus auf Abstraktion. Objekte können beispielsweise miteinander kommunizieren, Daten austauschen und diese verarbeiten. Klassen fassen die Eigenschaften und Methoden zusammen, über welche das Objekt dieser Klasse verfügt. Dieser Idee liegen Flexibilität und Wartbarkeit zugrunde.

Für wiederkehrende Probleme können sogenannte Design Patterns als Mustervorlage genutzt werden. Unabhängig von der Programmiersprache ermöglichen sie Entwicklern sowohl eine schnelle Lösung als auch eine Vereinfachung von Diskussionen. Dies geschieht mit Hilfe einer konkreten Benennung des Musters. So bietet das State Design Pattern etwa eine Modellierung für das Verhalten in Abhängigkeit von verschiedenen Zuständen. Das Muster zur Unterteilung einer Software in ein Datenmodell, die Programmsteuerung und die Präsentation nennt sich Model View Controller (MVC). Zahlreiche Muster finden sich in sogenannten Musterkatalogen wieder.

Die nahezu grenzenlosen Möglichkeiten der klassischen Softwareentwicklung lassen die Frage aufkommen, wann diese im Kontext der Geschäftsprozessautomatisierung sinnvoll ist.

 

RPA vs. Konventionelle Softwareentwicklung

Fast jeder regelbasierte und zeitaufwändige Prozess, der auf einem (oder mehreren) PC ausgeführt wird, technische Schnittstellen verwendet und Mitarbeiterkräfte bindet, kann auch durch klassische Programmierung gelöst werden. Dennoch bezeichnet Gartner (2020) RPA mit integrierter KI als einen der Top 10 strategischen Trends.

Vor allen Dingen überzeugen RPA Lösungen durch ihre schnelle und einfache Umsetzung. Im UiPath Studio[1] lassen sich Workflows beispielsweise schnell und einfach mittels Drag and Drop von grafischen Elementen erstellen. Anpassungen der bestehenden IT-Infrastruktur fallen hierbei ebenfalls gering aus. Gerade dort, wo menschliche Handlungen auf der Bildschirmoberfläche imitiert werden sollen und eine Umsetzung durch klassische Softwareentwicklung wertvolle Zeit und Ressourcen benötigt, werden mit RPA schnelle Ergebnisse erzielt.

Einmal entwickelte Softwarelösungen punkten üblicherweise mit hervorragender Perfomance. Auch die parallele Verarbeitung von mehreren Prozessen oder großen Mengen an Daten sind Aspekte, die eher zugunsten der Softwareentwicklung ausfallen. Ersteres ist zwar auch mit RPA möglich, jedoch werden hier mehrere Roboter gebraucht. In dem Fall bleibt abzuschätzen, welche Lösung mit welchen Kosten verbunden sind.

In Zeiten von sich schnell entwickelnden Märkten sind jedoch die einfache Wartbarkeit und kurzfristige Anpassungsmöglichkeiten von RPA ein enormer Vorteil. Häufig wird die Notwendigkeit der Anpassung von Robotern als Reaktion auf eine sich ändernde Oberflächenstruktur als Nachteil angesehen. Doch auch Softwareentwicklungen müssen gewartet und mit Updates und Upgrades versehen werden. Agilität ist die Fähigkeit sich schnell an neue Anforderungen anzupassen. RPA setzt also genau hier an.

Zusammenfassend gibt die folgende Tabelle einen Überblick:

RPA

Softwareentwicklung

Keine oder nur geringe Anpassungen der bestehenden Infrastruktur notwendig

Anpassungen der bestehenden Infrastruktur

Keine technischen Schnittstellen erforderlich

Technische Schnittstellen erforderlich


Einfache und schnelle Implementierung

Längere Implementierungszeiten

Imitiert menschliche Handlungen

Führt vordefinierte programmatische Anweisungen aus

UI-basierte Interaktion sowie technische Schnittstellen

Zugriff auf APIs / technische Schnittstellen

Lineare Verarbeitung (für parallele Verarbeitung mehrere Robots nötig)

Parallele Verarbeitung

[1] UiPath ist einer der führenden Anbieter für Robotic Process Automation.


 

Wann RPA?

Rückblickend können demnach die eingangs erarbeiteten Kriterien für intelligente Automatisierung von Geschäftsprozessen um folgende Punkte ergänzt werden:

  • Semi- und unstrukturierte Datenverarbeitung

  • Schnelle Implementierung notwendig

  • UI-basierte Interaktion

  • Keine oder nur geringe Anpassungen der bestehenden Infrastruktur möglich

  • Lineare Verarbeitung

Nicht alle diese Punkte müssen zwingend und für jeden Prozess erfüllt sein, um RPA dafür einsetzen zu können. In vielen Fällen, in denen ETL oder Softwareentwicklung klassischerweise zum Einsatz kommt, kann auch RPA eingesetzt werden. Mancherorts sind die Technologien austauschbar. Schlussendlich kann auch eine Kombination aller drei vorgestellten Möglichkeiten sinnvoll sein.

 

Wir bei DataSpark beraten Sie gerne zu den Themen RPA und intelligent Automation und unterstützen Sie bei der Identifikation passender Anwendungsfälle. Auch geeignete Technologien für die Automatisierung Ihrer individuellen Prozesse finden wir mit Ihnen gemeinsam oder entwickeln eigens für Sie maßgeschneiderte Lösungen. Wir begleiten Sie auf der Reise vom ersten RPA-Roboter bis zur Hyperautomation der gesamten Organisation.

 

Quellen:

Gartner: Die 10 wichtigsten strategischen Technologietrends für 2020