Techniker Krankenkasse Kerngesunde Software bei der Techniker Krankenkasse

Autor / Redakteur: Dr. Johannes Bohnet / Nico Litzel

Wie hält man zig Millionen Zeilen Quellcode fit? Indem man sie dank bildgebendem Verfahren im Blick hat, statt sich durch ellenlange Listen zu hangeln. Mit Seerene des gleichnamigen Unternehmens aus Potsdam hat die TK ein Instrument im Einsatz, mit dem sie ihr zentrales Softwaresystem „TKeasy“ kontinuierlich auf Herz und Nieren überprüfen kann.

Anbieter zum Thema

Mithilfe von Seerene hat die Techniker Krankenkasse ihr operatives System „TKeasy“ umfassend im Blick. Verantwortlich dafür sind Business-Intelligence-Methoden, die alle Rohdaten miteinander verknüpfen und auswerten können.
Mithilfe von Seerene hat die Techniker Krankenkasse ihr operatives System „TKeasy“ umfassend im Blick. Verantwortlich dafür sind Business-Intelligence-Methoden, die alle Rohdaten miteinander verknüpfen und auswerten können.
(Bild: Techniker Krankenkasse)

„Ich möchte das Innenleben unseres zentralen operativen Systems schnell überblicken können“, diese Vorgabe hat Dr. Frank Griffel, Leiter IT-Systeme bei der Techniker Krankenkasse, gesetzt. Um das sozialversicherungsrechtliche Kerngeschäft abzubilden, hatte die „Techniker“ vor vierzehn Jahren die selbst entwickelte, auf Java-4-Schicht basierende IT-Architektur „TKeasy“ in Betrieb genommen und seitdem stets technisch und fachlich, aber auch architektonisch, „auf dem Laufenden“ gehalten. Für die Krankenkasse bedeutet das: Die Mitarbeiter können alle Funktionalitäten auf der eigenen IT-Lösung umsetzen – unabhängig von Hersteller-Produktzyklen.

Aber 14 Millionen Zeilen Code und täglich 54 Milliarden Objekttransaktionen bedeuten auch eine große Herausforderung – etwa in Hinblick auf das Abhängigkeitsmanagement im Rahmen der Architekturpflege. Wird beispielsweise im Code ein Geschäftsobjekt wie der „Versicherte“ geändert, weil eine gesetzliche Regelung neue Randbedingungen schafft, wirkt sich das unter Umständen auf andere Stellen im Code aus – objektorientierte Kapselung hin oder her.

„Strukturelles Altern“ wird zum Problem

Zudem gilt: Je mehr Abhängigkeiten den Code in sich verknüpfen, desto starrer wird das System gegenüber Änderungen und Weiterentwicklungen, was wiederum die Kosten für die Pflege in die Höhe treibt und Qualitätseinbußen mit sich bringen kann. Dieses „strukturelle Altern“ ist heute zwar ein erkanntes, aber immer noch häufig unterschätztes bzw. vernachlässigtes Thema – allerdings nicht bei der TK.

Um solche Abhängigkeiten also schnell aufzudecken, sich für externe Reviews vorzubereiten, in erster Linie aber um die Software so darzustellen, dass das Management die Ergebnisse richtig und rasch einschätzen kann, suchten Dr. Griffels Systemspezialisten nach einer Lösung, die die Handhabung der Komplexität des Systems entsprechend unterstützt.

„Wir beobachten kontinuierlich den Markt und haben mehrfach externe Software evaluiert, um eine Lösung zu finden, die in der Lage ist, überhaupt erst einmal den gesamten Code einzulesen und anschließend die Code-Realität für alle Beteiligten sinnvoll darzustellen“, so Frank Griffel, für den es entscheidend war, dass die Analysen notfalls auch gänzlich ohne externe Unterstützung durchgeführt beziehungsweise eigene Analyse solchen neutral gegenübergestellt werden können.

Dreidimensionale Stadtkarte

Heute ist dieses Ziel erreicht. Seit Juni 2013 setzt die IT der Krankenkasse hierzu Seerene ein. Das Besondere an der Lösung: Sie stellt die Software-Landschaft in Form einer dreidimensionalen Stadtkarte dar. Ihr können die IT-Verantwortlichen jederzeit mit einem Blick entnehmen, wie hoch die Komplexität des Codes ist, in welchen Komponenten sich „Incidents“ häufen oder ob man „Wissens-Risiken“ durch komplexe Codestellen hat, über die zum Beispiel nur ein Entwickler Bescheid weiß.

