Zum Inhalt springen

Glossar · R

Re-Engineering

Re-Engineering bezeichnet die Überarbeitung bestehender IT-Architekturen, um sie an moderne Standards anzupassen.

Definition

Re-Engineering bezeichnet den Prozess der systematischen Überarbeitung und Neugestaltung bestehender IT-Systeme oder Softwarearchitekturen. Ziel ist es, die Funktionalität, Wartbarkeit und Leistungsfähigkeit der Systeme zu verbessern, ohne sie vollständig neu zu entwickeln. Dabei werden bestehende Strukturen analysiert, dokumentiert und auf Basis der gewonnenen Erkenntnisse optimiert oder modernisiert.

Der Begriff wird häufig im Kontext von Softwareentwicklung und IT-Infrastruktur verwendet, um veraltete oder ineffiziente Systeme an aktuelle technische und betriebliche Anforderungen anzupassen. Re-Engineering kann sowohl die Umgestaltung von Quellcode als auch die Anpassung von Datenbanken, Schnittstellen und Systemarchitekturen umfassen.

Was bedeutet das für Ihr Unternehmen?

Re-Engineering ist eine Option, wenn eine gewachsene Software fachlich noch passt, aber technisch an Grenzen stößt, etwa bei Sicherheit, Geschwindigkeit oder Erweiterbarkeit. Gegenüber einer Neuentwicklung bleibt das gesammelte Fachwissen in der Software erhalten, und die Umstellung kann schrittweise erfolgen. Vor der Entscheidung sollte eine Analyse zeigen, welche Teile tragfähig sind und welche ersetzt werden müssen, sonst wird aus der Überarbeitung unbemerkt eine teure Neuentwicklung.

Hintergrund und Motivation

Die Notwendigkeit von Re-Engineering ergibt sich oft aus technologischen Fortschritten, geänderten Geschäftsprozessen oder neuen gesetzlichen Anforderungen. Viele Unternehmen verfügen über Altsysteme, die nicht mehr den heutigen Standards entsprechen, beispielsweise hinsichtlich Sicherheit, Performance oder Skalierbarkeit. Ein vollständiger Neubau wäre mit hohem Aufwand und Kosten verbunden, weshalb Re-Engineering als pragmatische Alternative genutzt wird.

Darüber hinaus kann Re-Engineering helfen, die Lebensdauer von Software zu verlängern und die Integration mit modernen Systemen zu erleichtern. Es trägt dazu bei, technische Schulden abzubauen und die Dokumentation zu verbessern, was die Wartung und Weiterentwicklung erleichtert. Die Analyse vorhandener Systeme ist dabei ein zentraler Schritt, um Schwachstellen zu identifizieren und gezielt zu beheben.

Vorgehen und Methoden

Re-Engineering umfasst typischerweise mehrere Phasen: Zunächst erfolgt eine Bestandsaufnahme und Analyse der bestehenden Systeme, gefolgt von der Modellierung und Dokumentation der aktuellen Architektur. Anschließend werden Optimierungspotenziale identifiziert und konkrete Maßnahmen zur Modernisierung entwickelt. Diese können Refactoring des Codes, Migration auf neue Plattformen oder die Einführung neuer Technologien umfassen.

Methodisch kommen verschiedene Techniken zum Einsatz, darunter Reverse Engineering zur Rückgewinnung von Systeminformationen, Code-Analyse-Tools sowie Modellierungssprachen wie UML. Die Umsetzung kann schrittweise erfolgen, um Risiken zu minimieren und den laufenden Betrieb nicht zu beeinträchtigen. Dabei ist eine enge Abstimmung mit den Fachabteilungen wichtig, um funktionale Anforderungen zu berücksichtigen.

Einsatzgebiete

Re-Engineering wird in unterschiedlichen Bereichen der IT angewendet, insbesondere bei der Modernisierung von Unternehmenssoftware, Datenbanksystemen und Middleware. Es findet Verwendung, wenn Systeme aufgrund von veralteten Technologien, mangelnder Dokumentation oder schlechter Wartbarkeit nicht mehr den aktuellen Anforderungen entsprechen.

Auch im Rahmen von IT-Transformationen und Cloud-Migrationen spielt Re-Engineering eine Rolle, um bestehende Anwendungen an neue Infrastrukturen anzupassen. Zudem kann es bei der Konsolidierung von Systemlandschaften helfen, indem redundante Funktionen zusammengeführt und vereinheitlicht werden.

Abgrenzung zu verwandten Begriffen

Re-Engineering unterscheidet sich von der reinen Wartung oder dem Bugfixing, da es eine grundlegende Überarbeitung und Optimierung bestehender Systeme beinhaltet, statt nur kleinere Fehler zu beheben. Im Gegensatz zur Neuentwicklung wird die bestehende Systembasis genutzt und weiterentwickelt, anstatt komplett neu zu starten.

Ein verwandter Begriff ist Refactoring, der sich auf die Verbesserung des Quellcodes ohne Änderung der Funktionalität konzentriert. Re-Engineering umfasst dagegen oft auch die Anpassung der Architektur und kann funktionale Erweiterungen beinhalten. Zudem grenzt sich Re-Engineering von Migrationen ab, die primär den Wechsel der Plattform oder Technologie ohne tiefgreifende Systemänderungen beschreiben.

Verwandte Begriffe

Passende Leistung

Sie möchten wissen, was das für Ihr Projekt bedeutet? Sprechen Sie uns an.

Zum Angebot: Legacy-Modernisierung