Ein solch modulares Vorgehen erlaubt ein sukzessives Herausschneiden von Funktionen, ohne den Gesamtverbund zu gefährden. Damit können Verbesserung und Portierung auf neue Technologiestandards gewährleistet werden, während das Altsystem gleichzeitig weiterhin zuverlässig seinen Dienst verrichtet. Gerade für KRITIS-Betreiber ist dieser stabilisierende Umstand besonders wichtig.
Der grundlegende Umbau der digitalen Architektur bot dem Verkehrsunternehmen die Chance, eine ganzheitlich zukunftsorientierte IT-Strategie auszuarbeiten.
Bislang wird die Software des Kritis-Betreibers hauptsächlich für die Personaleinsatzplanung der Fahrzeugführer sowie die Anbindung direkt angrenzender Fremdsysteme verwendet. Dabei bildet das seit 20 Jahren laufende System alle für den Betrieb notwendigen Domänen ab (z.B. Personal- und Arbeitszeitverwaltung, Fahr- und Auftragsplanung als auch -bearbeitung, Arbeitszeiterfassung- und nachweise, etc.).
Eine der größten Herausforderung liegt damit im organisch gewachsenen IT-Monolithen selbst: Die Prozesse des Systems sind derart verwoben, dass es schwierig ist, sie zu sezieren. Das ist aber notwendig, um einzelne Funktionen abzutrennen und gegebenenfalls mit moderneren technologischen Mitteln umzusetzen. Hinzu kommt, dass bei einem Altsystem oft nicht alles dokumentiert ist oder bereits existierende Dokumentationen veraltet sind. Etwaige Folgen einer „Sezierung“ bezüglich der Funktionalität sind somit nicht vorhersehbar. Beim Aufsetzen einer neuen Software gilt es von Anfang an akribisch zu dokumentieren und so einen reibungslosen Wissenstransfer in der Zukunft zu ermöglichen.
Das oberste Ziel für KRITIS-Betreiber ist immer die garantierte Aufrechterhaltung der Systemverfügbarkeit. Zu den Kernaufgabe zählt also, das Fortwirken des Systems sicherzustellen, eklatante Schwachstellen auszumerzen und darüber hinaus Prozesse und respektive Funktionalitäten zu verschlanken. Langfristig soll das System auf einer modernen IT-Architektur fußen. Alle Ziele können nur im Verbund zu einer erhöhten Resilienz beitragen und das System langfristig effektiv, effizient und krisensicher machen.
Um in einem sehr komplexen System Struktur zu schaffen, wurde sich für eine Lösung der Softwareentwicklung entlang des strategischen Domain Driven Design (kurz: „DDD“) entschieden. Das ist im Grunde sehr simpel: Domänen werden definiert und Kernprozesse herausgearbeitet. Das Gute dabei ist: mit aufgebautem Domainwissen werden Entwickler:innen dazu befähigt, die Fachprozesse zu verstehen und eine einheitliche Projektsprache zu sprechen - sowohl was die Softwareentwicklung anbelangt als auch die Dokumentation betreffend. Das gewährleistet einen nachhaltigen Wissenstransfer.
Der Ansatz des DDD ist dementsprechend ein solcher, der aus der menschlichen Praxis heraus entwickelt wird, weniger ein solcher, der strikt auf die technischen Voraussetzungen und Limitationen referiert. Es soll vermieden werden, dass sich Nutzer:innen den technischen Gegebenheiten eines Systems anpassen müssen, viel eher sollen sich systemische Prozesse den Nutzer:innen anpassen. Da IT kein Selbstzweck ist, sondern vielmehr ein Mittel zur Erreichung anderer Ziele, sollen Entwickler:innen befähigt werden, einen jeweiligen Prozess innerhalb eines komplexen Systems bestmöglich technisch abzubilden. DDD liefert dabei ein Framework, das dabei hilft, rein technische und praktische Aspekte zu identifizieren, sie zu entflechten und ggf. zu ersetzen.
Durch das sukzessive Herausschneiden einzelner Funktionen kann ein zerfasertes IT-System auf den modernsten technologischen Stand gebracht werden - gleichzeitig wird der bestehende Monolith solange entsprechend gewartet, bis die Umstellung auf eine modulare Lösung abgeschlossen ist. Die sach- und fachgerechte systeminterne Komplexitätsreduktion kann dabei als wichtiger Faktor die IT-Resilienz betreffend gelten. Unnötige Funktionen und überflüssige Code-Residuen können die nachgelagerte Wartbarkeit langfristig ungemein erschweren. Zudem wird es durch die strukturelle Vereinfachung sowohl wesentlich einfacher, neue Mitarbeitende sorgfältig einzuarbeiten und sie adäquat an das System heranzuführen als auch eine nachhaltige Dokumentation zwecks zukunftssicheren Wissenstransfers zu garantieren.
Der Kunde wurde sowohl bei der Formulierung der generellen IT-Strategie als auch hinsichtlich der spezifischen Projektmanagement-Methode unterstützt. Bei der Projektmanagement-Methode wählte der Kritis-Betreiber in gemeinsamer Absprache eine agile Vorgehensweise bezüglich der Weiterentwicklung: in Anlehnung an das Framework Scrum wurden Kanban-Boards mit Priorisierung für Wartungsarbeiten eingeführt. So war es möglich, dem Kunden den besten Service zuteil werden zu lassen. Gerade ein Projekt mit einem hohen Komplexitätsgrad und zahlreichen Stakeholdern, die Koordination und Planung optimieren und für die ein regelmäßiger Austausch somit essenziell ist, profitiert ungemein von dieser Methodologie.