Die Qualität und Wartung von Software bilden das Herzstück nachhaltiger Produktivität. In einer Welt, in der die Technologie ständig voranschreitet, stellt sich die Frage: Wie können wir sicherstellen, dass Automatisierungen den stetig wachsenden Anforderungen gerecht werden? Welche Möglichkeiten zur Codeüberprüfung gibt es und an welche Standards sollte man sich halten? Ist Legacy Code Fluch oder Segen?
Diesen Fragen sind die MVPs Fotios Karamitsos und Christian Prior-Mamulyan nachgegangen.
Im ersten Teil unserer Session legen wir den Schwerpunkt auf die Wartung aus der Sicht des Service Owners. Hier werden wir die Herausforderungen und Möglichkeiten erkunden, die sich in der Supportphase ergeben. Wie kann ein Service Owner sicherstellen, dass die Wartung effektiv und effizient ist? Welche Rolle spielen Incidents in diesem Prozess?
Im zweiten Teil wechseln wir die Perspektive und betrachten die Möglichkeiten eines Entwickelnden, um Codequalität sicherzustellen. Hierbei werden wir Best Practices und Möglichkeiten in UiPath diskutieren, um die Qualität und Nachhaltigkeit des RPA-Codes zu erhöhen.
Durch den Vergleich dieser unterschiedlichen Sichtweisen und die Vertiefung in verschiedene Tools erhältst du ein umfassendes Verständnis dafür, wie du die Qualität und Wartung deiner Software verbessern kannst. Ob du ein erfahrener Entwickler, ein Service Owner oder ein Anfänger in der Welt der Softwareautomatisierung bist, diese Session wird dir praktische Tipps und Tricks vermitteln, die du direkt anwenden kannst.
2. www.omm-solutions.de
● Intro
● RPA in der Supportphase / Wartungsphase
● Wie kann ich die Qualität meines Codes sicherstellen und überprüfen?
● Diskussion
Was erwartet uns heute?
2
< OMM Solutions GmbH >
3. www.omm-solutions.de
Zusammen sind wir stark
3
Ziel des UiPath RPA Chapters Stuttgart
💪 Offenes Format
○ Kommunikation auch über LinkedIn-Gruppe
💪 Regelmäßiges Event
○ 6 Mal im Jahr
○ Einladungen via E-Mail
und auf https://community.uipath.com/stuttgart/
○ Von Erfahrung anderer RPA-Praktiker lernen
💪 Ablauf
○ Inspirierender Themen-Vortrag
○ Praxisinput
○ Diskussion
6. www.omm-solutions.de
● Dezentrales RPA CoE mit Process
Owner, Service Owner, Developer
● 5-20 Prozesse, Prod- & Test-Tenant
● LowCode zunehmend unter dem Einfluß
von “IT-Bürokratie”
● Es gibt ein Ticketsystem ;)
● Jährliche Reviews von Support-Budget,
Monatliche/quartalsweise Service
Meetings
Scenario
Bürokratie in der IT kann mitunter Innovation
und Umsetzung ausbremsen, aber trotzdem
behalten LowCode-Plattformen noch eine
gewisse Flexibilität und Spielraum in Bezug auf
Anpassung und Integrationsfähigkeiten
8. www.omm-solutions.de
Code Inventar / Bewertung
Basics:
● Liste der Tenants
● Liste der Prozesse
○ Metadata
○ Deployment and Developer-Access
○ Konfigurierbarkeit und Testbarkeit
○ Sicherheitskonzept
● Liste der Trigger
● Liste der Robot Accounts
● Liste der Machines
● Liste der Folders
● …
Die Existenz von End-to-End-Testfällen (oder
ein Prozess zur Beschaffung neuer Testfälle) ist
entscheidend für das Change Management.
9. www.omm-solutions.de
Code assessment / inventory
Advanced:
Als Service Owner lassen sich aus den
Inventar-Resultaten Handlungsempfehlungen
ableiten:
● Workflow Analyzer Resultate als baseline
für Verbesserungen
● Delta zu best practices oder
Styleguide-Vorgaben
Beispiele für Inventar-Metriken
allEntrypointsAreReframework, hasCanary,
isRepoCICDenabled, hasQueue(s),
hasObjectRepository, hasPDD, hasSDD,
hasOperationalHandboook,
createsTempFoldersIfNotExist,
doesWorkOnAnyRobot,
hasSupportedDependencies
12. www.omm-solutions.de
Infrastructure and Tools
In der sich entwickelnden Landschaft von RPA
ist es nicht nur ein Vorteil, einen robusten
Werkzeugkoffer zu haben; es ist eine
Notwendigkeit. Die Werkzeuge, die dem
Service Owner zur Verfügung stehen, bilden
das Rückgrat für eine effiziente
RPA-Entwicklung, -Bereitstellung und
-Wartung:
● Supported UiPath product versions
● Git
● Log Analyzer (e.g. Elastic or Splunk)
● CI/CD (e.g. Jenkins)
● Code Analyzer (e.g. SonarQube)
Ein Ticket-System muss
a) vorhanden sein und
b) im Alltag gelebt werden.
13. www.omm-solutions.de
Vorteile ausgewählter Zusatz-Tools
Im RPA Umfeld sind Werkzeuge wie Elastic CE,
Splunk, Git und SonarQube entscheidend für
die Verbesserung von zentralisiertem Logging,
Analytik, Integration und Qualitätssicherung..
● Elastic CE: Zentralisiertes Loggin,
Erweiterte Loganalyse & Visualisierung,
Suche
● Splunk: Ähnlich Elastic, Vorteil “alerting”
● Git: Integration mit CI/CD, Upskilling der
Entwickler
● SonarQube: OTS nur xml-Analyse
Um versionierte RPA-Projekte außerhalb des
Rahmens von UiPath Studio effektiv zu
verwalten und daran zusammenzuarbeiten, ist
es wesentlich, einen dedizierten Git-Client zu
haben.
14. www.omm-solutions.de
Stay Updated with Updates
"Stay Updated with Updates" dient nicht nur als
Leitprinzip; es fasst den proaktiven Ansatz
zusammen, der notwendig ist, um die volle
Leistungsfähigkeit der Automatisierung
auszuschöpfen.
● Nicht nur automatisierte Systeme,
● sondern auch Komponenten der
UiPath-Plattform.
○ Einschließlich der activities!
In der IT diktiert die Produkt-Roadmap eines
Anbieters oft notwendige
Infrastrukturänderungen, insbesondere wenn
ältere Produktversionen nicht mehr unterstützt
werden. Dies erfordert Anpassungen, um neue
Funktionen, Kompatibilitätsanforderungen oder
sich entwickelnde Technologiestandards zu
berücksichtigen.
15. www.omm-solutions.de
Dependency Management in UiPath
Read the fine manuals
For each released version the Support Model,
the initial Release Date, the end of the
Mainstream Support and the end of the
Extended Support is published.
17. www.omm-solutions.de
RPA Metriken – bisher
Typische RPA (Robotic Process Automation)
Metriken helfen dabei, den Erfolg und die
Effizienz automatisierter Prozesse zu messen
und zu optimieren. Hier sind einige gängige
RPA-Metriken:
● Automatisierungsrate
● Erfolgsrate der Prozesse
● Durchschnittliche Bearbeitungszeit
● Kosteneinsparung
● Return on Investment (ROI)
18. www.omm-solutions.de
RPA Metriken v2.0
Mit der Weiterentwicklung von
RPA-Plattformen und einem tieferen
Verständnis für nachhaltige Automatisierung
sind neue Generationen von Metriken
aufgetaucht, die tiefer in die Feinheiten der
RPA-Entwicklung und -Wartung eintauchen.
● Vendor Support Abdeckung
● Workflow Analyzer Code Quality
● Abdeckung von best practices und
Styleguide-Vorgaben
21. www.omm-solutions.de
Challenge: Deployment Gates
Kontrollpunkte oder Kriterien, die eine
Softwarefreigabe oder ein Update erfüllen
muss, bevor es zur nächsten Phase seines
Bereitstellungslebenszyklus übergeht:
● Qualität
● Sicherheit
● Performance und
● Compiance Standards
Als RPA Service Owner mit dem Ziel, die
Code-Qualität zu verbessern, ist eine
Vereinbarung über Deployment Gates
zwingend erforderlich.
22. www.omm-solutions.de
LowCode Deployments
Eine Freigabe für das Deployment von RPA
Prozessen kommt nicht ohne
Herausforderungen:
● Rapid Development vs. Thorough Testing
● Abhängigkeiten von Externen Systemen
● Vorhandenes Skillset
● Dokumentation
● u.v.a.m…
Eine mögliche Unterscheidung könnte
zwischen Code-Änderungen liegen, die die
implementierte Geschäftslogik ändern oder
nicht ändern.
25. www.omm-solutions.de 25
Wo ist Codequalität von zentraler Bedeutung?
Deployment & Maintenance
● Den Prozess effizient und
fehlerfrei produktiv einsetzen
Testing
● Den Prozess richtig
testen und abnehmen
Development
● Den Prozess richtig
umsetzen
Analyse
● Den richtigen
Prozess auswählen
RPA Lebenszyklus
26. www.omm-solutions.de 26
Wie stelle ich Qualität von Beginn an sicher?
Code-
optimierung
Robustheit &
Zuverlässigkeit
Struktur & Design
Sicherheit &
Datenschutz
● Designqualität
● Lesbarkeit &
Dokumentation
● Wiederverwendbarkeit
● Performance
● Reviews
● Datensicherheit
● Zugriffskontrolle
● Frameworks
● Fehlerhandling & Logging
● Testbarkeit
● Wartbarkeit
28. www.omm-solutions.de
Checkliste Struktur & Design
• Designqualität
☐ Architektur: Wie interagieren die Komponenten miteinander?
☐ Konsistenz: Ist der Code-Stil konsistent und standardisiert?
☐ Skalierbarkeit: Kann der Code ohne große Anpassungen erweitert werden?
• Lesbarkeit & Dokumentation
☐ Kann der Code ohne viel Aufwand nachvollzogen werden?
☐ Sind (komplexe) Codeblöcke ausreichend kommentiert?
☐ Ist der Prozess ausreichend dokumentiert, z.B. im Process Design Document
(PDD)?
• Wiederverwendbarkeit
☐ Modularität: erfüllt jeder Teilprozess genau eine Aufgabe?
☐ Variabilisierung: Sind Werte im Code hard hinterlegt oder in der Config.xlsx?
28
Wie stelle ich eine gute Struktur & Design sicher?
29. www.omm-solutions.de 29
Wie hilft mir das UiPath Studio Konsistenz sicherzustellen?
• Analyze Project: Überprüft ein Projekt auf mögliche
Fehler, Inkonsistenzen und Konflikte, bevor es
ausgeführt wird.
• Validate File: Prüft die Syntax und Struktur einer
einzelnen Datei in einem Projekt, um sicherzustellen,
dass sie den Anforderungen entspricht.
• Validate Project: Überprüft ein gesamtes Projekt auf
syntaktische Genauigkeit, Referenzen,
Abhängigkeiten und andere Fehler, um
sicherzustellen, dass es korrekt und ausführbar ist.
31. www.omm-solutions.de
Checkliste Robustheit & Zuverlässigkeit
• Frameworks
☐ Wird ein passendes Framework eingesetzt?
• Fehlerhandling & Logging
☐ Was passiert bei einem Fehler (Business / Applikation)?
☐ Sind ausreichend Logs zur Nachvollziehbarkeit hinterlegt?
☐ Ist der Prozess so gestaltet, dass er geführt abbricht?
• Testbarkeit
☐ Unit Tests: kann ich jede Komponente separat testen?
☐ Testabdeckung: Wie hoch ist meine Testabdeckung?
• Wartbarkeit
☐ Modularität / Aktualisierbarkeit
☐ Lesbarkeit
☐ Dokumentation
31
Wie stelle ich zuverlässigen Code sicher?
32. www.omm-solutions.de
Unit Testing in Studio
32
❏ REF generiert in neuer Version
automatisch Testcases
❏ Kann mit dem Test Manager im
Orchestrator verbunden werden
❏ Nutzung von Variablen &
Argumenten stellt die Testbarkeit
einzelner xamls sicher
34. www.omm-solutions.de
Checkliste Sicherheit & Datenschutz
• Datensicherheit
☐ Keine hard hinterlegten Passwörter im Code?
☐ Sind die verwendeten Daten sicher hinterlegt?
(Orchestrator)
• Zugriffskontrolle
☐ Wer hat Zugriff auf den Code?
• Liegt der Code in der Versionskontrolle?
☐ Werden für den Prozess Accounts nur mit nötigen
minimalen Systemrechten genutzt?
34
Nutze Assets und Ordnerstrukturen!
36. www.omm-solutions.de
Checkliste Codeoptimierung
• Performance
☐ Profiling: Wie lange dauert die Durchführung des Codes und welche
Teile kann ich optimieren?
• Reviews
☐ Peer-Reviews: Hat ein Kollege/ Kollegin den Code überprüft?
☐ automatisierte Codeüberprüfung:
• Studio: Analyse File / Project & validate File / Project
• Skripte & externe Tools
• Teil einer Continuous Integration/Continuous Deployment Pipeline
36
Wie stelle ich zuverlässigen Code sicher?
39. www.omm-solutions.de 39
Learnings
✅ Die Qualitätssicherung endet nicht mit der Implementierung endet, sondern in der
Support- und Wartungsphase entscheidend ist
✅ Wir haben Techniken zur Qualitätsüberprüfung in der Automatisierung
kennengelernt
✅ Wir haben gelernt, wie man die Code-Qualität sicherstellt & überprüft
42. www.omm-solutions.de < OMM Solutions GmbH >
The copyright for this slide is held by OMM Solutions GmbH
OMM Solutions GmbH
Vor dem Lauch 19
70567 Stuttgart
Germany
Fragen oder Interesse?
42
Ihr persönlicher Ansprechpartner
Fotios Karamitsos
fotios.karamitsos@omm-solutions.de
+49 (0)711 995 985-84
Hyperautomation Advisor
Kompetenz-Schwerpunkte:
- Robotic Process Automation
- Document Understanding
- Hyperautomation
- Artificial Intelligence
- Communicational AI
43. www.omm-solutions.de 43
< OMM Solutions GmbH >
OMM Solutions GmbH
Vor dem Lauch 19
70567 Stuttgart
Geschäftsführer
Dr. Martin Allmendinger
Malte Horstmann
Olaf Horstmann
Kontakt
Telefon: +49 711 995 985-80
E-Mail: info@omm-solutions.de
Umsatzsteuer-ID: DE295716572
Sitz der Gesellschaft: Stuttgart
Amtsgericht Stuttgart, HRB 749562
Impressum