Gerade zu Beginn einer BPM/SOA-Initiative fällt es schwer, die richtige Schneidung und Granularität der fachlichen Komponenten zu finden. Insbesondere auch deshalb, weil durch den Ansatz und das oft beschworene „Business-IT-Alignment“ plötzlich nicht nur ITler, sondern auch Leute aus dem Fachbereich in diese Entscheidungen mit einbezogen werden. Häufig ist der Grund für Anlaufschwierigkeiten der, dass aus unterschiedlichen Blickwinkeln auf eine fachliche Komponente geschaut wird: der ITler hat typischerweise die technische Umsetzbarkeit und Aspekte wie beispielsweise Performance im Fokus, der Experte aus dem Fachbereich eher den funktionalen Inhalt.
Für eine sinnvolle Schneidung der an BPM/SOA beteiligten Komponenten sollten zunächst die folgenden drei Fragen beantwortet werden:
- Was ist die Verantwortlichkeit der Komponente?
Hier wird die eigentliche Dienstleistung bzw. der Funktionsumfang festgelegt. Für einen bestimmten Aspekt sollte es genau eine Komponente geben, die für diesen verantwortlich ist. Ist dies nicht der Fall, überdenken Sie die Schneidung! Ist die Frage nicht eindeutig zu beantworten oder die Antwort lang und/oder umständlich, liegt dies vermutlich ebenfalls an einer ungünstigen Schneidung – Sie ahnen es, überdenken Sie die Schneidung! - Welche Bedingungen müssen erfüllt sein, damit die Komponente ihren Dienst verrichten kann?
Hierbei handelt es sich um die Vorbedingungen, die im laufenden Prozess geschaffen werden müssen, damit eine Komponente ihren Dienst verrichten kann. Die Erfüllung der Vorbedingungen obliegt dabei nicht der Komponente selbst, sondern dem Aufrufer. Sind von einer Komponente definierte Vorbedingungen bei der Ausführung nicht erfüllt, resultiert daraus ein Fehler. - Welche Bedingungen sind nach dem Ausführen der Komponente erfüllt?
Hierbei handelt es sich um die Nachbedingungen, die im laufenden Prozess durch die Komponente geschaffen werden, in dem sie ihren Dienst verrichtet. Dementsprechend ist die Komponente für die Einhaltung der von ihr zugesicherten Nachbedingungen verantwortlich.
Die erste Frage hat eher statischen Charakter und beschreibt generell den Funktionsumfang einer Komponente. Sie hilft dabei, inhaltlich Verantwortliche (Process bzw. Service Owner) zu finden und den Grad der Wiederverwendung zu erhöhen.
Bei den letzten beiden Fragen handelt es sich um Aspekte, die zur Laufzeit und im konkreten Prozesskontext relevant sind. Vor- und Nachbedingungen sind für das Prozessdesign hilfreich, weil anhand von ihnen sehr früh die Lauffähigkeit von Prozessen sichergestellt werden kann – sogar vor dem technischen Design.
Die Erfahrung zeigt, dass es hilfreich ist, diese Fragen sehr früh zu stellen und zu beantworten, weil so alle Beteiligten eine gemeinsame Vorstellung der Bausteine einer BPM/SOA-Landschaft erarbeiten, die dann zu sinnvollen Prozessen kombiniert und rekombiniert werden können.