Die Häuser in der Karte sind mit verschiedenen Farben hinterlegt: Blaue Einfamilienhäuser bedeuten zum Beispiel „alles in Ordnung“, bei orangefarbenen Gebäuden sind regelmäßige Kontrollen ratsam. Befindet sich in der Karte ein rotes Hochhaus, sollte direkt gehandelt werden. Dabei handelt es sich zum Beispiel um Teile, die große, monolithische Strukturen aufweisen, eine hohe Komplexität mitbringen und zudem häufig geändert werden.

Für die Logik der Stadtkarten sorgen im Hintergrund Business-Intelligence-Methoden, die alle Rohdaten miteinander verknüpfen und auswerten können, die im Laufe der Entwicklung angefallen sind. Zu ihnen gehören unter anderem der Quellcode, der auf seine Anpassbarkeit und Verstehbarkeit und damit auf seine Zukunftsfähigkeit hin vermessen wird, Repositories beispielsweise für das Konfigurations- oder Änderungsmanagement genauso die der Issue- oder Bug-Trackingsysteme.

Qualitätssicherung von Release-Einspielungen

Ebenso einbezogen werden kann, welche Codeteile durch automatisierte Tests abgesichert sind und welcher Code überhaupt von den Endnutzern gebraucht wird. Alle diese Parameter lassen sich auf die zur Verfügung stehenden Dimensionen (3D und Farbe) des „Stadtpanoramas“ abbilden. „In dieser Abbildung der Dimensionen liegt auch der größte Aufwand in der Einführung und Konfiguration von Seerene, zugleich macht genau diese Flexibilität das Werkzeug aber so mächtig für den Anwender“, sagt Dr. Griffel. Eingesetzt wird die Lösung von der TK aber nicht nur zur Suche von Abhängigkeiten. Auch wenn es um die Qualitätssicherung von Release-Einspielungen gibt, kommen die „Software-Städte“ ins Spiel. Fünfmal im Jahr, zu jedem Release, erfolgt eine komplette Aufnahme des Istzustands mit anschließendem Vergleich zum frisch eingespielten Release, um eine schnelle Erfolgsbetrachtung zu ermöglichen.

„Es macht einen großen Unterschied, ob man ellenlange Change-Listen oder zwei Softwarekarten betrachtet“, so Dr. Griffel. „Es müsste von möglichst vielen, gerade bekannteren Softwaresystemen solche ‚Stadtpläne‘ geben“, sagt der IT-Leiter, „denn dann ließen sich Eigenentwicklungen anderen Strukturen direkt und rasch gegenüberstellen, um z. B. etwas über den Einfluss von Entwicklungsmethoden oder Architekturentscheidungen zu lernen oder einfach nur die – positive – Komplexität eines Systems zu rechtfertigen. Um das bereits angespro¬chene Altern von Systemstrukturen zu verfolgen, wäre sicherlich auch eine Langzeitdokumentation mit den Möglichkeiten von Seerene interessant.“

Missen möchte er die Karten, mit denen die Software-Landschaft visualisiert wird, jedenfalls nicht: „Es ist beeindruckend unser System wie eine große Stadt vor sich zu sehen. Andere grafische Aufbereitungen, die wir kennengelernt hatten, sind weit weniger intuitiv zu erfassen – von einem Quellcode-Ausdruck ganz zu schweigen“, so Griffel. „Durch Seerene lässt sich viel Zeit sparen, gerade im Aufspüren erster Trends und dem Erhärten von Verdachtsmomenten im Fehlerfalle. Somit handelt es sich um eine willkommene Möglichkeit, klassische Softwareentwicklungsprozesse zu ergänzen, um die Nachhaltigkeit und Agilität unserer Software zu erhalten. Und das ist für solche langfristigen und umfangreichen Eigenentwicklungen das Wichtigste: im Kern gesund bleiben.“

Dieser Artikel erschien zuerst auf unserem Schwesterportal BigData Insider.

Artikelfiles und Artikellinks

(ID:44222186)