Peter Gafert: Rettet den Mud-olithen

Are you going?

72 spots left

Share:
Location image of event venue

Details

Nachdem wir einen Monat Sommerpause gemacht haben, freue ich mich besonders mit Peter Gafert und Daniel Götz zwei Architekten bei uns zu begrüßen, die sich dem Thema Modernisierung von Legacysystemen verschrieben haben.

Zum Thema:
In der letzten Dekade hat die Komplexität von Software immer stärker
zugenommen. Oftmals war der Beginn harmlos: eine Hand voll Entwickler,
eine Kerndomäne, das Leben war einfach. Doch dann passierte etwas
Schreckliches: Das Produkt wurde erfolgreich. Und mit diesem Erfolg wurde die Entwicklungsmannschaft größer und größer, Subdomäne um Subdomäne kam hinzu und mehr und mehr Features wurden angefragt.

Mittlerweile gibt es viele dieser "historisch gewachsenen" Projekte und
die Arbeit an ihnen ist nicht einfach. Einerseits sind sie die "Cash
Cows" mit dutzenden oder hunderten an Personenjahren, welche in die
Entwicklung investiert wurden. Andererseits sind sie mittlerweile der
typische "Big Ball of Mud". Patterns werden inkonsistent verwendet,
alles scheint von allem abzuhängen und neue Features oder Bugfixing
verschlingen wahnsinnige Mengen an Budget.

Wir wissen wo wir hinwollen: modulare Systeme, die es erlauben, Teile
unabhängig voneinander weiterzuentwickeln. Aber wie kommen wir vom
aktuellen Stand aus dort hin? Wenn sich Tausende von falschen
Abhängigkeiten eingeschlichen haben? Und wir kontinuierlich Bugs fixen
und Features entwickeln müssen? Wir können die Entwicklung nicht für ein Jahr komplett unterbrechen um die kaputten Strukturen zu reparieren. In diesem Vortrag erzählen wir über unsere Erfahrungen bei der Weiterentwicklung eines > 5 Mio. LOC Monolithen an welchem ca. 60
Entwickler parallel arbeiten. Wir werden Wege aufzeigen um solch einen
"schwer navigierbaren Frachter" in eine bessere Zukunft zu steuern.
Der Vortrag wird nicht nur Methodik erläutern, sondern auch ganz konkret anhand der Open-Source-Library ArchUnit (https://www.archunit.org) Muster vorstellen, die man in einem derartigen Umfeld einsetzen kann.

Ein Umfeld der Art, dass jede Architekturregel, die man tatsächlich
prüft, hunderte oder tausende von Verletzungen aufweist, so dass man
diese unmöglich spontan reparieren kann. Wir werden sehen, wie
man solch einen Monolithen reparieren und langsam, aber stetig, hin zu
einem "Modulithen" mit sauberen Abhängigkeiten transformieren kann. Und das, ohne dabei die tägliche Entwicklung unterbrechen zu müssen oder versehentlich die bisher gewonnenen Erfolge im Zeitdruck des nächsten Releases zu zerstören.

Der Vortrag wird einige Live-Examples enthalten, welche kurz in ArchUnit
einführen, sich dann aber konkret mit detaillierten Patterns für die
Restauration von gewachsenen Systemen beschäftigen.

Über die Speaker:
Peter Gafert ist Principal Consultant bei TNG Technology Consulting GmbH und beschäftigt sich im Projektalltag viel mit agiler Software-Architektur. Insbesondere wie Architektur in großen Projekten über viele Teams hinweg verbreitet, dokumentiert und wo möglich automatisiert sichergestellt werden kann. Um diese Arbeit zu erleichtern, hat er die Open-Source-Library ArchUnit (https://www.archunit.org) ins Leben
gerufen und entwickelt diese nun kontinuierlich weiter.

Daniel Götz kümmert sich als Senior Consultant bei der TNG Technology
Consulting GmbH in seinem Alltag um die Wartung und Erweiterung
historisch gewachsener Softwareprojekte. Da erodierte Softwarearchitektur eines der Grundprobleme gewachsener Anwendungen darstellt, findet er kontinuierlich neue Muster und Wege um diese unter den gegebenen Rahmenbedingungen in einen wartbaren Zustand zu überführen.