In der Softwareentwicklung hat sich die agile Methodik als eine der effektivsten Herangehensweisen herausgestellt, um den sich ständig ändernden Anforderungen des Marktes gerecht zu werden. Doch mit dem Übergang zu agilen Arbeitspraktiken verändern sich auch die Rollen und Verantwortlichkeiten der Qualitätssicherung (QA). In diesem Artikel werden wir uns mit diesen Veränderungen auseinandersetzen und zeigen, wie QA weiterhin einen Mehrwert für Projekte bieten kann, wenn das Team agiler wird.
Die häufigsten Merkmale einer agilen Transformation sind die verkürzten Lieferzyklen und der Schwerpunkt auf „Shift Left“, bei dem Testaktivitäten bereits in den frühen Phasen der Softwareentwicklung beginnen. Dies verändert nicht nur den Entwicklungsprozess und die technischen Werkzeuge im Team, sondern auch die Rollenerkennung.
Im klassischen Wasserfall Entwicklungsmodell wurden Tester oft als separate Einheit innerhalb eines Entwicklungsteams betrachtet, die sich ausschließlich auf die Qualitätssicherung konzentrierten. Diese Trennung zwischen Entwicklung und Qualitätssicherung war oft ineffizient und führte zu Silos, bei dem der Tester als Sicherheitsnetz agiert.
In einem agilen Umfeld hat sich jedoch die Arbeitsweise grundlegend geändert. Während die Rolle des Entwicklers eine Transformation durchläuft, gibt es auch Wandel in der Rolle eines Testers.
Agile Tester werden nicht mehr als „Qualitätspolizisten“ angesehen, sondern als integraler Bestandteil des gesamten Entwicklungsprozesses. Sie arbeiten in einem Funktionsübergreifenden Team eng mit Entwicklern, Produktmanagern und anderen Stakeholdern zusammen, um frühzeitig Feedback zu liefern. Es wird mehr Wert auf Pair Testing mit den Entwicklern gelegt. Ein ganzheitlicher Ansatz für die Qualität wird verfolgt, bei dem alle Projektbeteiligten für die Qualität und den Erfolg des Projekts verantwortlich sind.
Trotz dieser Veränderungen können jedoch einige Probleme auftreten. Einige Entwickler mögen keine End-to-End-Tests ihrer Arbeit und verlassen sich weiterhin auf Tester für Testaktivitäten. Die Tester fungieren weiterhin als Gatekeeper für die Qualität.
Um dies zu erreichen, müssen Tester ihre Herangehensweise ändern. Sie müssen sich von einer „tun“- zu einer „Coaching“-Rolle entwickeln. Um dies zu unterstützen, sind einige Änderungen in der Organisationsstruktur erforderlich.
Traditionelles Testen, bei dem Tester als Sicherheitsnetze agieren und Testing von der Implementierung getrennt ist, kann sich negativ auf die Qualität auswirken. Tester können stattdessen als Coaches agieren, in Teams zusammenarbeiten und Veränderungen fördern, um aufzuhören, die Stützräder für Teams zu sein.
Eine Stimme, die diese Veränderungen verkörpert, ist Conor Fitzgerald, der auf Konferenzen über den Übergang vom traditionellen zum modernen Testen spricht. Fitzgerald betont die Bedeutung von Teamarbeit und Zusammenarbeit, um Qualität zu steigern, Verschwendung reduzieren und letztendlich dazu beitragen, dass Teams effektiver arbeiten.
Fitzgerald spricht von den 3Ss und 3Cs, wobei er Tester ermutigt, sich den 3Cs zuzuwenden und sich von den 3Ss zu entfernen.
Die 3Ss sind:
Die 3Cs sind Coaching, Collaborate, Change.
Laut Fitzgerald sind Tester oft die Stützräder für das Team:
„Wir müssen immer darüber nachdenken, wann wir die Stützräder entfernen können und sicherstellen, dass das Team vollständig unabhängig sein kann.“
Die Modern Testing Principles bestehen aus 7 zentralen Punkten, die 2017 von zwei ehemalige Microsoft-Testveteranen Alan Page und Brent Jensen entwickelt wurden. Diese Regeln oder Ideen helfen agilen Testern, die nächste Stufe zu erklimmen und ihr gesamtes Team dazu zu bringen, sich für Qualität zu begeistern. Sie ermutigen Tester, nicht länger als Sicherheitsnetz für Entwickler zu fungieren, sondern in eine Coaching-Rolle zu schlüpfen, um allen zu helfen, zu lernen, wie man testet und hochwertige Ergebnisse erzielt.
Die sieben Prinzipien von Modern Testing sind:
In diesem Kontext hat sich eine neue Rolle herausgebildet: die des Quality Advocates. Ein Test Advocate ist mehr als nur ein Tester, in dieser Rolle steht man als Botschafter für Qualität im gesamten Entwicklungsprozess ein. Die Hauptaufgabe eines Quality Advocates besteht darin, sicherzustellen, dass das Team ständig bestrebt ist, hochwertige Software zu liefern, und dass Qualitätsaspekte in allen Phasen des Entwicklungszyklus berücksichtigt werden. Vor allem in Teams, in denen es deutlich mehr Entwickler als Tester gibt, müssen die Tester diese Rolle übernehmen, weil die Anzahl der Funktionen nicht zu bewältigen ist.
Abschließend möchte ich ein passenden Zitat von Aristoteles hinzufügen, das die Essenz der Qualität und ihres ständigen Strebens einfängt:
Qualität ist kein isoliertes Ereignis, das am Ende eines Projekts oder Entwicklungszyklus auftritt. Vielmehr ist es eine kontinuierliche Haltung und ein Verhaltensmuster, das jeden Schritt des Prozesses durchdringt. Tester und Entwicklungsteams sollten sich bemühen, Qualitätsstandards in ihre tägliche Arbeit zu integrieren, indem sie kontinuierlich nach Verbesserungen streben.
Malath Nagi
Senior QA Engineer & Trainer
at SimplyTest GmbH, Nürnberg
Software. Qualität. Testautomatisierung.
SimplyTest GmbH
Maxfeldstraße 5
90409 Nürnberg
Sie finden uns auf: