Prozessorientierte Anwendungsentwicklung

Datenmodell und Prozesslogik harmonisieren

Die Digitalisierung von Geschäftsprozessen kann auch fehl gehen. Denn wenn Entwickler Prozesslogiken in ihren Applikationen abbilden, reicht das Entlanghangeln am Datenmodell nicht aus. Sie müssen den Zweck des Geschäftsprozesses ins Zentrum rücken.

 (Bild: ©Deemerwha studio/stock.adobe.com)
(Bild: ©Deemerwha studio/stock.adobe.com)

Eine IT-Anwendung lässt sich in mindestens drei verschiedene Ebenen unterteilen: GUI, Logik-Ebene und Data Access Tier. Viele Entwickler fangen bei einer neuen Applikation mit dem Aufbau des Datenmodells an. Für kleine Productivity Tools, die nur innerhalb eines Teams genutzt werden, mag das funktionieren – für komplexere Geschäftsprozesse, die teamübergreifend oder unternehmensweit ablaufen, eher nicht. Hier geht es darum, umfangreiche Probleme zu lösen. Und dafür sollten Applikation und Digitalisierung ein Umfeld schaffen, das effizientes Arbeiten unterstützt. Orientierung bieten Best Practices, die – soweit möglich – flächendeckend umzusetzen sind.

Prozessorientiert entwickeln

Vor diesem Hintergrund empfiehlt sich eine prozessorientierte Entwicklung auf Grundlage folgender Fragen: Wer kann Requests erstellen? Was passiert damit, und wer überprüft sie? Welche Informationen werden benötigt? Welche Schritte folgen auf eine Genehmigung beziehungsweise auf eine Ablehnung? Und wie entsteht ein Prüfpfad? Anhand solcher Fragen lässt sich eine Workflow-Logik konzipieren. Sie gibt darüber Aufschluss, welche Art von Daten gesammelt und gepflegt werden müssen. Wenn der Entwickler den Workflow verstanden hat, ergibt sich das Datenmodell ganz natürlich daraus. Dieses Vorgehen hilft dabei, die Zuweisung und Abfolge von Aufgaben korrekt und effizient zu digitalisieren.

Abhängigkeiten in der Prozesslogik vermeiden

Ein häufiger Fehler bei der Entwicklung einer Prozesslogik besteht darin, Reaktionen zu verketten. Dann kann die Applikation im ungünstigen Fall nicht mit unerwarteten Ereignissen umgehen. Fast alles kann eine Zeitüberschreitung verursachen. Unerfüllte Annahmen oder die versehentlich rekursive Auslösung eines Events führen beispielsweise zu Fehlermeldungen. Auch ein Arbeitsablauf, der auf eine Änderung von Daten reagiert, kann eine endlose Rekursion zur Folge haben. Ebenso besteht das Risiko, dass die Abhängigkeit von einem Web-Dienst, der offline ist, ein unvorhersehbares Verhalten verursacht. Möglicherweise müssen die Daten zuerst bereinigt oder zurückgesetzt werden, bevor sich eine Komponente wieder ausführen lässt.

Schutzschirm für die Logik

Eine proaktive Prozesslogik kann solche Probleme vermeiden helfen. Bevor sie fortfährt, überprüft sie die Gültigkeit einer Annahme. Außerdem setzt sie alles auf einen bekannten Zustand zurück und ermöglicht die Überwachung sowie Erstellung von Metriken. Zusätzlich schirmt sich die Prozesslogik gegen unerwartete externe Ereignisse ab. Dies lässt sich meist am einfachsten durch die Verwendung einer FSM (Finite State Machine) erreichen. Alternativ ist auch eine Lösung aus mehreren Workflows möglich. Hierbei sollte einer der Arbeitsabläufe als sogenannter Dirigent die Sub-Workflows ausführen. Er kann auch Annahmen prüfen, Eingaben validieren und sogar andere Sub-Workflows aufrufen, wenn die Annahmen nicht erfüllt sind. Allerdings müssen hier sämtliche Abläufe korrekt arbeiten, Statuskennzeichen setzen und Informationen protokollieren.

