Topic » Audit Topic » Quality Control Target Group » Software Managers
Softwarequalität Bottom-Up – dmTECH macht's vor!
 

Li Yang Wu und seinem Team bei dmTECH ist es gelungen, ihr Management von Investitionen in die Produktqualität zu überzeugen, obwohl die Probleme noch nicht nach außen sichtbar waren. Lesen Sie hier, wie es dazu kam, oder sehen Sie Aufzeichnung des CQSE Software Intelligence Talks am 10. Mai (10:30-12:00 Uhr) von Li Yang Wu (dmTECH) und Dr. Nils Göde (Head of CQSE Softwareaudit)!

 

Schon mal im Spagat zwischen neuen Features und Qualität gestanden? Natürlich weiß jeder, dass Qualität wichtig ist. Aber das schöne neue Feature scheint dann akut doch viel dringlicher. Und wenn letztes Mal noch ein Feature mehr rein ging, dann doch auch dieses Mal! Und schwupps ist er da, der schleichende Verfall der Qualität zugunsten schnellerer Feature-Entwicklung. Die Rechnung kommt später.

 

Qualität in einem Softwaresystem entsteht zuallererst von unten. Im Team. Durch die Personen, die den Code schreiben und testen. Weder Management noch Entwicklungsprozess noch irgendwelche Werkzeuge können nachhaltig Qualität erzwingen, wenn das Team nicht mitspielt. Umgekehrt spürt das Team auch zuerst die Auswirkungen des besagten schleichenden Verfalls. Wenn die Weiterentwicklung gefühlt immer mühsamer wird und die Analyse von Produktionsfehlern zunehmend schwerfällt, muss gegengesteuert werden. Auch wenn die Probleme von außen noch unsichtbar sind! Denn sind sie erstmal sichtbar, ist es meist schon zu spät…

Anfang 2021 fanden sich Li Yang Wu und sein Produktteam bei der dmTECH GmbH (der 100%igen IT-Tochter von dm-drogerie markt GmbH & Co.KG) in genau dieser Situation wieder. Das Team entwickelt ein inzwischen 25 Jahre altes Softwaresystem mit ca. 1,6 MLOC PL/SQL und 1 MLOC Java. Das System wurde ursprünglich als Standardlösung eingekauft, über die Jahre allerdings so stark angepasst, dass ca. 80% des ausgeführten Codes heute Eigenentwicklung sind.

Im Team war allen klar, dass es Probleme mit der Qualität dieses Softwaresystems gab und diese größer wurden. Gleichzeitig war auch klar, dass hohe Qualität Voraussetzung ist, um nachhaltig kontinuierliche Neuerungen und Optimierungen umzusetzen und damit den Anforderungen des Kunden nachzukommen. Allerdings war das Team weiterhin erfolgreich und profitabel, die wachsenden Probleme also für das Management bisher weitgehend unsichtbar.

Wie also eine höhere Priorität des Themas »Softwarequalität« motivieren?

Kommunikation und ein schrittweises Vorgehen waren der Schlüssel zum Erfolg.

So gelang es Li Yang Wu zunächst, durch kleinere Modernisierungsprojekte (z.B. rund um Continuous Integration und Continuous Delivery) das Thema Softwarequalität auf der Tagesordnung zu halten. Außerdem konnte er damit aufzeigen, dass unsaubere Softwarestrukturen solche Modernisierungen ausbremsen und verteuern

Nicht zuletzt dank der dm-Unternehmenskultur, die auf Ver- und Zutrauen basiert, konnte Li Yang Wu dann im nächsten Schritt seine Vorgesetzten von einem Softwareaudit durch die CQSE überzeugen, um eine neutrale Bewertung der Zukunftsfähigkeit des Softwaresystems zu erlangen.

Mit der Durchführung des Audits wurden wir zwischen April und Juni 2021 beauftragt. Den Audit extern durchführen zu lassen, etablierte dabei die Auditor:innen als neutrale Instanz gegenüber allen Beteiligten: Dem Produktteam, dem IT-Management und der Fachabteilung als Kunden.

