Angesichts steigender Anforderungen muss die IT neue Wege finden, um die Komplexität ihrer Anwendungslandschaften zu reduzieren. Die notwendige Standardisierung geht dabei allerdings oft zu Lasten der Variationsbreite in den Prozessen, die in hochdifferenzierten Märkten heute unverzichtbar ist. Mit einem schichten-orientierten Business-Process-Management-(BPM-)Modell lassen sich Standardisierung und Flexibilität unter einen Hut bringen.
Leicht hat es die Anwendungsentwicklung in diesem Umfeld allerdings nicht. Sie muss immer anspruchsvolleren Anforderungen genügen, dabei die neuesten Techniken und Trends berücksichtigen und ist zudem mit einem ständigen Kostendruck konfrontiert. Sie soll also mehr und bessere Anwendungen schneller bereitstellen und bekommt dafür dauerhaft weniger Mittel.
Die IT-Verantwortlichen haben immer wieder versucht, diesen multidimensionalen Spagat mit guten Ideen zu meistern und mit neuen Ansätzen die wachsende Kluft zwischen Anforderungen und Ressourcen auszugleichen. In jüngerer Zeit gehörten zu diesen Ansätzen in erster Linie:
-
Agile Entwicklung: Mit dieser Entwicklungsmethode sollten vor allem die Projektlaufzeiten durch den Verzicht auf ausgedehnte Spezifikations- und Definitionsphasen verkürzt werden. Durch intensive Abstimmung zwischen allen Beteiligten wollte man gleichzeitig eine höhere Qualität bei der Umsetzung erreichen.
-
Kollaborative Entwicklung: Die späteren Anwender eines Systems sollten kontinuierlich in die Entwicklung eingebunden werden. Moderne Werkzeuge erlauben hier eine enge Zusammenarbeit von Business und IT, wodurch spätere Überraschungen im fertigen System vermieden werden sollen.
-
Moderne Architekturen: Bestehende Systeme sollten in neue Architekturen wie Service-oriented Architectures (SOAs) transformiert werden, um die Techniken zu vereinheitlichen, die Integrationsfähigkeit zu erhöhen und die Systemlandschaft einfacher anpassbar zu machen.
Diese Ansätze waren zwar grundsätzlich erfolgreich und haben sich daher im letzten Jahrzehnt eine feste Position in der Anwendungsentwicklung gesichert. Vielfach haben sie den Entwicklern Leben und Arbeit erleichtert. Mittlerweile sind jedoch die Ansprüche weitergewachsen, und es hat sich gezeigt, dass die zuvor genannten Ansätze nicht auf jeden Fall passen.
Mehr Varianten in den Prozessen
Um eine größere Variantenbreite in den Prozessen abzudecken, gibt es seitens der Softwareentwicklung grundsätzlich zwei unterschiedliche Ansätze:
-
Duplizieren der Prozesse: Für jede neue Variante wird ein Duplikat des vorher standardisierten Prozesses angelegt und um die für die Variante relevanten Aspekte erweitert beziehungsweise verändert. Das Verfahren vereinfacht zwar die Entwicklung neuer Varianten, in der Konsequenz geht es jedoch auf Kosten der Standardisierung, da man viele Kopien des ursprünglichen Prozesses erhält. Nachträgliche Änderungen am Ausgangsprozess müssen in sämtlichen Varianten nachgearbeitet werden.
-
Wenn-dann-Regeln: Hier werden die standardisierten Prozesse um Regeln erweitert, nach denen sich an geeigneter Stelle auf Varianten prüfen und zu der entsprechenden Logik zur Variantenbehandlung verzweigen lässt. Die Standardisierung bleibt so zwar erhalten, auf Dauer ergeben sich jedoch unübersichtliche und schlecht wartbare Prozesse.
Fachseite fordert Prozessvielfalt
Beide Ansätze des Umgangs mit Varianten in einem standardisierten Modell können nicht befriedigen, denn beide weisen erhebliche Nachteile auf. So führen die unübersichtlichen, in unterschiedlicher Ausprägung nebeneinanderlaufenden Prozesse zu deutlich erhöhten Wartungskosten. Zudem steigt das Risiko fehlerhafter Prozessabwicklungen, da bei jeder Ausführung explizit die Korrektheit der jeweiligen Varianten geprüft werden muss. Schließlich ist die Wiederverwendbarkeit gering, was wiederum Aufwand und Kosten beim Ausbau des Systems beziehungsweise seiner weiteren Differenzierung erhöht.
Jenseits der Anwendungsentwicklung haben Unternehmen darüber hinaus versucht, durch die Vereinheitlichung und Standardisierung von Prozessen die Komplexität ihrer Anwendungslandschaften zu reduzieren und so deren Kosten zu dämpfen. Doch so sehr aus Sicht der IT-Systeme eine Vereinheitlichung geboten erscheint, von der fachlichen Seite ist tendenziell eher gefordert, eine größere Variantenvielfalt zu berücksichtigen. Die größte Herausforderung bei Standardisierungsinitiativen stellt daher der Umgang mit einer Fülle von Varianten dar. Diese ergeben sich in Unternehmen beispielsweise durch:
-
wachsende Segmentierung von Kundengruppen,
-
stärkere Differenzierung von Produktvarianten,
-
Multikanalstrategien,
-
Berücksichtigung eines differenzierten Kundenwerts oder
-
Berücksichtigung regionaler Ausprägungen.
Initiativen zur Standardisierung scheitern oft auch am Widerstand der späteren Nutzer, wenn diese ihre speziellen Anforderungen beziehungsweise die für ihre jeweilige Aufgabe als relevant erachteten Varianten im neuen System nicht genügend berücksichtigt finden. Schlimmer noch ist, wenn aufgrund des Drucks durch die Anwender die zuvor mühsam standardisierten Prozesse nach und nach wieder um Varianten erweitert werden. In einem solchen Umfeld entstehen zwangsläufig nicht mehr wartbare Prozessmodelle.
Gerade ERP-Systeme beruhen konzeptionell auf einer hochgradigen Standardisierung. Allerdings müssen die Hersteller auch auf die individuellen Anforderungen ihrer Kunden achten, wenn sie ihre Lösungen gegen Individualsoftware positionieren wollen. Daher bieten die Softwarehäuser in der Regel äußerst umfangreiche Konfigurationsmöglichkeiten für ihre Produkte an. Dennoch bleibt die Möglichkeit zur Abdeckung von Varianten meist begrenzt, typischerweise können Varianten nur auf Datenebene verwaltet werden, beispielsweise Produktvarianten oder Kundensegmente. Meist fehlt die dynamische Umsetzung in den wertschöpfenden Prozessen, zum Beispiel die Bereitstellung eines höheren Service-Levels für Platin-Kunden.