Das Scaled Agile Frameworks (SAFe) hilft Unternehmen dabei, die agile Transformation erfolgreich zu meistern. Doch es braucht auch wirksame Strategien, um Qualitätssicherung und Testing innerhalb von agilen Teams umzusetzen. Wirksame Maßnahmen sind zum Beispiel das Quality Coaching, um Qualitätslücken in agilen Teams zu identifizieren und die Förderung von Kommunikation und Zusammenarbeit im Team, um Inkonsistenzen und Fehler zu minimieren. Schon mit einfachen Maßnahmen können Organisationen ihre Entwicklungsprozesse effektiver machen und sicherstellen, dass Software qualitativ hochwertig ist.
In dieser Episode spreche ich mit Andreas Neumeister über Qualitätssicherung und Testing im Kontext von SAFe (Scaled Agile Framework). Andreas teilt seine Erfahrungen aus agilen Transformationen, betont die Wichtigkeit von Quality Coaching und beschreibt, wie Qualitätslücken in agilen Teams identifiziert werden können. Ein zentraler Punkt unseres Gesprächs ist die Verbesserung der Kommunikation und Zusammenarbeit zwischen den Teams, um Inkonsistenzen und Fehler zu minimieren und die Qualität der Software zu erhöhen.
“Wenn ein Epic, ein Feature oder eine Story innerhalb von zehn Minuten nicht so erklärt werden kann, dass man in fünf Minuten alle kritischen Fragen klärt, dann geht das Ganze zurück, weil es einfach noch nicht so weit ist.” - Andreas Neumeister
Andreas Neumeister ist studierter Wirtschaftsinformatiker und hat über 10 Jahre Erfahrung in der Software Qualitätssicherung. Als Director in der Beratung unterstützt er Kunden qualitativ hochwertige Produkte zu entwickeln, als Mitglied des German Testing Boards erarbeitet er gemeinsam mit dem GTB die Qualitätsstandards von morgen und als Speaker teilt er seine Erfahrung auf Messen und Events.
Eine agile Herangehensweise ist in vielen Organisationen mittlerweile der Status Quo in der Softwareentwicklung. Softwarequalität spielt dabei eine bedeutende Rolle, da sie in mehreren Bereichen maßgeblich zum Erfolg der Software beiträgt:
Die agile Transformation bringt jedoch spezifische Herausforderungen mit sich. Eine häufige Problematik sind die Qualitätssicherungslücken, die durch unterschiedliche Zuständigkeiten und Kommunikationsprobleme entstehen. Agile Entwicklungsteams müssen lernen, ihre Verantwortlichkeiten klar zu definieren und effektive Kommunikationswege zu etablieren.
Die Rolle der Qualitätssicherung in agilen Projekten umfasst nicht nur das Testen von Software, sondern auch die Förderung eines gemeinsamen Verständnisses von Qualität innerhalb des Teams. Qualitätssicherung muss proaktiv gestaltet werden, um sicherzustellen, dass alle Teammitglieder – von Entwicklern bis hin zu Testern – Verantwortung für die Qualität der Software übernehmen.
In der agilen Softwareentwicklung ist es wichtig, dass alle Beteiligten in Hinblick auf die Softwarequalität ein gemeinsames Ziel verfolgen und darauf basierend effektive Wege der Zusammenarbeit finden.
Bei der Scrum und SAFe-Methode unterscheidet sich die Qualitätsverantwortung maßgeblich.
Wenn die Scrum-Methode angewendet wird, liegt die Verantwortung für die Qualität primär im Team. Jedes Teammitglied, inklusive Entwickler und Tester, trägt zur Sicherstellung der Qualität bei. Dies erfolgt durch:
Im Gegensatz dazu verteilt SAFe die Verantwortlichkeit für Qualität auf mehreren Ebenen. Es gibt mehrere Schlüsselrollen auf die sich die unterschiedlichen Verantwortlichkeiten aufteilen:
In SAFe wird Qualität nicht nur innerhalb des Teams betrachtet, sondern auch in einem größeren Kontext. Die Integration von verschiedenen Teams erfordert ein klares Verständnis der Anforderungen sowie eine effektive Kommunikation, um sicherzustellen, dass alle am selben Strang ziehen. Die Verteilung von Verantwortlichkeiten auf mehreren Ebenen ermöglicht eine umfassendere Sicht auf die Qualitätssicherung im gesamten Entwicklungsprozess.
Die Koordination von Entwicklungs- und Testaktivitäten auf der Feature- und Epic-Ebene spielt eine entscheidende Rolle im SAFe-Umfeld. Diese Koordination ist notwendig, um sicherzustellen, dass alle Teammitglieder auf derselben Seite stehen, insbesondere wenn es um komplexe Anforderungen geht.
Durch strukturierte Workshops und regelmäßige Meetings kann die Zusammenarbeit verbessert werden. Solche Formate fördern den Austausch zwischen Entwicklern und Testern und unterstützen dabei, ein gemeinsames Verständnis für die Projektziele zu schaffen.
Quality Coaching spielt eine entscheidende Rolle in SAFe-Projekten. Die Aufgaben und Verantwortlichkeiten sind vielfältig und tragen maßgeblich zur Qualitätssicherung bei. Doch was machen Quality Coaches genau?
Quality Coaches koordinieren die Aktivitäten zwischen Entwicklern und Testern, um eine nahtlose Integration der Qualitätssicherungsmaßnahmen zu gewährleisten. Diese Zusammenarbeit ist essenziell, um Missverständnisse zu vermeiden und die Effizienz innerhalb des Projektes zu steigern. Hierbei kann auch KI und Testautomatisierung unterstützen, um Prozesse zu automatisieren und Ressourcen zu sparen.
Eine zentrale Aufgabe von Quality Coaches ist die Förderung einer positiven Arbeitsbeziehung zwischen den Teams. Workshops und gemeinsame Tests helfen, ein gemeinsames Verständnis für Anforderungen und Features zu entwickeln. Diese Prinzipien sind auch im Agilen Manifest verankert.
Quality Coaches helfen dabei, die Qualitätsverantwortung nicht nur auf den Schultern der Tester zu verteilen, sondern auf die des gesamten Entwicklungsteams. Ein effektives Quality Coaching schafft ein Umfeld, in dem alle Teammitglieder für die Produktqualität verantwortlich sind. Diese Verantwortung zu teilen, fördert das Engagement und führt zu besseren Ergebnissen im gesamten SAFe-Umfeld.
Die Effizienzplanung spielt eine entscheidende Rolle in der Softwareentwicklung. Ein Vergleich zwischen Wasserfall- und Agile-Methoden zeigt signifikante Unterschiede:
Diese Herausforderungen führen häufig zu Verzögerungen und Missverständnissen innerhalb der Teams. Insbesondere bei der Implementierung von Legacy-Systemen wird deutlich, dass die Integration neuer Funktionen in bestehende Systeme komplex ist und oftmals unterschiedliche Release-Zyklen zwischen modernen Microservices und alten Monolithen bestehen, was die Koordination erschwert.
Ein zentrales Problem ist auch das Fehlen eines einheitlichen Verständnisses über die Systemarchitektur. Das führt zu Ineffizienzen und erhöhtem Kommunikationsaufwand.
Um diese Herausforderungen zu bewältigen, müssen agile Teams Strategien entwickeln, um die Effizienzplanung zu optimieren und die Integration von Legacy-Systemenzu managen. Die Verantwortung dafür liegt nicht nur bei einzelnen Teammitgliedern, sondern erfordert eine gemeinsame Anstrengung aller Beteiligten. Hierbei kann ein Agile Coach unterstützen , indem er Teams und Führungskräfte in Agilität, Kommunikation und Prozessoptimierung schult.
Zudem ist es wichtig, ein Verständnis für Agilität im Allgemeinen zu entwickeln. Change Management hilft dabei, Veränderungen erfolgreich zu navigieren und sie mit strukturierten Ansätzen zu begleiten. Mehr Infos dazu gibt es im Artikel Post-agiles Zeitalter.
Eine gemeinsame Vision für die Qualitätssicherung im SAFe-Umfeld hilft dabei, dass das gesamte Entwicklungsteam Verantwortung für Qualität übernimmt. Wichtige Aspekte dieser Vision sind:
Ein Blick in die Zukunft zeigt, dass Qualitätspraktiken in agilen Umgebungen durch kontinuierliche Verbesserung geprägt sein werden. Entwicklungsteams sollten flexibel sein und ihre Ansätze zur Qualitätssicherung fortlaufend evaluieren und anpassen, um den Herausforderungen in der schnelllebigen Software-Branche gerecht zu werden. . Agilität bietet einen Rahmen, um diese Herausforderungen kreativ und innovativ zu meistern.
Um eine positive Qualitätskultur innerhalb von SAFe-Projekten zu schaffen, sollte ein Umfeld aufgebaut werden, in dem hohe Standards nicht nur erwartet werden, sondern auch realistisch erreicht werden können.
Weitere Informationen zur Rolle der Qualitätssicherung im agilen Umfeld sind im Buch Agile Testing zu lesen. In den folgenden Artikeln ist außerdem zu lesen, wie sich die agile Entwicklung auf das Testing auswirkt und welche neuen Ansätze zur Qualitätssicherung in agilen Projekten implementiert werden können.
Qualität im SAFe-Umfeld bedeutet, dass Softwareprodukte den Anforderungen und Erwartungen der Stakeholder entsprechen. Qualität beeinflusst nicht nur die Kundenzufriedenheit, sondern auch die Effizienz und Effektivität der agilen Transformation.
In Scrum sind alle Teammitglieder für die Qualität des Produkts verantwortlich, während in SAFe spezifische Rollen wie der Release Train Engineer und Quality Coach eine stärkere Verantwortung für die Qualitätssicherung übernehmen. Dies führt zu einer klareren Verteilung von Verantwortlichkeiten.
Herausforderungen bei der Koordination von Entwicklungs- und Testaktivitäten auf Feature-/Epic-Ebene sind beispielsweise Kommunikationsschwierigkeiten zwischen verschiedenen Teams, unklare Anforderungen sowie unterschiedliche Prioritäten, die zu Verzögerungen und Qualitätsproblemen führen können.
Ein Quality Coach im SAFe-Umfeld hat die Aufgabe, die Zusammenarbeit zwischen Entwicklern und Testern zu fördern, Best Practices für Qualitätssicherung einzuführen und das Team bei der kontinuierlichen Verbesserung ihrer Prozesse zu unterstützen.
Legacy-Systeme können erhebliche Herausforderungen für die Effizienzplanung in agilen Umgebungen darstellen, da sie oft unklare Anforderungen mit sich bringen und Anpassungen an bestehende Systeme erforderlich machen. Dies kann den Fortschritt verzögern und zusätzliche Ressourcen erfordern.
Eine Vision für Softwarequalität im SAFe-Umfeld ist wichtig, damit Entwicklungsteams eine gemeinsame Verantwortung für Qualität übernehmen. Dies erfordert ein gemeinsames Verständnis von Qualität über verschiedene Rollen hinweg sowie einen Ausblick auf zukünftige Entwicklungen in den Qualitätspraktiken innerhalb agiler Umgebungen.