Dr. Carola Lilienthal

Dr. Carola Lilienthal
Dr. Carola Lilienthal ist Senior-Softwarearchitektin bei der Workplace Solutions GmbH und Mitglied der Geschäftsleitung. Sie hat an der Universität Hamburg studiert und dort zum Thema „Komplexität von Softwarearchitekturen“ promoviert. Seit 2003 analysiert sie im Auftrag ihrer Kunden in ganz Deutschland regelmäßig die Architektur von Softwaresystemen und fasst das Ergebnis in Qualitätsgutachten sowie mit priorisierten Refactoring-Maßnahmen zusammen. Außerdem leitet sie seit 2000 Softwareprojekte von unterschiedlicher Größe im Banken-/Versicherungs- und Logistikbereich und berät das Management kleiner und mittelständischer Unternehmen bei der Entwicklung einer modernen IT-Strategie.
Beiträge dieses Autors

Wie Sie technische Schulden in Architekturen abbauen

Die wenigsten Entwicklungsteams haben heute noch die Chance, ein komplett neues System „from scratch“ zu entwickeln. Meistens stehen wir vor der Herausforderung, ein bestehendes, über Jahre gewachsenes System zu warten und auszubauen. Damit das auf Dauer gelingen kann, brauchen wir eine qualitativ hochwertige und flexible Architektur mit möglichst wenig technischen Schulden.

Technische Schulden als Entscheidungsgrundlage: Wie Product Owner und Entwickler für langlebige Architekturen sorgen

Die wenigsten Product Owner haben heute noch die Chance, ein System auf der grünen Wiese entwickeln zu lassen. Meistens stehen sie gemeinsam mit ihrem Entwicklungsteam vor der Herausforderung, ein oder mehrere über Jahre gewachsene Systeme um neue Features zu erweitern und zu warten. Aus Sicht des Entwicklungsteams braucht man dafür eine qualitativ hochwertige und flexible Architektur mit möglichst wenig technischen Schulden. Sind die technischen Schulden gering, dann können Bugs schnell und einfach gefixt werden, und Erweiterungen sind kostengünstig umzusetzen – aber was braucht der Product Owner?

Software-Architektur: Die Schönheit liegt im Inneren

In unserer täglichen Arbeit beim Programmieren haben wir mit komplexen Strukturen zu tun. Ein normales Softwaresystem von 250.000 Zeilen Code hat bereits um die 3.000 Klassen. Diese Klassen arbeiten auf die eine oder andere Weise zusammen, um die gewünschte Funktionalität zu realisieren. In diesen vernetzten Strukturen dürfen wir Fehler beheben und neue Funktionalität hinzufügen.