Change Requests

Das Einbinden bestehender Anwendungen wie ERP-, MES-, CRM- oder PPS-Software in Geschäftsprozesse ist stets eine individuelle Angelegenheit, die oft Nachbessern erfordert. Im Alltag gibt es immer wieder Änderungsanfragen. Das gilt auch für neue Anwendungen. Jede Applikation sollte sich daher problemlos validieren und bearbeiten lassen. Das ist nicht nur in der Entwicklungsphase wichtig. Gerade im Produktivbetrieb empfiehlt sich eine übersichtliche und nachvollziehbare UI. Dadurch sollte jedes Element der Anwendung verständlich sein, um die Anpassung zu erleichtern. Auch die Anbindung bestehender Business-Anwendungen an Geschäftsprozesse erfordert oft das Nachbessern an unterschiedlichen Stellen. Dazu kommt, dass Änderungen an diesen externen Systemen die benutzerdefinierten Prozesse häufig stören. Bereits Richtlinien- und Verfahrensänderungen wie das Hinzufügen von Entitäten, Attributen und Validierungsregeln erfordern Anpassungen. Wenn beispielsweise zehn Prozesse zehn direkte Verbindungen zur API eines Dienstes herstellen, müssen alle zehn Abläufe angepasst werden, sobald Änderungen sie unterbrechen. Anwender merken das im Geschäftsbetrieb sehr schnell. Solche Probleme lassen sich vermeiden, wenn der Zugriff auf die Daten und API auf eine wiederverwendbare Komponente abstrahiert wird. Dadurch muss die Änderung nur an einer einzelnen Stelle vorgenommen werden – in der Regel auch nur von der Person, die sie verursacht. Mithilfe eines solchen Vorgehens lässt sich die Anpassung deutlich leichter durchführen.

Evaluierung der Mehrwerte

Ein großer Vorteil der Digitalisierung von Prozessen besteht darin, dass sich Protokolle von Aktivitäten unkompliziert erstellen lassen. Im Idealfall sind dies mehr als nur flüchtige Telemetrien, die in den Systemprotokollen eines Servers oder Dienstes aufbewahrt werden. Viele Plattformen bieten Aufzeichnungen oder Protokolle von Aktivitäten an, um Optimierungen zu unterstützen. Diese Elemente dienen als dauerhafte Audit-Dokumente, die zusammen mit den Prozessressourcen aufbewahrt werden. Durch eine Analyse der Daten lassen sich die KPI definieren und damit auch, an welcher Stelle einer Applikation noch Optimierungsbedarf besteht und welchen Mehrwert der Prozess für das Unternehmen darstellt. Um das zu erreichen, gilt es aber auch, die Wirksamkeit des Prozesses zu überprüfen und wichtige Parameter in Relation zu setzen. Idealerweise wurden hierfür grundlegende Werte bereits zu Beginn gemessen, beispielsweise: Wie lange dauert der Prozess? Wie gut funktioniert er? Und wie viele Workflows laufen gleichzeitig ab? Diese Metriken lassen sich mit den Werten aus der praktischen Anwendung in der Produktion vergleichen. Interessant sind aber vor allem Fragestellungen, die über die reine Messung hinausgehen: Wie viel kostet es, wenn Aufträge zur Nachprüfung markiert werden? Wie oft müssen Vorschläge mehrfach überarbeitet werden? Und gibt es bestimmte Bereiche, die regelmäßig zu Verzögerungen führen? Durch die Antworten auf solche Fragen ergibt sich ein Gesamtbild, das für ein Unternehmen sehr wertvoll sein kann. Es verschafft ihnen ein umfassendes Monitoring der Performance, um Prozesse langfristig weiter zu verbessern.