Auch die Art und Weise, wie der Softwareaudit durchgeführt wurde, war essentiell für den Erfolg des Vorhabens. Rückblickend sagt Herr Wu: “Unser System wurde chirurgisch zerlegt: sachlich, präzise, methodisch professionell und direkt. Dadurch wurden die Eigenschaften unseres Systems transparent und ohne Missverständnisse dargelegt … was letztlich die Überzeugungskraft der Auditergebnisse ausmachte.”

Und überzeugt haben sie.

Das Produktteam selbst, dem ja prinzipiell bewusst war, dass es Probleme gab, erhielt eine konkrete Liste von Stärken und Herausforderungen und eine Einschätzung von deren Ausmaß, wodurch aus einem durchmischten Bauchgefühl plötzlich ganz konkrete Themen wurden, die man diskutieren und angehen konnte.

Das IT-Management erhielt Einblick in die verschiedenen Handlungsfelder, sowie eine Einschätzung der langfristigen Implikationen und strategischen Aspekte. Die vorherrschende Reaktion: Erleichterung! Darüber, dass inhärente Probleme frühzeitig erkannt und angegangen wurden.

Die Folge war hohe Investitionsbereitschaft in die Zukunft des Produkts. Herr Wu findet dabei am wertvollsten, “dass alle Produktbeteiligten nun an einem Strang ziehen und alle gemeinsam mit vollem Elan an der technischen Modernisierung des Produktes mitwirken.” Gleichzeitig sei die Kommunikation über Entwicklungen und Aktivitäten zwischen den Beteiligten insgesamt offener und transparenter geworden.

So konnte im zweiten Schritt ein Strategiepapier mit konkreten Maßnahmen erarbeitet werden.

Kurzfristig wurden akute Probleme mit Security- oder Compliance-Auswirkungen gelöst. Und, mit Blick in die Zukunft, im Produktteam eine Rolle mit Security-Fokus besetzt.

Mittelfristig wird Know How im Produktteam aufgebaut, um ein besseres Gefühl für Softwarequalität zu bekommen und sicherzustellen, dass die Qualität des Systems zumindest nicht schlechter wird. Mit Hilfe der statischen Codeanalysen unserer Analyseplattform Teamscale wird dafür inzwischen die Qualität des Softwaresystems fortlaufend erfasst und deren Entwicklung in einem Quality-Control-Prozess überwacht. Wobei das Produktteam seine selbst gesteckten Ziele sogar übertrifft: Nicht nur, dass sich die Qualität nicht verschlechtert, die Findings der zahlreichen Analysen sind sogar rückläufig und die Qualitätsmetriken zeigen einheitlich nach oben.

 

 

Langfristig soll auf ein neues Softwaresystem migriert werden, um das Bestandssystem vollständig abzulösen. Die Vorbereitungen darauf sind bereits in vollem Gange. So wurde beispielsweise eine umfangreiche Anforderungsanalyse durchgeführt, eine Auswahl an vorhandenen Standardlösungen evaluiert und eine mögliche Eigenentwicklung prototypisch angegangen, um die Alternativen gegeneinander abwägen zu können.

Die Motivation ist hoch und der Fortschritt deutlich erkennbar. Li Yang Wu freut diese Entwicklung sehr. Für ihn steht fest, dass das von ihm bottom-up eingeforderte Softwareaudit ein wesentlicher Meilenstein war, um derartige Investitionsbereitschaft in die Zukunftssicherheit des Produkts zu schaffen. Er empfiehlt deshalb ein solches Audit, “wann immer Softwarequalität ein strategischer Baustein im Produkt ist. Denn dann sollte dies auch eine Kernkompetenz des Produktteams sein, die sich nur durch die Auditierung unbeteiligter Dritter weiterentwickeln kann.”

 

Sie würden gerne mehr wissen? Sehen Sie sich hier die Aufzeichnung des CQSE Software Intelligence Talks an! Li Yang Wu spricht gemeinsam mit Dr. Nils Göde (Head of Softwareaudit bei der CQSE GmbH) im Detail über seine Erfahrungen und das Vorgehen.