Kurz erklärt
Customizing bezeichnet das Anpassen einer Standardsoftware an die Abläufe eines Unternehmens, ohne ihren Programmcode zu verändern: über Konfiguration, Parametrierung, Erweiterungspunkte und Zusatzmodule, die ein Update der Basis überleben.
Der Begriff wird im Alltag großzügig verwendet, und genau darin liegt die Ursache vieler teurer Projekte. „Wir haben das System nur ein bisschen angepasst“ kann bedeuten, dass jemand in einer Konfigurationsmaske einen Haken gesetzt hat. Es kann auch bedeuten, dass jemand den Kern der Software umgeschrieben hat und damit jedes zukünftige Update zu einem Projekt macht. Zwischen diesen beiden Fällen liegen Größenordnungen an Folgekosten.
Die drei Stufen: Konfiguration, Erweiterung, Modifikation
Wer über Customizing entscheidet, sollte immer zuerst klären, auf welcher Stufe er sich bewegt. Die Stufen unterscheiden sich nicht im Ergebnis für den Anwender, sondern im Preis, den man Jahre später zahlt.
Stufe 1: Konfiguration im Standard
Alles, was die Software selbst als Einstellung anbietet: Buchungskreise, Nummernkreise, Rollen und Rechte, Steuerkennzeichen, Workflows, Pflichtfelder, Belegvorlagen, Preisfindungsschemata. Das ist der vom Hersteller vorgesehene Weg, und er ist updatefest, weil diese Einstellungen als Daten gespeichert werden und nicht als Code.
SAP hat diese Stufe am sichtbarsten formalisiert: Über den Einführungsleitfaden, den man mit der Transaktion SPRO öffnet, wird ein System in tausenden Einzeleinstellungen an die Organisation angepasst, und der Begriff Customizing bezeichnet in der SAP-Welt genau diese Tätigkeit. Die Einstellungen sind teils mandantenabhängig, teils mandantenübergreifend, und sie wandern über das Transportwesen aus dem Entwicklungs- ins Produktivsystem. Das ist kein Detail für Administratoren, sondern der Grund, warum sich SAP-Einführungen über Monate ziehen, ohne dass eine Zeile Code entsteht.
Stufe 2: Erweiterung über definierte Schnittstellen
Was die Konfiguration nicht hergibt, lässt sich bei gut gebauten Systemen über vorgesehene Erweiterungspunkte ergänzen: Plugins, Apps, Events, Hooks, eigene Felder, ausgetauschte Services. Der Hersteller sagt zu, diese Punkte stabil zu halten, und man bewegt sich innerhalb eines dokumentierten Vertrags.
Shopware 6 ist ein gutes Beispiel für diese Denkweise. Anpassungen laufen über Plugins beziehungsweise das App-System, wobei Dienste dekoriert und Ereignisse abonniert werden, statt Kerndateien zu editieren. Microsoft hat für Dynamics 365 Business Central denselben Schritt gemacht und die frühere direkte Codeanpassung durch ein Erweiterungsmodell ersetzt. Der gemeinsame Gedanke: Die Anpassung liegt neben dem Standard, nicht in ihm.
Stufe 3: Modifikation am Kern
Hier wird ausgelieferter Code verändert. Das funktioniert immer, deshalb ist es so verführerisch, und es erzeugt eine Verbindlichkeit, die kaum jemand beim Beschluss mitkalkuliert: Jedes Update muss die Änderung erneut einarbeiten oder wird verschoben. Nach zwei verschobenen Major-Updates ist ein System faktisch eingefroren, und aus der gekauften Standardsoftware ist ein gewachsener Eigenbau geworden, für den niemand Wartungsverträge hat.
| Stufe | Mittel | Updatefähigkeit | Wer es tut |
|---|---|---|---|
| Konfiguration | Einstellungen, Parameter, Regelwerke im Standard | hoch, vom Hersteller vorgesehen | Fachbereich, Key-User, Berater |
| Erweiterung | Plugin, App, Event, eigenes Feld, dekorierter Service | gut, solange die Schnittstelle stabil bleibt | Entwicklung mit Herstellerdokumentation |
| Modifikation | Änderung an ausgeliefertem Code | schlecht, Nacharbeit bei jedem Update | Entwicklung, oft unter Zeitdruck |
| Prozessanpassung | Der eigene Ablauf folgt dem Standard | vollständig, es wird nichts angepasst | Organisation |
Die vierte Zeile fehlt in den meisten Projektplänen, obwohl sie oft die wirtschaftlichste ist. Nicht jede Abweichung zwischen Standard und gelebtem Prozess ist ein Wettbewerbsvorteil. Manche ist nur die Gewohnheit, die sich um eine Einschränkung des Vorgängersystems gebildet hat.