Robotic Process Automation
Robotic Process Automation (RPA, deutsch: Robotergestützte Prozessautomatisierung) ist ein Ansatz zur Prozessautomatisierung, bei dem repetitive, manuelle, zeitintensive oder fehleranfällige Tätigkeiten durch sogenannte Softwareroboter (Bots) erlernt und automatisiert ausgeführt werden[1]. Softwareroboter verwenden dabei nicht nur technische APIs von Systemkomponenten, sondern können Anwendungssoftware auch über die Präsentationsschicht steuern, vergleichbar mit der Durchführung durch einen Menschen.[2] Je nach verwendeter RPA-Plattform können notwendige Schritte mit modellgetriebenen oder selbstlernenden Ansätzen aufgezeichnet werden.[1] RPA vereint die Modellierung von Abläufen, Skripting und Job-Scheduling.
Softwareroboter als Paradigma der Automatisierung
Softwareroboter sind Anwendungen, die auch eine menschliche Interaktion mit Benutzerschnittstellen von Softwaresystemen nachahmen können.[3] Dabei arbeiten Softwareroboter in einer vergleichbaren Art und Weise auf dem User Interface (siehe auch Mensch-Maschine-Interface), wie es ein Mensch würde. Während RPA die manuellen Schritte digitalisiert, ändert traditionelles Business Process Management (BPM) die Ebene der Geschäftslogik.[1] Beispielsweise kann die Ausführung einer Dateneingabe in ein ERP-System oder sogar das Ausführen eines gesamten Geschäftsprozesses durch einen Roboter abgebildet werden.[4]
Im weiteren Sinne ist RPA "mehr als nur eine Technologie zur Roboter unterstützten Geschäftsprozess Automatisierung. Sie ist Vorgehensmodell, Framework und nicht zuletzt eine sich neu etablierende Unternehmensphilosophie, die das Ziel hat, sämtliche Prozesse des Unternehmens neu auf Aktualität, Angemessenheit und Performanz zu hinterfragen, um den sich im Zuge der wachsenden Digitalisierung beschleunigenden Abläufen innerhalb und außerhalb des Unternehmens Rechnung zu tragen. Konkret geht es um den Einsatz von Robotern zur Automatisierung von Prozessen, die verschiedene Eigenschaften besitzen, mit dem Ziel der Erhöhung von Zuverlässigkeit, Geschwindigkeit, Einfachheit und Sicherheit, bei gleichzeitiger Reduzierung der ursprünglichen Prozesskosten, der mit der Durchführung des Prozesses verbundenen Risiken sowie der Abhängigkeit von externen Ressourcen."[5]
Historische Entwicklung
Nachdem zunächst einfache Probleme mittels RPA-basierter Systeme gelöst werden konnten, sind moderne Softwareroboter mittlerweile bereits in der Lage, komplexe Aufgaben zu übernehmen. So liegt der Fokus nicht nur auf der Prozessoptimierung im Kundendienst, sondern gewinnt zunehmend auch unternehmensintern an Relevanz (siehe hierzu auch RPA-Beispiele). Seit Anfang 2000 werden Softwareroboter vermehrt für die Erstellung von Social Media Beiträgen, den Versand generierter E-Mails oder auch für die telefonische Kundenberatung in Form von Interactive Voice Response eingesetzt. Ein bedeutender Entwicklungsschritt in der Geschichte der robotergesteuerten Prozessautomatisierung erfolgte in der Testautomatisierung der Software-Qualitätssicherung.[6][7]
Ein RPA-Rechenbeispiel in der Testautomatisierung:
Während manuelle Tester an einem 8-stündigen Arbeitstag aufgrund weiterer berufsbegleitender Aktivitäten (z. B. Lesen von E-Mails, Teilnahme an Meetings, Gespräche mit Kollegen, sonstige Arbeitsunterbrechungen) effektiv etwa 3,5 Stunden testen, was in der Woche 17,5 Stunden entspricht, ermöglicht beispielsweise die RPA-gestützte Testautomatisierung im 24/7-Einsatz 168 Stunden Testzeit, während zudem gleichzeitig eine lückenlose automatische Protokollierung, der sogenannte Testreport, erstellt werden kann.
Das Screen Scraping ist eine der robotergesteuerten Prozessautomatisierung verwandte Art der Automatisierung. RPA gilt allerdings als eine wesentlich bedeutsamere, technologische Weiterentwicklung dieser Technik. Aus ihr hervorgehende Softwareplattformen bieten einen wesentlich reiferen, flexibleren, skalierbareren und verlässlicheren Ansatz zum Einsatz in großen Unternehmen.[8]
Fortschrittliche RPA-Lösungen können in ihrer Erscheinung über reine Softwareroboter hinausgehen und verfügen neben maschinellem Sehen sogar über Kinematiken und Stimmen, um auch berührungs- und sprachgesteuerte Geräte bedienen zu können.[9]
Deployment
Das Anbieten von solchen RPA-Diensten unterstreicht die Metapher des KI-getriebenen Arbeiters in dem Sinne, dass jede Softwareroboterinstanz ihrer eigenen virtuellen Workstation zugewiesen wird, vergleichbar der eines menschlichen Arbeiters. Der Roboter verwendet dabei Kontrollinstrumente für Maus und Tastatur, um Interaktionen auf der Benutzeroberfläche auszuführen. Verständlicherweise finden diese Interaktionen im Verborgenen in einer virtuellen Umgebung ohne physischen Bildschirm statt, da ein Softwareroboter auf diesen verzichten kann – stattdessen interpretiert er das Bildschirmsignal elektronisch.[10]
Charakteristiken von RPA-Anwendungen
Programmierung
RPA-Plattformen modellieren Prozesse abstrakt in einzelnen Schritten (häufig als "Step" oder "Task" bezeichnet). Viele bedienen sich der Technik von Flussdiagrammen oder anderen Entscheidungsbäumen, um so eine grafische Prozessmodellierung mittels Drag&Drop zu ermöglichen. Prozessschritte greifen auf wiederverwendbare Bausteine aus Bibliotheken zurück, so dass keine Programmierung zur Steuerung von Systemkomponenten notwendig ist. So gibt es in RPA-Plattformen zum Beispiel häufig bereits Module zur Steuerung von Webbrowsern. Die abstrahierte Ablauflogik wird in der Regel innerhalb der RPA-Software in eine Skriptsprache übersetzt.
Beispiel (Robot Framework)
Im folgenden Beispiel wird mit Hilfe von Robot Framework ein Prozessablauf abstrahiert (im Abschnitt Tasks Zeile 6–8). Die Abstraktion geschieht hier nicht über Visualisierungstools, sondern über menschenlesbare textuelle Prozessbeschreibung. Ein Task setzt sich hier aus sogenannten Keywords zusammen. Die bereits vorimplementierten Keywords sind hier in Englisch und werden in Zeile 2 importiert. Zum besseren Verständnis baut ein RPA-Entwickler daraus eigene Keywords, die der Fachsprache des Prozesses entsprechen (Abschnitt Keywords, Zeile 10 ff.). Das Prozessmodell wird hier zwar in Python übersetzt, der RPA-Entwickler muss zur Modellierung aber kein Pythonprogrammierer sein, sondern braucht nur rudimentäre Programmierkenntnisse.
*** Settings ***
Library RPA.Browser
Task Teardown Close All Browsers
*** Tasks ***
Screenshot der aktuellen Nachrichten auf Wikipedia erstellen
Hauptseite von Wikipedia.de öffnen
Screenshot der Nachrichten erstellen
*** Keywords ***
Hauptseite von Wikipedia.de öffnen
Open Available Browser https://de.wikipedia.org
Screenshot der Nachrichten erstellen
Wait Until Page Contains Element xpath://div[@id="hauptseite-nachrichten"]
Capture Element Screenshot xpath://div[@id="hauptseite-nachrichten"]
Deployment
Eine wesentliche Herausforderung von Softwaredeployments ist, dass Änderungen von bestehenden Systemen zunächst die Kenntnis der komplexen Zusammenhänge zwischen den Systemkomponenten erfordert. Die Erneuerung, Erweiterung oder sogar der Austausch bestehender Systeme in großen Unternehmen (Systemmodifikation oder auch als "Change" bezeichnet), stellt ein großes Risiko dar, weil die Veränderung der Systemkomponenten auch ungewollte Seiteneffekte in der Systeminfrastruktur erzeugen kann – sogar mit Auswirkung auf Teilkomponenten, die selbst gar nicht modifiziert wurden.[11] Ein Prinzip von RPA ist es, für solche Änderungen automatisierte Regressionstests durchzuführen.
Ziele der RPA
Zu den häufigsten Zielen einer RPA-Lösung gehören[12]:
- Kostenreduktion repetitiver Tätigkeiten / Arbeitsschritte
- Vermeidung von Risiken durch menschliche Fehler:
- Bei der Durchführung der eigentlichen Aufgabe
- Bei der Erstellung eines RPA-Prozesses
- Mitarbeiterentlastung zur Fokussierung auf wertschöpfende Tätigkeiten
- Prozessgeschwindigkeit erhöhen
- Reduzierung der Abhängigkeit vom Fachkräftemangel
- Prozessstabilität
Die Zukunft von RPA
Die Zukunft von RPA kann vielfältig sein. Aus der Mehrheit der frühzeitigen Anwender ergeben sich neue Anwendungsfälle und Synergien. Mögliche Szenarien können wie folgt aussehen:
- Annäherung von Plattformen des Business Process Managements (BPM) und RPA.
- Ein breiterer Einsatz von künstlicher Intelligenz zur fortgeschrittenen Entscheidungsfindung (Hyperautomation).
Gesellschaftlicher Einfluss
Akademische Studien gehen davon aus, dass RPA neben anderen technologischen Trends maßgeblich für Produktivitäts- und Effizienzsteigerungen verantwortlich sein wird und in diesem Zusammenhang innerhalb der nächsten zwei Dekaden (~2035), wenn auch nicht allein auf RPA zurückzuführen, rund 47 % aller amerikanischen Berufe automatisiert werden könnten.[13][14]
Der Unternehmer David Moss zeichnet ein Szenario bei einem TEDx-Event, in dem der Einsatz digitaler Arbeitskräfte den Dienstleistungssektor revolutionieren wird. Neben einem weitreichenden Einfluss auf die Kostenstrukturen von Dienstleistungen ergeben sich vor allem Möglichkeiten in der Dienstleistungsreichweite, -ausgestaltung, -qualität und insbesondere der Individualisierbarkeit von Dienstleistungen.[15]
Prof. Willcocks geht indes davon aus, dass Softwareroboter darüber hinaus maßgeblich das gesellschaftliche Bild verändern. Durch das Wegfallen (die Übernahme durch die Softwareroboter) von vielen profanen und hochrepetitiven Tätigkeiten wird das tägliche Arbeitsvolumen maßgeblich reduziert. Das führt zu einer gesteigerten Arbeitszufriedenheit und intellektueller Stimulation. Somit können humane Arbeitnehmer sich mehr auf ihre wesentlichen Tätigkeiten konzentrieren.[14]
Einzelnachweise
- ↑ a b c Christian Czarnecki, Gunnar Auth: Prozessdigitalisierung durch Robotic Process Automation. In: Digitalisierung in Unternehmen: Von den theoretischen Ansätzen zur praktischen Umsetzung (= Angewandte Wirtschaftsinformatik). Springer Fachmedien Wiesbaden, Wiesbaden 2018, ISBN 978-3-658-22773-9, S. 113–131, doi:10.1007/978-3-658-22773-9_7 (springer.com [abgerufen am 14. August 2019]).
- ↑ Beispiel einer RPA-Lösung mit Kinematik. In: Youtube.com. WIANCO OTT Robotics, abgerufen am 20. Mai 2020.
- ↑ Hal Hodson: AI interns: Software already taking jobs from humans. In: New Scientist. 31. März 2015, abgerufen am 29. November 2016 (englisch).
- ↑ Michael Azoff: Blue Prism’s robotic process automation offers scope for artificial intelligence. (Nicht mehr online verfügbar.) In: Ovum.com. 24. Juni 2015, archiviert vom Original am 31. Juli 2016; abgerufen am 29. November 2016 (englisch).
- ↑ Michael Wilczynska: Robotic Process Automation . RPA Erklärung, Ethik und Zweck. In: wianco.de. WIANCO OTT Robotics, abgerufen am 20. Mai 2020.
- ↑ André Rist, Markus Stahl: Qualität komplexer Systeme mit Open-Source-Tools verifizieren. (PDF) In: German Testing Magazin. SIGS DATACOM GmbH, Mai 2019, S. 23, abgerufen am 15. Juni 2020.
- ↑ Entstehung der Robotic Process Automation. Abgerufen am 23. September 2018.
- ↑ Phil Fersht, Jim Slaby: Robotic Automation emerges as a threat to traditional Low-Cost Outsourcing. In: HfS-Research.com. 24. Oktober 2012, abgerufen am 29. November 2016 (englisch).
- ↑ Michael Wilczynska: Say “Hi” to EMMA – The Learning (ML) Robotic Process Automated (RPA) Test Engineer. Abgerufen am 18. Mai 2020.
- ↑ Eric Lambeth: How robotics can improve legacy sourcing agreements: Go beneath the surface of your contract. In: kpmg-institutes.com. Abgerufen am 29. November 2016 (englisch).
- ↑ Testautomatisierung - Herausforderungen im Überblick. Abgerufen am 20. Mai 2020.
- ↑ Robotic Process Automation - RPA Erklärung, RPA Ethik, RPA Management und RPA Zweck. Abgerufen am 17. Mai 2020.
- ↑ Carl Benedikt Frey, Michael A. Osborne: The future of employment: how susceptible are jobs to Computerisation? Oxford University Engineering Sciences Department, 13. September 2013, abgerufen am 29. November 2016 (englisch).
- ↑ a b Leslie P. Willcocks, Mary C. Lacity: Nine likely scenarios arising from the growing use of robots. London School of Economics, 2015, abgerufen am 29. November 2016 (englisch).
- ↑ White Collar Robots: The Virtual Workforce. TEDx Talks, abgerufen am 29. November 2016 (englisch).