Anschauliche Stadt-Bilder
E-Post visualisiert Software-Landschaft
Wenn CIOs und IT-Verantwortliche Entscheidungen über ihre Anwendungs-Landschaften treffen müssen, ist nur eines sicher: Keiner kann so richtig sagen, wie der Zustand der IT wirklich aussieht, an welchen Stellen sich gefährliche Situationen entwickeln, die durch zusätzliche Tests entschärft werden müssen – oder wie sich eine Umstrukturierung einer Anwendung tatsächlich ausgewirkt hat.
Es liegt in der Natur von Software, dass sie hochkomplex und dazu nicht greifbar ist. Doch wie kann die IT die positiven Effekte ihrer Arbeit nachweisen und kommunizieren, wenn die Anwendungen weitgehend unsichtbar ist? Auch für Oliver Zeiler, CTO der E-Post, einem Geschäftsbereich der Deutschen Post AG, stand vor diesem Dilemma.
In einem Kraftakt hat er nun die Anwendungsentwicklung auf agile Prozesse umgestellt, monolithische Code-Komponenten zerschlagen und massiv in den Ausbau von Testabsicherung investiert. Kurz: Er hat in die Zukunftsfähigkeit der Anwendung investiert, damit die Geschäftsprozesse der E-Post weiterhin optimal, hoch skalierbar und robust durch die Software unterstützt werden können.
Einblicke in Status, Aktivitäten und Trends in den Anwendungslandschaften
Die Transparenz-Plattform des Potsdamer Unternehmens Software Diagnostics, einem Unternehmen, das aus dem Hasso-Plattner-Institut hervorgegangen ist, sammelt, analysiert und visualisiert sämtliche Daten, die im Rahmen einer Softwareentwicklung angefallen sind – vom Quellcode über die Entwicklungsaktivitäten bis hin zu Daten aus Bug- und Aufwands-Trackingsystemen.
Für die Visualisierung der Ergebnisse bedient sich das Unternehmen der Stadt-Metapher. In automatisch generierten Software-Karten erhalten IT-Verantwortliche in Echtzeit Einblicke über Status, Aktivitäten und Trends in ihren Anwendungslandschaften – und zwar in einer Darstellung, die auch den Unternehmensvorstand auf einen Blick die Notwendigkeit und die positiven Effekte einer Anwendungsmodernisierung erkennen und verstehen lassen.
CIO.de sprach darüber mit Oliver Zeiler, CTO der E-Post, und Johannes Bohnet, Geschäftsführer von Software Diagnostics.
CIO.de: Sie wollen mit Ihrer Anwendung mehr Transparenz schaffen. Wie funktioniert das?
Johannes Bohnet (Software Diagnostics): Bei der Softwareentwicklung besteht eine große Herausforderung darin, dass auch das Management frühzeitig mitbekommt, an welchen Stellen im Code die Risiken und Komplexitäten der Anwendungslandschaft versteckt sind, und in welche Aufgaben die Entwickler wie viel Zeit und Arbeit reingesteckt haben.
Software-Entwicklung ist so ähnlich wie Stadtentwicklung
Das Problem ist: Der reine Code ist eine Black Box. Mit unserer Hilfe können IT-Verantwortliche sehen, in welchen Anwendungen, Programmteilen oder Modulen die Risiken oder Produktivitätsbremsen schlummern und an welchen Stellen die Entwickler am Code arbeiten. So bekommen sie einen Einblick, in welche Bereiche der Aufwand und das Geld hinfließen und ob dies gerechtfertigt ist. Und man kann daraus objektive Entscheidungen ableiten.
Softwareentwicklung ist so ähnlich wie Stadtentwicklung. Man braucht hier wie dort einen Überblick über die Architektur und die Gebäude in der Stadt, über die Hot Spots und die Produktivitäts-Senken.
Oliver Zeiler (Deutsche Post): Man sagt ja, dass ein Entwickler rund 80 Prozent seiner Zeit damit verbringt, den Code zu verstehen. Die anderen 20 Prozent kann er dann Dinge entwickeln, verändern, oder Bugs fixen. Das bedeutet: Je weniger Komplexität sie im Code haben, desto schneller kann man sich in den Code hineindenken. Diese Komplexität kann man über die Plattform von Software Diagnostics sehr schön sehen.
CIO.de: Weniger Komplexität bedeutet mehr Zeit und weniger Kosten?
Bohnet: Ein CIO ist sehr froh, wenn es ihm gelingt, unproduktive Zeit in Produktivstunden umzuwandeln. Schon bei einem Prozent Produktivitätsgewinn ist das bei den Gehältern, die Entwickler im Jahr für ihre Arbeit bekommen, eine enorme Summe. Hinzu kommen eine schnellere Umsetzung und ein schnelleres time-to-market. Da liegt bisher eine Menge brach.
Wie kann man das schaffen? Indem man erkennt, an welchen Stellen im Code die Qualität erhöht werden muss Es handelt sich mitunter um kleine Eingriffe, die aber eine riesige Wirkung haben. Man muss eben nur wissen, wo man eingreifen muss.
Man sollte keinen Prachtbau auf ein verrottetes Fundament setzen
Bei größeren Maßnahmen gilt es, die Fachbereiche oder den Vorstand zu überzeugen, dass es nicht reicht, nur schöne, neue Glasbauten hochzuziehen, sondern dass man auch in die Instandhaltung investieren muss. Die Fachbereiche wollen sichtbare, neue Paläste.
Bei der Umsetzung heißt es dann, dass ich einen Prachtbau auf ein verrottetes Fundament, also ein verwachsenes, bestehendes System setzen muss. Das kann nicht gut gehen. Das ist aber nicht einfach, dies zu kommunizieren, denn wie gesagt, man kann die Verwachsungen im System ja nicht sehen. Diesen unsichtbaren Zustand, den machen wir sichtbar.
CIO.de: Sie setzen das Transparenz-Tool schon ein, Herr Zeiler.
Zeiler: Ich bin schon lange hinter der Software Diagnostics her. Früher war ich ja CTO bei Immobilien Scout 24 und wollte auch dort schon herausfinden, wo ich qualitativ hochwertige Codestellen habe und wo die Probleme liegen. Ich hatte ein großes zweijähriges Architektur-Verbesserungs-Programm aufgesetzt und wollte dann natürlich auch die Produktivitätssteigerung nachweisen.
Mit den von Herrn Bohnet beschriebenen Metaphern können Sie die Vorstände eher überzeugen. Das sind alles statische Code-Analyse-Ergebnisse. Die sind aber viel schöner aufbereitet, so dass es jedermann verstehen kann. Bilder sagen eben viel mehr als Zahlen.
Große rote Hochhäuser haben wir kleiner und schlanker gemacht
Herr Bohnet hat hier bei der E-POST meinen ganzen Source-Code bekommen, konnte ihn analysieren und dreidimensional darstellen. Ich habe die Methodik von Wasserfall auf ScrumScrum umgestellt, eine agile Entwicklungsmethode. Man sah dabei sehr schön, dass meine Maßnahmen gewirkt haben. Alles zu Scrum auf CIO.de
Große rote Hochhäuser haben wir kleiner und schlanker gemacht. Also: Die Komplexität hat sich reduziert. Die Entwickler sitzen deswegen nicht mehr so lange davor und die Fehlerwahrscheinlichkeit ist deutlich reduziert. Außerdem lässt sich der Wechsel der Entwicklungsmethodik sehr schön bei neuen Komponenten erkennen: Sie sind viel kleiner und deren automatische Testabdeckung ist deutlich höher.
CIO.de: So minimieren Sie auch die Risiken bei der Softwareentwicklung?
Bohnet: Aus Managementsicht ist es erhellend, an welchen Teilen dauernd etwas geändert wird. Dort liegen die Risiken. Die Produktivität sinkt, Zeit wird vergeudet, das Risiko, einen Bug hinein zu bringen, steigt.
Dazu kommen die Fragen: Wie sieht es mit dem Testsicherheitsnetz aus. Wo gibt es Lücken? Hochkomplex, Entwicklungshotspots und das Testnetz außen herum gestrickt? Dann habe ich dort ein großes Risiko. Das machen wir mit unserer Transparency Platform - Business IntelligenceBusiness Intelligence angewandt auf Softwareentwicklung - sichtbar, um die riskanten Stellen auf einen Blick zu erkennen. Alles zu Business Intelligence auf CIO.de
CIO.de: Welche Informationen führen Sie zusammen?
Bohnet: Wir haben hier die Infrastruktur, den Source-Code, die Versionierungs-Systeme, wir betrachten Tests, machen Aufwandstracking, Bugtracking und haben verschiedene andere Quellen für Softwareartefakt-Informationen. Die führen wir alle zusammen und führen per Data Mining Analysen durch, so dass man die Problemsituationen analysieren kann.
Das Android-Betriebssystem ist ausgedruckt 22 Stockwerke hoch
Der letzte Schritt ist dann die Visualisierung, so dass alle Stakeholder über alle Ebenen zum ersten Mal sehen können, woran sie eigentlich arbeiten. Auch die Entwickler wissen ja nicht, wie der Code aussieht, das ist unsichtbare Materie. Wenn man das Android-Betriebssystem ausdrucken würde, dann käme ein Papierstapel heraus, der so hoch ist wie ein Hochhaus mit 22 Stockwerken.
CIO.de: Gibt es viel Konkurrenz für Ihre Transparenz-Plattform?
Bohnet: Nein, Konkurrenz gibt es eigentlich nicht, weil wir in eine Lücke hineingestoßen sind. Warum? Ich glaube, Informationsvisualisierung und Softwareengineering sind schon in der akademischen Welt zwei getrennte Bereiche. Visualisierung gibt es viel eher woanders, in der Medizin oder in der Biologie. Am Hasso-Plattner-Institut war diese Verbindung ein Glücksgriff. Wir haben deswegen Kunden aus allen Branchen, aus dem Versicherungsbereich, im Bereich Automotive aber auch E-Commerce-Portale.