Gutes muss auch einfach sein. So eine oft wiederholte Forderung. Wenn etwas kompliziert ist, dann ist es wahrscheinlich auch nicht gut. Mit diesem Paradigma wurden bereits viele große (aber auch viele fatale) Ideen geboren. Das erinnert an das Sparsamkeitsprinzip der Wissenschaften: Wenn es zwei Lösungen gibt, dann ist die einfachere vorzuziehen!
Dieses Prinzip ist in Anlehnung an Occams Razor formuliert worden:
Don't multiply unneccessary entities.
Doch was ist unnötig? Wann ist eine einfachere Lösung gleichwertig?
Die IT beschäftigt sich mit Fachproblemen. Die Aufgabe des Analytikers ist, diese Probleme möglichst umfassend zu erfassen, zu abstrahieren und so einfach wie möglich zu formulieren. Daraus kommt auch die Regel:
Fachprobleme sind also stets mit einem Maß an Komplexität ausgestattet, die potentiell so weit zu vereinfachen sind, bis sie die minimale Totalschwierigkeit erreichen. Wenn man weiter vereinfacht, schafft man nur noch Scheinlösungen, die das gegebene Problem nicht mehr angemessen beschreiben. Dies ist ein große Gefahr, denn dieses Maß nicht zu treffen, heißt, Verluste an Lösungskompetenz hinnehmen. Warum aber passiert es dann? Menschen reagieren recht unterschiedlich, wenn sie eine Sache nicht verstehen. Si klammern sich an Lösungskonzepte, so wie das oben beschriebene der Vereinfachung. Also wird nicht mehr vereinfacht, um das Problem zu beschreiben, sondern um ein verstehbares Konzept zu haben. Die Sachgerechtigkeit bleibt dann auf der Strecke. In der Politik bezeichnet man das Verfahren auch als Populismus: Einfach muss es sein, damit es auch alle verstehen.
Die Gegenbewegung ist aber mindestens ebenso verbreitet, wahrscheinlich in viel größerem Maß: Man bläst die Anforderungen um nicht-essentielle Punkte auf, schafft komplexere Modelle bis schließlich die Lösung ebenso unzureichend wird, zumindest aber viel Optimierungspotential erhält. Auch hier ein zu vermeidender Zustand. Warum tritt dieser ein?
Wenn wir also sehen, dass man auf beiden Seiten vom Pferd fallen kann, so kommt man unweigerlich zu der Frage:
Darauf gibt es keine Universalregel und kein totsicheres Verfahren. Ein Irrtum ist nicht auszuschließen. Dennoch gibt es einige Kontrollfragen, die man sich selber und Anderen stellen kann. Mit Hilfe dieser lassen sich vielleicht einige Fehler vermeiden:
In Reinform kann man diese Probleme bei der Verfahrensauswahl für die Abbildung von Geschäftsregeln und deren Formulierung finden.
Traditionell werden die Abbildungen von feste Geschäftsregeln in spezialisieten Programmen gemacht, z.B. Vertriebsanwendungen, Produktkalkulation, Buchführung. Eine klassische Programmiersprache ist eben darauf angelegt, Datenobjekte strukturiert zu kennen und diese mit einer Logik zu versehen.
Die Gegenbewegung setzte früh mit den Tabellenkalkulationsprogrammen ein. Um den Nachteilen zu begegnen, bauten sich Fachexperten einfach ihre Excel-Modelle selber.
Da beide Ansätze in vielen Fällen nicht wirklich überzeugen können, da die Nachteile jeweils unakzeptabel sind, suchte man nach Alternativen:
Business Rules Engines (BRE) sind Ansätze, um den Anwendungskern, die Datenhaltung und Dialogführung, von den flexiblen Geschäftsregeln zu trennen. Man lagert in gewisser Weise die Komplexität aus. Die Vorteile liegen auf der Hand: Jeweils Spezialisten kümmern sich um das, was sie am Besten können, in jeweils der für die Problemstellung optimierten Zyklizität.
Auch dieser Aufwand schreckte viele potentielle Anwender ab. Allein die Wahl einer BRE erscheint mit umfangreicher Arbeit verbunden. Um vielleicht die beiden bekanntesten BRE zu nennen, die sich aus einer Vielzahl von Unterschiedlichen Anbietern herausragen:
Da der Aufwand einer BRE-Einbindung oft abschreckend ist, wurde konsequent an einer Flexibilisierung der spezialisierten Programme gearbeitet. So reichen die Lösungsansätze von einer weitgehenden Offenlegung und Anpassbarkeit der Entscheidungsparameter bis hin zu eingebauten Regelprozessoren, die Regelsprachen implementieren, die von Excel inspiriert sind.
Die Palette der Lösungen bewegt sich aber auch hier zwischen den Polen der Flexibilität und Dynamik einerseits und der Stabilität und Einfachheit andererseits. Je nach Problemstellung wird man sich für ehr die eine oder andere Variante entscheiden, wobei es nun
gibt - Hier am diskutierten Beispiel:
Optimierung von komplexen Problemstellungen ist eine Totalschwierigkeit, die man gerne auf objektivierbare und reflektierte Verfahren beziehen möchte. In der Regel ist der Einsatz von Experten unumgänglich, oder es kommt zu Bauchentscheidungen.