GegenĂŒber âEnterprise Resource Planning Systemsâ (ERP-Systeme) habe ich gemischte GefĂŒhle. Sie sind einerseits allumfassende Schweizer Taschenmesser: MĂ€chtige Werkzeuge, um ProzessablĂ€ufe (teil-)automatisiert mit Software umzusetzen, ohne eine Armada an Softwareentwickler*innen zu beschĂ€ftigen. Auf der anderen Seite können gröĂere eigene Anpassungen von ERP-Systemen zu immensen Kostenfaktoren ohne Nutzen und somit zu groĂen BĂŒrden werden: den gefĂŒrchteten âLegacy-Systemenâ.
Einleitung
Ich möchte anhand einer (mehr oder weniger) fiktiven Geschichte erzÀhlen, wie ein Unternehmen in tiefen Schwierigkeiten mit seinem eingekauften ERP-System gerÀt. Dazu verwende ich die Werkzeuge Wardley Maps von Simon Wardley sowie die Core Domain Pattern (aus dem Bereich des strategischem Domain-driven Design) von Nick Tune, um die normalerweise nicht sichtbaren VorgÀnge und Herausforderungen auf einer strategischen Ebene darzustellen.
RudimentÀre Kenntnis von Wardley Maps wird empfohlen, ist jedoch zum GrundverstÀndnis des Blog-Artikels nicht zwingend notwendig.
Wardley Maps sind evolvierende Strategielandkarten, welche ein kontextspezifisches Situationsbewusstsein fĂŒr die eigene IT-Landschaft schaffen.
Die y-Achse einer Wardley Map zeigt die Wertschöpfungskette ausgehend von den Stakeholder-BedĂŒrfnissen zu den betrachteten Komponenten, welche diese BedĂŒrfnisse befriedigen. Komponenten werden teils direkt von den Stakeholder wahrgenommen (wenn sie z. B. direkt genutzt werden) oder sind teils ĂŒberhaupt nicht mehr sichtbar (da sie z. B. technische Details sind).
Die x-Achse unterteilt die Evolution einer Komponente in vier aufeinanderfolgende Phasen: 1) Genesis: Es ist völlig unklar, wie man die Komponente herstellt oder ob sie ĂŒberhaupt jemand braucht. 2) Custom Built: Herstellungsprozesse sind noch sehr wacklig und wenig wiederholbar, es gibt aber schon einen ersten Bedarf. 3) Product: Das Hergestellte wird mit beherrschbaren Prozessen zuverlĂ€ssig erzeugt und der Markt nimmt es in groĂer StĂŒckzahl ab. 4) Utility: Der sichere Massenmarkt bezieht das Angebotene quasi direkt aus der Steckdose.
FĂŒr Wardley Maps gibt es ein hervorragendes 5-Minuten-Intro-Video, ein paar Einstiegsempfehlungen sowie ein kurzes Online-Video-Tutorial von mir.
Nachfolgend wechseln sich zudem die Visualisierungen und die zugehörige Terminologie zusammen mit erklÀrenden Texten ab.
Die Geschichte
Unsere Geschichte beginnt in den frĂŒhen 2000ern. Wir waren Softwareentwickler*innen in einem mittelstĂ€ndischen E-Commerce-Unternehmen. Das Unternehmen verkaufte Waren auf Online-MarktplĂ€tzen wie eBay oder Amazon. Kein anderes Unternehmen konnte APIs von verschiedenen MarktplĂ€tzen so integrieren wie wir. Wir waren die Stars unter den API-Integratoren. Die flexible API-Integrationen war unser KerngeschĂ€ft (âcoreâ). Als Vehikel verwendeten wir dazu ein brandneues ERP-System, das wir entsprechend den WĂŒnschen nach flexiblen API-Integrationen âgecustomizedâ hatten.
Das ERP-System wurde aber nicht nur fĂŒr die API-Integration allein eingefĂŒhrt, sondern auch fĂŒr all diese allgemeinen Dinge wie etwa fĂŒr die Rechnungsstellung, fĂŒr die wir natĂŒrlich keine eigene separate Anwendung erstellen wollten. Auch dafĂŒr nutzten wir die mitgelieferten ERP-Module (wir waren ja nicht dumm!).
Wie es eben so ist, kamen mit der Zeit immer spezielle Anforderungen von Vertriebler*innen zu uns ERP-Systementwickler*innen. Wir konnten (und wollten auch) dem Vertrieb einfach keinen Wunsch abschlagen. Dies hatte aber seinen Preis: Das ganze Customizing bei den API-Anbindungen war teuer und stark von den Interna des ERP-Systems abhĂ€ngig (ERP v1 base). Ja, es gab Dinge wie Schnittstellen und ein herstellerspezifisches Datenbankschema, aber wer scherte sich denn damals wirklich um die x-te Normalform, oder? Und die paar zusĂ€tzlichen Spalten in den vorhandenen Tabellen waren schnell gemacht. Niemand konnte das ERP-System so aufmotzen wie wir! Als technisch richtig fitte Entwickler*innen haben wir sogar das Basismodul unseres ERP-Systems (ERP v1', grĂŒn) angepasst.
Einige Jahre strichen ins Land und plötzlich (wer hĂ€tte das gedacht!): Eine GesetzesĂ€nderung in der Rechnungsstellung! Der Hersteller des ERP-Systems veröffentlichte eine neue Version (ERP v2, rot), die alle Updates fĂŒr Einhaltung der neuen gesetzlichen Vorschriften fĂŒr das Rechnungsmodul kostenlos mit sich brachte (ebenfalls rot). Wir wĂŒrden nur auf diese Version aktualisieren mĂŒssen und alles wĂ€re wieder in Ordnung.
Aber nicht so schnell! Vor einigen Jahren haben wir das ERP-Basismodul so stark verĂ€ndert, dass wir nicht auf neue ERP-Versionen aktualisieren konnten. Es war eine von uns ganz bewusst getroffene Entscheidung, das supercoole API-Integrationstool auf der BasisfunktionalitĂ€t des ERP-Systems umzusetzen, um schnell die BedĂŒrfnisse des Vertriebs befriedigen zu können. Damals war es auch völlig in Ordnung fĂŒr uns, dies so zu tun. Aber wir steckten damit auf einmal auch in der Vergangenheit fest, da wir die Interna des ERP-Systems massiv angepasst hatten. Dadurch entstand eine enorme TrĂ€gheit in der Weiterentwicklung des ERP-Systems (rote dicke Linien).
Wir hatten auch eine Menge Geld in die Anpassungen gesteckt. Wir wollten also nicht alle Investitionen einfach so von Bord werfen. Aber selbst, wenn wir bereit gewesen wĂ€ren, den Preis dafĂŒr zu zahlen, hĂ€tten wir nicht aktualisieren können: Alle Module in unserem System waren von einer undefinierten Masse an kundenspezifischem Code im Basismodul abhĂ€ngig. Das Risiko, all die wertvollen Mikrooptimierungen zu verlieren, war uns einfach zu hoch. Damit blieb uns nur eine Option ĂŒbrig: Wir mussten sicherstellen, dass die alte Version unseres Moduls fĂŒr die Rechnungsstellung den neuen gesetzlichen Bestimmungen entsprach. Wir programmierten unser eigenes ErgĂ€nzungsmodul fĂŒr die Rechnungserstellung (rot gefĂ€rbte Komponente unten links) â einer Funktion, welche uns keine Differenzierung gegenĂŒber dem Wettbewerb liefert (âgeneric subdomainâ). Oder anders ausgedrĂŒckt: Wir verbrannten Geld!
Aber es kam noch dicker: Mit dem neuen ERP-System gab es auch eine neue, supercoole API-Integration einfach âout of the boxâ (violett eingefĂ€rbt). Alle unsere Konkurrenten konnten nun auf das neuere System updaten. Unsere Differenzierung verschwand im Vergleich zu unseren Mitbewerbern völlig und lieĂ uns mit dem alten System zurĂŒck, weil wir diese Chance nicht nutzen konnten. Wir steckten in der Vergangenheit fest (violette dicke Linie)!
Wir stieĂen auf âTable Stakes Former Coreâ (sinngemĂ€Ăe Ăbersetzung etwa âBallast des frĂŒheren Differenzierungsmerkmalsâ): Unser frĂŒheres Kernelement des Erfolgs wurde zu einer bloĂen unterstĂŒtzenden Funktion degradiert und lastete schwer auf uns. Auf einmal standen wir komplett mit der bloĂen Aufrechterhaltung gewöhnlicher Systemfunktionen (âgenericâ, âsupportingâ) da. Kein neuer, differenzierender Wettbewerbsvorteil (âcoreâ), dafĂŒr aber ein Berg von Herausforderungen, um das alte System irgendwie am Laufen zu halten, weil wir kein Geld mehr hatten, aus diesem Schlamassel herauszukommen. Unser eigenes Customizing ist nun unser Legacy!
Das unglĂŒckliche Ende.
Und nun?
Was ist die Moral der Geschichte?
NatĂŒrlich ist diese Geschichte ĂŒberspitzt erzĂ€hlt worden. Was lief denn nun gut und was lief schlecht? Nun ja, niemand kann die Zukunft vorhersehen. Und manchmal lĂ€uft es auch einfach nur unglĂŒcklich. Es gibt immer wieder sehr verzwickte Lagen, in die wir auch ohne ERP-Systeme laufen können. Aber es gibt einige Dinge insbesondere beim Einsatz von ERP-Systemen zu beachten:
Wenn wir ein ERP-System verwenden, schlagen wir uns nicht mit der Anpassung des Basismoduls des ERP-Systems als Differenzierungselement herum. Dies fĂŒhrt frĂŒher oder spĂ€ter ansonsten nur zu Lasten einer fehlenden Updatemöglichkeit. Wir denken bei Erweiterungen auch immer daran, dass es AbhĂ€ngigkeiten zu Modulen anderer strategischer (Nicht-)Bedeutung gibt, die vom Basismodul abhĂ€ngen. Im schlimmsten Fall wendet sich hier auf einmal das Blatt und wir stehen mit der kostenintensiven Pflege von unterstĂŒtzenden und generischen Modulen dar, die keine Differenzierung gegenĂŒber dem Wettbewerb bietet.
Und auf der Metaebene hoffe ich, einen Beitrag dazu geleistet zu haben, wie solche Situationen mit Hilfe von Simon Wardleys âWardley Mapsâ und Nick Tunes âCore Domain Patternsâ aufgezeigt und analysiert werden können. Ich schĂ€tze beide Werkzeuge als groĂartige Hilfen fĂŒr mehr kontextspezifisches, strategisches Denken im IT-Bereich.
Hinweis: Diesen Blog-Post habe ich mit Àhnlichem Inhalt auch als englischsprachige Version (externe Seite) veröffentlicht.
Header-Bild von Ghinzo auf Pixabay