Wenn die Vergangenheit die Zukunft einholt
Shownotes
In dieser Folge begegnet unser IT-Leiter Mark seinem bislang größten Gegner: der Vergangenheit. Jahrzehntealter Code, geschrieben von einem mittlerweile pensionierten Entwickler, bringt die Gegenwart ins Wanken – und zwingt das Unternehmen, sich endlich den lange verdrängten technischen Schulden zu stellen.
Was als simples Update wegen einer Steuerregelung beginnt, entpuppt sich als Auslöser für eine tiefgreifende Aufarbeitung von Altlasten, schlecht dokumentierten Systemen und digitalem Schweigen. Die Lösung? Eine Truppe hochspezialisierter Rentner, angeführt vom legendären Dieter, die als „digitale Archäologen“ die vergessenen Tiefen des Codes ergründen.
🔹 Ein CRM, das nur im Internet Explorer 6 funktioniert
🔹 Ein Abrechnungssystem mit Variablen namens „schniedelwutz“
🔹 Und ein CEO, der technische Schulden mit echten Mauerrissen vergleicht
Eine Folge über Verantwortung, Lernprozesse – und die Erkenntnis, dass der wichtigste IT-Fix manchmal graue Haare und ein Gartenhaus an der Ostsee hat.
Transkript anzeigen
00:00:00: Wenn die Vergangenheit die Zukunft einholt - Wer hat diesen Code geschrieben?
00:00:05: - Meine Stimme halte durch das Großraumbüro, erfüllt von einer Mischung aus Verzweiflung
00:00:12: und Unglaube.
00:00:14: Vor mir auf dem Bildschirm prangte ein Gewirr aus verschachtelten IF-Abfragen.
00:00:19: Globalen Variablen und Kommentaren wie "Nicht anfassen" funktioniert irgendwie und
00:00:25: "Todo" später fixen, 2014.
00:00:30: Kevin rollte mit seinem Stuhl zu mir herüber und warf einen Blick auf meinen Bildschirm.
00:00:36: Seine Augenbrauen wanderten langsam nach oben, bis sie fast seinen Haaransatz berührten.
00:00:41: - Das - sagt er nach einer langen Pause - ist das Abrechnungsmodul, der heilige Graal
00:00:48: der Legacy-Systeme.
00:00:50: - Aber wer hat es geschrieben? - beharte ich.
00:00:53: - Wir müssen es ändern, um die neue Steuerregelung zu implementieren und ich verstehe nicht
00:00:59: einmal, was die Hälfte dieser Variablen bedeutet.
00:01:02: Was zum Teufel ist ein Schniedelwurz?
00:01:05: Kevin zogte mit den Schultern.
00:01:06: - Das hat Dieter geschrieben, vor deiner Zeit.
00:01:10: Er ist vor sieben Jahren in Rente gegangen.
00:01:14: Mein Magen zog sich zusammen.
00:01:17: Dieter war eine Legende in der Firma, der Programmierer, der in den Anfangstagen
00:01:22: fast alle Kernsysteme entwickelt hatte.
00:01:24: Sein Code lief noch immer, aber niemand wagte es, ihn zu ändern.
00:01:29: Es war wie ein digitales Archäologie-Projekt, nur dass die Artifakte nicht in Museen ausgestellt
00:01:35: wurden, sondern kritische Geschäftsprozesse steuerten.
00:01:38: Was ich nicht sagte.
00:01:40: Dass ich in diesem Moment ernsthaft darüber nachdachte, meinen Lebenslauf zu aktualisieren
00:01:46: und mich für Jobs zu bewerben, die nichts mit Computern zu tun hatten.
00:01:51: - Vielleicht Schäfer in den schottischen Highlands.
00:01:54: - Oder Leuchtturmwerte auf einer einsamen Insel.
00:01:58: - Wir müssen es trotzdem ändern, - säufzte ich.
00:02:01: - Die neue Steuerregelung tritt in zwei Wochen in Kraft.
00:02:05: Und wenn unser Abrechnungssystem nicht angepasst wird, haben wir ein ernsthaftes Problem.
00:02:10: - Kevin nickte grimmig.
00:02:12: - Ich weiß, aber das ist nicht das einzige Legacy-System, das uns Kopfschmerzen bereitet.
00:02:18: Das CRM-System läuft noch auf einem Server, für den es seit drei Jahren keine Sicherheitsupdates
00:02:24: mehr gibt.
00:02:25: Die Lagerverwaltung ist in Visual Basic 6 geschrieben.
00:02:29: Und das Internet?
00:02:31: Nun, sagen wir einfach, es wurde für den Internet Explorer 6 optimiert.
00:02:36: - Ich starte ihn an.
00:02:38: - Warum weiß ich das alles nicht?
00:02:41: - Weil niemand darüber reden will.
00:02:43: - antwortete Kevin mit einem schiefen Lächeln.
00:02:46: - Es ist wie ein Familiengeheimnis.
00:02:48: Jeder weiß es, aber niemand spricht es aus.
00:02:52: - In diesem Moment wurde mir klar, dass ich auf einer tickenden Zeitbombe saß.
00:02:57: Jahre lang hatte das Unternehmen technische Schulden angehäuft.
00:03:01: Alte Systeme am Leben erhalten, notwendige Updates aufgeschoben,
00:03:06: kurzfristige Lösungen implementiert, die zu langfristigen Problemen wurden.
00:03:12: Und jetzt, als neuer IT-Leiter, hatte ich die zweifelhafte Ehre, mit den Konsequenzen
00:03:18: umzugehen.
00:03:19: Was ich nicht sagte, dass ich meinen Vorgänger, der aus persönlichen Gründen gekündigt hatte,
00:03:25: plötzlich viel besser verstand.
00:03:27: Ich rief sofort mein Team zusammen, es war Zeit für eine Bestandsaufnahme.
00:03:32: - Okay, Leute.
00:03:34: - begann ich, nachdem ich die Tür zu unserem Meetingraum geschlossen hatte.
00:03:38: - Ich brauche eine ehrliche Einschätzung, wie schlimm ist unsere Tech-Depth-Situation
00:03:43: wirklich?
00:03:44: Die Blicke, die meine Teammitglieder austauschten, waren alarmierend.
00:03:49: Es war die Art von Blick, die Ärzte tauschen, bevor sie einem Patienten mitteilen, dass
00:03:54: sie etwas gefunden haben.
00:03:56: Sarah reusperte sich.
00:03:59: - Erinnerst du dich an den Systemausfall letzten Monat, der angeblich durch einen Stromausfall
00:04:05: verursacht wurde?
00:04:06: - Ich nickte.
00:04:08: - Es gab keinen Stromausfall.
00:04:10: - Gestand sie.
00:04:11: - Das Datenbank-Subsystem ist kollabiert, weil es seit 2016 nicht mehr aktualisiert wurde
00:04:17: und der Speicherplatz ausgegangen ist.
00:04:20: Wir haben die Geschichte mit dem Stromausfall erfunden, um Zeit für die Reparatur zu gewinnen.
00:04:24: - Mein Mund öffnete sich, aber es kam keine Worte heraus.
00:04:29: Markus meldete sich zu Wort.
00:04:31: - Und die neue Website, die wir letztes Jahr gelauncht haben?
00:04:36: Sie sieht nur modern aus.
00:04:39: Dahinter läuft noch immer das alte CMS.
00:04:42: Wir haben nur eine hübsche Fassade davor gebaut.
00:04:45: Wie bei diesen Filmsets im Wilden Westen, wo hinter der Saloon-Fassade nichts ist.
00:04:51: - Miranikte.
00:04:53: - Unsere Deployment-Pipeline ist eigentlich eine Sammlung von Batch-Skripten und manuellen
00:04:59: Prozessen.
00:05:00: - Ich verbringe die Hälfte meiner Zeit, damit Dinge zu reparieren, die bei Deployments
00:05:05: kaputtgehen.
00:05:06: - Ich sank tiefer in meinen Stuhl.
00:05:09: - Warum wurde das alles nicht längst behoben?
00:05:13: - Kevin zuckte mit den Schultern.
00:05:15: - Keine Zeit, kein Budget, keine Priorität.
00:05:19: Es ist immer einfacher, neue Features zu entwickeln, als alte Systeme zu modernisieren.
00:05:24: Und solange nichts explodiert.
00:05:26: - Aber jetzt explodiert es.
00:05:29: Srenje unterbrach ich ihn.
00:05:30: - Die Steuerregelung ist nur der Anfang.
00:05:33: Was ist, wenn eines dieser alten Systeme komplett ausfällt?
00:05:36: Oder wenn wir gehackt werden, weil wir veraltete Software verwenden?
00:05:40: - Die bedrückte Stille, die folgte, war Antwort genug.
00:05:44: - Okay, sagte ich schließlich.
00:05:46: Wir müssen einen Plan entwickeln.
00:05:49: Sofort.
00:05:50: - Die nächsten Tage verbrachten wir damit eine umfassende Bestandsaufnahme unserer technischen
00:05:56: Schulden zu erstellen.
00:05:57: Das Ergebnis war erschreckend.
00:06:00: Über 60 Prozent unserer Systeme waren veraltet, unsicher oder so schlecht dokumentiert, dass
00:06:06: niemand sie vollständig verstand.
00:06:09: Mit diesem Wissen bewaffnet ging ich zum CEO.
00:06:12: Es war ein Gespräch, auf das ich mich nicht freute.
00:06:16: - Mark.
00:06:18: - Begrüßt er mich fröhlich, als ich sein Büro betrat.
00:06:21: - Was kann ich für dich tun?
00:06:23: - Ich legte ihm unsere Analyse vor.
00:06:25: - Wir haben ein ernsthaftes Problem mit technischen Schulden.
00:06:29: Wenn wir nicht sofort handeln, riskieren wir massive Systemausfälle, Sicherheitsverletzungen
00:06:35: und die Unfähigkeit auf Geschäftsanforderungen, wie die neue Steuerregelung zu reagieren.
00:06:40: - Der CEO überflog das Dokument und runzelte die Stirn.
00:06:44: - Das sieht beunruhigend aus, aber was genau sind technische Schulden?
00:06:50: - Ich holte tief Luft.
00:06:52: - Stellen Sie sich vor, Sie bauen ein Haus.
00:06:55: - Aber anstatt das Fundament richtig zu gießen, verwenden Sie eine Abkürzung, weil es schneller
00:07:00: und billiger ist.
00:07:01: - Das Haus steht, aber mit der Zeit entstehen Risse.
00:07:04: - Sie ignorieren sie und bauen stattdessen einen neuen Flügel an.
00:07:09: - Die Risse werden größer, sie streichen darüber.
00:07:13: - Irgendwann droht das ganze Haus einzustürzen und die Reparatur kostet zehnmal mehr, als
00:07:20: es gekostet hätte, das Fundament von Anfang an richtig zu bauen.
00:07:24: - Der CEO nickte langsam.
00:07:27: - Und unser digitales Haus steht kurz vor dem Einsturz?
00:07:30: - Teile davon, ja, bestätigte ich.
00:07:34: - Wir brauchen ein umfassendes Modernisierungsprogramm und das wird Zeit und Geld kosten.
00:07:39: - Was ich nicht sagte, dass sein Vorgänger und mein Vorgänger jahrelang Warnungen ignoriert
00:07:46: und Budgets für notwendige Upgrades gestrichen hatten, um kurzfristige Gewinne zu maximieren.
00:07:52: Der CEO lehnte sich zurück und starte aus dem Fenster.
00:07:57: - Wie viel?
00:07:58: - Ich nannte ihm eine Zahl, die ich vorher dreimal überprüft hatte, weil ich selbst nicht
00:08:03: glauben konnte, wie hoch sie war.
00:08:06: Er zuckte nicht einmal.
00:08:07: - Und wenn wir nichts tun?
00:08:10: - Dann ist es nur eine Frage der Zeit, bis ein kritisches System ausfällt.
00:08:14: Und dann reden wir nicht mehr über geplante Investitionen, sondern über Notfallreparaturen,
00:08:21: Zusatzverluste und möglicherweise Reputationsschäden.
00:08:25: Nach einer langen Pause nickte der CEO.
00:08:28: - Okay, erstelle einen detaillierten Plan, priorisiere die kritischsten Systeme, ich werde
00:08:35: das Budget genehmigen, aber ich erwarte regelmäßige Updates und messbare Fortschritte.
00:08:40: - Ich verließ sein Büro mit einem Gefühl der Erleichterung, gemischt mit Angst vor
00:08:46: der Mammutaufgabe, die vor uns lag.
00:08:49: Zurück bei meinem Team verkündete ich die gute Nachricht.
00:08:52: - Der CEO hat grünes Licht gegeben, wir können mit der Modernisierung beginnen.
00:08:57: - Die Reaktionen reichten von unglaubigem Staun, Sarah, über vorsichtigen Optimismus
00:09:04: Mira, bis hin zu offener Begeisterung.
00:09:08: "Aber wo fangen wir an?" fragte Kevin. "Das Abrechnungssystem ist am dringendsten wegen der Steuerregelung,
00:09:15: aber das CRM-System ist am instabilsten." "Wir brauchen Hilfe." entschied ich.
00:09:22: "Leute, die diese alten Systeme verstehen." Und so begann die große Suche nach den digitalen Archäologen,
00:09:29: Entwicklern, die mit veralteten Technologien vertraut waren und uns helfen konnten,
00:09:35: den Legacy Code zu entziffern und zu modernisieren. Es war schwieriger als erwartet.
00:09:42: Die meisten jungen Entwickler hatten noch nie Kobol gesehen oder mit Visual Basic 6 gearbeitet.
00:09:49: Die wenigen Experten, die wir fanden, verlangten astronomische Stundensätze,
00:09:54: wissend wie verzweifelt Unternehmen wie unseres nach ihren seltenen Fähigkeiten suchten.
00:09:59: In einem Anfall von Verzweiflung schlug Mira vor.
00:10:03: "Was ist mit Dieter? Könnte er uns beraten, auch wenn er im Ruhestand ist?"
00:10:08: Die Idee war verrückt genug, um es zu versuchen.
00:10:12: Nach einigen Recherchen fand ich heraus, dass Dieter in einem kleinen Dorf an der Ostsee lebte.
00:10:18: Ich beschloss ihn persönlich zu besuchen. Emails oder Anrufe schien bei einem Mann,
00:10:25: der sich vor dem digitalen Zeitalter zur Ruhe gesetzt hatte, nicht angemessen.
00:10:30: Die Fahrt war lang und mit jedem Kilometer wuchs mein Zweifel.
00:10:35: Würde Dieter überhaupt mit mir sprechen wollen?
00:10:38: Würde er sich an Code erinnern, den er vor Jahrzehnten geschrieben hatte?
00:10:43: Und selbst wenn?
00:10:45: Würde er bereit sein, aus seinem Ruhestand zurückzukehren, um uns zu helfen?
00:10:50: Dieters Haus war genau das, was ich erwartet hatte, ein gemütliches Cottage mit einem gepflegten Garten.
00:10:57: Was ich nicht erwartet hatte, war der hochmoderne Gaming-PC, den ich durch das Fenster sehen konnte,
00:11:03: als er die Tür öffnete.
00:11:05: Ja? fragte er, ein schlanker Mann in seinen Siebzigern mit wachen Augen hinter dicken Brillen gläsern.
00:11:12: Herr Müller, ich bin Marc Schmidt, IT-Leiter bei Ihrer alten Firma.
00:11:18: Ich, ähm, wir haben ein Problem mit einigen Ihrer alten Systeme und dachten, vielleicht könnten Sie uns helfen?
00:11:27: Dieter startete mich einen Moment lang an, dann brach er in schallendes Gelächter aus.
00:11:33: Lasst mich raten, das Abrechnungssystem oder das CRM?
00:11:38: Beides eigentlich, gab ich zu.
00:11:41: Und noch ein paar andere.
00:11:43: Er schüttelte den Kopf, immer noch lachend.
00:11:47: Ich habe Ihnen gesagt, Sie sollen es neu schreiben, vor zehn Jahren.
00:11:52: Aber nein, wenn es nicht kaputt ist, repariere es nicht, sagten Sie.
00:11:58: Er säufzte.
00:11:59: Kommen Sie rein, ich setze Kaffee auf.
00:12:03: In Dieters Wohnzimmer umgeben von Bücherregalen voller Technik, Literatur und Modell, Flugzeugen,
00:12:10: erzählte ich ihm von unserer Situation.
00:12:13: Er hörte aufmerksam zu, nickte gelegentlich und murmelte.
00:12:17: Natürlich.
00:12:18: Oder?
00:12:19: War zu erwarten.
00:12:20: Als ich fertig war, lehnte er sich zurück.
00:12:23: Ich kann Ihnen helfen, aber nicht allein.
00:12:27: Sie brauchen ein Team von, wie nennen Sie uns, Legacy-Experten.
00:12:34: Digitale Archäologen.
00:12:36: Korrigierte ich mit einem Lächeln.
00:12:38: Er lachte wieder.
00:12:40: Gefällt mir.
00:12:41: Ich kenne ein paar Leute, ehemalige Kollegen, die auch im Ruhestand sind.
00:12:46: Zusammen könnten wir ihre Systeme entschlüsseln und Ihnen helfen, sie zu modernisieren.
00:12:52: Das wäre unglaublich, sagte ich, überwältigt von Erleichterung.
00:12:58: Aber fügte er hinzu und sein Ton wurde ernst.
00:13:03: Ich habe Bedingungen.
00:13:05: Erstens, wir arbeiten remote von zu Hause aus.
00:13:09: Ich bin zu alt, um jeden Tag ins Büro zu pendeln.
00:13:13: Zweitens, wir arbeiten zu unseren eigenen Bedingungen.
00:13:17: Keine Deadlines, die uns unter Druck setzen.
00:13:20: Und drittens, Sie müssen versprechen, dass Sie diesmal alles richtig machen.
00:13:25: Ordentliche Dokumentation, sauberer Code, regelmäßige Updates.
00:13:30: Keine neuen technischen Schulden.
00:13:32: Ich nickte eifrig.
00:13:34: Absolut.
00:13:35: Das ist genau, was wir wollen.
00:13:37: Und so begann das ungewöhnlichste Projekt meiner Karriere.
00:13:41: Ein Team von Rentnern, die von ihren Häusern aus arbeiteten,
00:13:45: halb uns Jahrzehnte alte Systeme zu verstehen und zu modernisieren.
00:13:49: Es war nicht einfach.
00:13:51: Dieter's erste Reaktionen, als er seinen alten Code sah,
00:13:55: war ein Gemisch aus Nostalgie und Entsetzen.
00:13:58: Mein Gott, das habe ich geschrieben. Was habe ich mir dabei gedacht?
00:14:03: Die Kommunikation war manchmal herausfordernd.
00:14:06: Dieter und seine Kollegen bevorzugten Telefonate gegenüber Videocalls
00:14:10: und handgeschriebene Notizen gegenüber digitalen Dokumenten.
00:14:14: Aber ihr Wissen war unbezahlbar.
00:14:17: Sie erklärten uns nicht nur, wie die alten Systeme funktionierten,
00:14:21: sondern auch, warum sie so gebaut wurden.
00:14:23: Die Geschäftslogik, die Kompromisse, die historischen Einschränkungen.
00:14:28: Es war wie ein Geschichtsunterricht in Softwareentwicklung.
00:14:31: Für das Abrechnungssystem fanden wir eine Lösung gerade noch rechtzeitig.
00:14:36: Mit Dieters Hilfe identifizierten wir die kritischen Teile des Codes,
00:14:41: die geändert werden mussten und implementierten die neue Steuerregelung,
00:14:45: ohne das gesamte System zu destabilisieren.
00:14:49: Das war nur der Anfang.
00:14:51: In den folgenden Monaten arbeiteten wir systematisch daran,
00:14:55: unsere technischen Schulden abzubauen.
00:14:57: System für System wurde analysiert, dokumentiert und entweder modernisiert oder ersetzt.
00:15:04: Es war ein gewaltiges Unterfangen und es gab Rückschläge.
00:15:08: Einmal brachte ein scheinbar harmloser Code Refactor das gesamte Lagerverwaltungssystem zum Absturz,
00:15:15: weil niemand, nicht einmal Dieter, wusste,
00:15:18: dass es eine versteckte Abhängigkeit zu einem anderen System gab.
00:15:22: Aber langsam, stetig, machten wir Fortschritte.
00:15:26: Die kritischsten Systeme wurden zuerst angegangen.
00:15:29: Dann die weniger kritischen.
00:15:31: Wir dokumentierten alles akribisch, erstellten Architekturdiagramme,
00:15:35: schrieben Tests und bauten eine moderne CI/CD Pipeline auf.
00:15:40: Der CEO war beeindruckt von unseren Fortschritten,
00:15:43: besonders als er sah, wie die Anzahl der Systemausfälle zurückging
00:15:47: und die Entwicklungsgeschwindigkeit für neue Features zunahm.
00:15:51: Ich hätte nicht gedacht, dass die Investition sich so schnell auszahlen würde.
00:15:55: Gestand er bei einem unserer Update-Meetings.
00:15:58: Was ich nicht sagte, dass wir immer noch nur an der Oberfläche kratzten
00:16:03: und dass es Jahre dauern würde, bis alle technischen Schulden abgebaut wären.
00:16:08: Nach einem Jahr hatten wir etwa 40% unserer Legacy-Systeme modernisiert.
00:16:13: Dieter und sein Team von digitalen Archäologen waren immer noch an Bord,
00:16:18: obwohl ihre Rolle sich von direkter Entwicklung zu Beratung und Wissenstransfer verschoben hatte.
00:16:24: Bei unserem letzten persönlichen Treffen, ich besuchte ihn wieder in seinem Cottage, fragte Dieter,
00:16:31: "Was haben Sie aus all dem gelernt, Marc?"
00:16:34: "Ich dachte einen Moment nach."
00:16:36: "Das es keine Abkürzungen gibt.
00:16:39: Das technische Exzellenz und sauberer Code keine Luxusgüter sind, sondern Notwendigkeiten.
00:16:45: Und dass die Entscheidungen, die wir heute treffen, uns noch Jahre später verfolgen können."
00:16:51: Dieter nickte zufrieden.
00:16:53: "Gut. Sehr gut. Und vergessen Sie nicht. Dokumentieren Sie alles.
00:16:59: Eines Tages werden Sie derjenige sein, der in Rente geht
00:17:03: und ein junger IT-Leiter wird verzweifelt versuchen, ihren Code zu verstehen."
00:17:08: "Ich lachte."
00:17:09: "Ich hoffe, er muss nicht bis an die Ostsee fahren, um mich zu finden."
00:17:13: "Wer weiß?" zwingerte Dieter.
00:17:16: "Vielleicht bin ich dann auf Hawaii mit einem noch besseren Gaming-PC."
00:17:21: Als ich zurück ins Büro fuhr, dachte ich über die Ironie nach.
00:17:26: Um unsere Zukunft zu sichern, mussten wir in die Vergangenheit reisen.
00:17:30: Die Weisheit der alten Garde hatte sich als unschätzbar wertvoll erwiesen,
00:17:35: nicht nur für das Verständnis der Legacy-Systeme, sondern auch für die Vermeidung ähnlicher Fehler in der Zukunft.
00:17:42: In meinem Büro hängt jetzt ein gerahmtes Zitat von Ward Cunningham,
00:17:46: dem Erfinder des Wiki und dem Mann, der den Begriff "technische Schulden" prägte.
00:17:52: "Shipping first-time code is like going into debt."
00:17:56: "A little debt speeds development so long as it is paid back promptly with refactoring."
00:18:02: "The danger occurs when the debt is not repaid."
00:18:06: Darunter habe ich meine eigene Ergänzung hinzugefügt.
00:18:10: Und wenn die Schulden zu hoch werden, rufen sie einen Rentner an der Ostsee an.
Neuer Kommentar