BLOG / SOFTWAREENTWICKLUNG - BPMN


FLEXIBLERE SOFTWARE MIT BPMN


KONTAKT ›

I n der Softwareentwicklung für Firmenkunden sind häufig Anpassungen an die Arbeitsabläufe beim Kunden notwendig. Im Fall von Software im Bereich der Termin- und Tourenplanung, wie sie FLS anbietet, kann das zum Beispiel bedeuten, dass die Software den kundenspezifischen Prozess zur Terminvereinbarung abbilden soll. Dazu gehören zum Beispiel folgende Fragen: Wann und wie soll der Kunde nach Eingang des Auftrags kontaktiert werden? Wie wird weiter verfahren, falls der Kunde nicht erreicht wurde? Wie werden die Auftragsdaten validiert?

Die direkte Methode der Kundenanpassung besteht darin, den Quellcode, also die eigentliche Software, zu ändern. Dies hat sowohl für den Kunden als auch für die Entwicklung Nachteile. In der Entwicklung müssen spezielle kundenspezifische Teile im Code geschrieben werden. Diese erzeugen einen höheren Aufwand für das Testen und Warten der Software.

Für den Kunden bedeutet eine Änderung des Quellcodes, dass die Anpassung frühestens beim nächsten Release zu Verfügung steht. Zusätzlich können die Änderung nicht einfach wieder rückgängig gemacht werden. Stattdessen muss dazu die Software wieder geändert werden und der Kunde muss wieder auf das nächste Release warten. Neben dem zeitlichen Aufwand ist damit meistens auch finanzieller Aufwand verbunden.

Weil Kundenanpassungen direkt in der Software zu den oben genannten Problemen führen, wird häufig die Software über Parameter konfigurierbar gemacht. Dies hat den wesentlichen Vorteil, dass die Software als solches gleichbleibt und Anpassungen schnell umgesetzt werden können. Allerdings ist die Flexibilität begrenzt, die durch Auswahl- und skalare Parameter erreicht werden kann.


BUSINESS PROCESS MODELING BEI FLS

Das Defizit kann mit Hilfe von maschinenlesbaren Formaten für Prozesse behoben werden. Diese können von Servern eingelesen und umgesetzt werden. Zur Modellierung von Geschäftsprozessen verwenden wir bei FLS Business Process Model and Notation (BPMN). Dies ist eine verbreitete grafische Spezifikationssprache zur Modellierung von Geschäftsprozessen, für die diverse Editoren verfügbar sind.

Da die BPMN Diagramme XML-basiert gespeichert werden, sind diese maschinenlesbar. Dies ermöglicht das automatische Auslesen und die Steuerung des durch das BPMN beschriebenen Prozesses durch Software. Die aktuelle Spezifikation BPMN 2.0 wird durch die Object Managment Group veröffentlicht.

Bei der Umsetzung der BPMN im Rahmen der FLS VISITOUR Software konzentrieren wir uns vor allem auf Aufgaben, die ein Disponent bearbeitet (z.B. einen Kunden kontaktieren), Aufgaben, die der Server bearbeitet (z.B. Nachrichten an den Kunden schicken), und die Definition des Prozessflusses durch Sequenzflüsse, Gateways und Timer.

BPMN AM BEISPIEL DER ADRESSKONTROLLE

Als Beispiel betrachten wir die Kontrolle der Adressdaten eines Auftrags. Der Kunde möchte sichergehen, dass die Adressdaten der Aufträge korrekt sind. Dazu soll die Adresse nach dem Anlegen eines Auftrags vom Server überprüft und, falls sie fehlerhaft ist, durch einen Mitarbeiter korrigiert werden. Dies kann durch folgenden Prozess abgebildet werden:

BPMN Prozess Adressprüfung

Wir nehmen an, der Kunde stellt nach einiger Zeit fest, dass die Mitarbeiter häufiger Fehler bei der Korrektur der Adressdaten machen und möchte deshalb den Prozess abwandeln. In Zukunft sollen die Adressen nach der Korrektur noch einmal vom Server geprüft werden. Dies kann durch eine kleine Änderung des Prozesses erreicht werden.


