Die „Tester-Tea-Time“ ist ein Beitragsformat auf diesem Blog, in dem Themen aufgegriffen werden, die Testerinnen und Tester tagtäglich beschäftigen. Gewisse Problemstellungen oder Themen kehren immer wieder, daher soll hier eine Basis geschaffen werden, solche Phänomene zu erläutern und Lösungen dafür zu finden. Zudem sollen Diskussionen und neue Denkweisen angeregt werden. Im Testing können wir viel voneinander lernen, indem wir unseren Alltag beobachten!
Moderator: Willkommen zur ersten Tester-Tea-Time! Im Interview mit Testerinnen und Testern der ZEISS Digital Innovation (ZDI) werden wir spannende Themen diskutieren.
Widmen wir uns nun dem heutigen Thema. Dazu sprechen wir mit Sandra Wolf (SW), Testerin bei ZDI. Worum geht es bei dem Mythos des „historischen Wachstums“?
SW: Versierte Testerinnen und Tester werden bei der Überschrift des Artikels wahrscheinlich ungewollt innerlich mit den Augen rollen. Denn was hier so geschichtsträchtig anklingt, ist für viele eine der häufigsten Antworten, die im Arbeitsalltag ihren Weg kreuzen. Sobald eine Abweichung in der Software gefunden wird, die nicht sofort behoben werden kann oder soll, wird dieser Ausspruch sehr gern verwendet. Beispiele für solche Abweichungen sind mangelhafte Benutzerfreundlichkeit und eine stetige Inkonsistenz in der zu testenden Software. Wird von Seiten der Testerinnen und Tester hier auf eine Verbesserung aufmerksam gemacht, erhalten diese von Teammitgliedern aus den Bereichen Entwicklung, Projektleitung o. a. gern die Antwort, dass diese bestimmte Auffälligkeit historisch so gewachsen wäre und daher kein Handlungsbedarf bestehe. Oft bleiben die um Qualität bemühten Testerinnen und Tester ratlos und frustriert zurück – wird ihnen doch keine Handlungsperspektive im Sinne ihrer Rolle aufgezeigt. Was hat es daher mit dem Ausspruch des „historischen Wachstums“ auf sich? Und wie kann damit professionell und effektiv umgegangen werden? Darum soll es heute gehen.
Moderator: Okay, das klingt interessant. Welche Auswirkungen hat denn dieses sogenannte „historische Wachstum“ auf das Projekt und deren Software?
SW: Von vielen Projektbeteiligten wird die Brisanz der Problemstellung verkannt. Das „historische Wachstum“ ist ein Ausweichen, denn tatsächlich verbirgt sich dahinter die Angst vor einer Erneuerung der jeweiligen Software, die mit weiterem Ignorieren jedoch unvermeidlich näher rückt. Gerade die im Laufe der Jahre erweiterten Software-Bestandteile entwickeln mehr und mehr Wechselwirkungen, wodurch der Wartungsaufwand und die Wartungskosten immer weiter steigen. Die verschiedenen Erweiterungen passen unter Umständen gar nicht mehr zusammen, haben weder eine einheitliche Bedienung noch ein einheitliches Design. Die Qualität der Software sinkt somit kongruent zur Kundenzufriedenheit. Eine innovative Weiterentwicklung wird zu diesem Zeitpunkt immer schwerer oder existiert gar nicht mehr. Werden all diese Fakten betrachtet, wird schnell klar, dass das „historische Wachstum“ über eine bloße Floskel hinausgeht und schwerwiegende Folgen für das jeweilige Unternehmen, Projekt und die Software selbst haben kann. Hier muss somit etwas getan werden und ein Umdenken stattfinden.
Moderator: Wie kann das Projekt dem „historischen Wachstum“ den Kampf ansagen?
SW: Die Befürchtung vieler Projektmitglieder bezüglich des „historischen Wachstums“ ist, dass dieses Problem einzig und allein dadurch gelöst werden kann, eine Software einzustampfen und komplett neu aufzuziehen. Dass das aber selten Sinn ergibt, kann sich jeder denken. Auch eine Rundumerneuerung einer Software wäre sehr kostenintensiv. Nun stellt sich die Frage, wie eine Lösung dieses Problems aussehen kann. Hier möchte ich darauf hinweisen, dass die Aufgabe des Testers nicht darin liegt, das „historische Wachstum“ selbst zu beseitigen oder unter Kontrolle zu bringen. Wir als Tester können lediglich den Anstoß für Veränderungen geben und sollten dies auch unbedingt tun, da wir eine wichtige Schnittstellenfunktion zwischen Entwicklung, Fachabteilung und Projektleitung einnehmen. Unsere Perspektive über den gesamten Prozess ist hier Gold wert. Wir haben einen umfassenden Überblick über alle Schritte des Prozesses, da wir an dessen Ende agieren.
Moderator: Wie könnte eine Lösung für das „historische Wachstum“ aussehen?
SW: Bei dieser umfangreichen Problemstellung bietet es sich an, die Lösung zunächst in kleineren Schritten voranzutreiben. Zuerst sollte der Kontakt zu einer passenden Ansprechpartnerin oder einem passenden Ansprechpartner, z. B. zur Projektleitung, gesucht werden, da eine Testerin oder ein Tester niemals über solche übergreifenden Projektthemen entscheiden kann. Im Gespräch mit dieser Person kann dann auf die Folgen und Risiken des „historischen Wachstums“ aufmerksam gemacht werden. Gemeinsam im gesamten Team sollte dann das weitere Vorgehen definiert werden. Vielleicht muss nicht die komplette Software erneuert werden, sondern es wird sich auf bestimmte Teilbereiche der Anwendung beschränkt. Auch hier können Testerinnen und Tester wichtiges Wissen aus ihrem Alltag beisteuern. Die Entwicklung des gesamten Projekts muss beachtet werden und auch, welche Teilbereiche zuerst entstanden sind. Ziel des Gesprächs ist es, auf das Problem aufmerksam zu machen und somit den Anstoß für Veränderungen zu geben, um die Qualität der Software wiederherzustellen. In welcher Form das geschieht – beispielweise auch durch externe Unternehmen – muss ebenfalls entschieden werden. Für uns als Tester ist dies aber eine Gelegenheit, übergreifend zur Qualität der zu testenden Software beizutragen. Denn das Wichtigste ist am Ende, dass das sehr weitreichende Thema des „historischen Wachstums“ nicht mehr als Ausrede gilt, sondern endlich im Projekt platziert wird.
Moderator: Eine Lösung kann somit nur gemeinsam gefunden werden. In diesem Zusammenhang interessiert uns auch die Perspektive eines Entwicklers. Dazu sprechen wir nun mit Hendrik Lösch (HL), Software-Architekt bei ZDI. Welche Lösungsansätze siehst du für das „historische Wachstum“?
HL: Ich selbst würde es nicht als „historisches Wachstum” bezeichnen, da dies impliziert, dass das Wachstum in der Vergangenheit liegt. Ich spreche allgemeinhin lieber von “Softwareevolution”. Denn Wachstum ist immer vorhanden, problematisch wird es erst dann, wenn die Strukturen der Software ungewollt mutieren. Wir bezeichnen diese Mutationen auch als technische Schulden da sie zukünftige Investitionen in die Restrukturierung notwendig machen und dadurch Mittel binden, die nicht in wertsteigernde Maßnahmen fließen können. Je weiter man diese Restrukturierungen aufschiebt, desto schwerer sind sie durchzuführen. Aus dieser Richtung kommt dann wahrscheinlich auch das „historische Wachstum”. Es ist eben über die Zeit gewachsen und niemand weiß mehr genau warum. Um dieses Problem zu lösen, bedarf es einer Tiefenanalyse der Strukturen, bei der erfahrene Softwarearchitekten die Ist-Architektur ermitteln. Anschließend wird eine Soll-Architektur erstellt und ein Weg skizziert, um vom einen zum anderen zu gelangen. Mit dem Health Check bieten wir als ZDI hier ein geeignetes Verfahren an.
Moderator: Danke, Sandra und Hendrik für eure aufschlussreichen Ausführungen. Wir können somit zusammenfassen, dass die Problematik des „historischen Wachstums” durchaus eher ein Mythos ist. Wachstum ist nämlich stets vorhanden, allerdings kann es durch fehlende Struktur problematisch werden. Dafür gibt es aber nicht nur Handlungsbedarf, sondern auch konkrete Strategien zur Bewältigung. ZDI selbst bietet diese heute schon im Portfolio an.
In den folgenden Beiträgen werden wir weitere Problemstellungen aus dem Alltag von Testerinnen und Testern aufgreifen und besprechen, welche möglichen Lösungsansätze es dafür gibt.