BPMN Prozess

VORTEILE VON BPMN

An diesem Beispiel ist der große Vorteil bei der Verwendung von BPMN zu erkennen. Die Umsetzung als Kundenanpassung der Software würde bedeuten, dass der neue Prozess beschrieben, dieser in eine Anforderung an die Entwicklung übersetzt, die Anforderungen von der Entwicklung umgesetzt, die neue Software getestet und das neue Release eingespielt werden muss. An diese Stelle treten nun lediglich die Prozessdefinition im BPMN-Format und das Einspielen ins System. Die Software sorgt dann automatisch im Hintergrund dafür, dass die neu gestarteten Prozesse entsprechend bearbeitet werden. Für den Kunden bedeutet dies, dass Änderungen schneller und kostengünstiger vorgenommen werden können.

Auch für die Entwicklung bietet dieses Vorgehen einen großen Vorteil. Durch die geringere Anzahl an Kundenanpassungen bleibt die Software leichter zu testen und zu warten. Auch lässt sich das konsistente Verhalten des ganzen Software-Pakets leichter sicherstellen. All dies trägt zu einer höheren Software-Qualität bei, von der die Kunden profitieren.

HERAUSFORDERUNGEN BEIM EINSATZ VON BPMN

Natürlich hat auch die Verwendung von Prozessen im BPMN-Format ihre Herausforderungen. Die erste betrifft die Entwicklung. Damit sich die Prozesse schnell umsetzen lassen, müssen die entsprechenden Skripte zur Durchführung der Server-Aufgaben implementiert sein. Dabei muss ein vernünftiges Maß zwischen Wiederverwendbarkeit und Bedienungsfreundlichkeit gefunden werden. Sehr spezielle Skripte können meist nicht wiederverwendet werden und führen damit wieder zu viel kundenspezifischem Code mit den entsprechenden Nachteilen. Sehr allgemeine aber schwer zu nutzende Skripte werden meist nicht genutzt und sind somit auch nicht sinnvoll.

Die zweite Herausforderung ist, die Prozesse des Kunden, die durch die Software behandelt werden sollen, im BPMN-Format zu modellieren. Dabei kann die große Flexibilität des Ansatzes zum Problem werden. So sind häufig verschieden Lösungen grundsätzlich möglich, aber meistens nicht alle gleich zielführend. Insbesondere im Rahmen der gegebenen Software.

EFFIZIENZSTEIGERUNG DURCH ENGEN AUSTAUSCH ZWISCHEN ENTWICKLUNG UND PROJEKTLEITUNG

Diesem Thema widmen wir bei FLS uns im Rahmen der Projektleitung. Im Rahmen der Projektleitung werden die Ziele des Kunden erfasst und durch Prozesse in BPMN modelliert. Bei Gestaltung der Prozesse ist die Kommunikation zwischen Projektleitung und Entwicklung von grundlegender Bedeutung. Durch die Zusammenarbeit können wir besser entscheiden, ob ein Prozess mit den bestehenden Skripten modelliert werden kann, oder, ob ein neues Skript zur Lösung besser geeignet wäre.

Auch bei der Neuentwicklung neuer Skripte hilft der Austausch zwischen Entwicklung und Projektleitung. Die Rückmeldungen von Kunden und Erfahrungen in Projekten stellen wichtige Informationen dar, um sicher zu gehen, dass Neuentwicklungen den bisherigen Leistungsumfang sinnvoll ergänzen.

BPMN ZUR FLEXIBLEN ANPASSUNG VON KUNDENANFORDERUNGEN

Als Resümee lässt sich festhalten, dass BPMN sich gut eignet, um Kundenanpassungen flexibel umzusetzen. Dies betrifft speziell die Modellierung der Prozesse beim Kunden und die Integration dieser in die Softwarelösung. Somit können die softwareentwickelnde Firma und ihre Kunden von der Verwendung von BPMN profitieren.

Mehr über Business Process Modeling lesen Sie hier.