Blog / COMPANY - QUALITÄT IN SCRUM
SCRUM@FLS – DIE DEFINITION VON QUALITÄT IN EINER SCRUM-UMGEBUNG
8. Oktober 2021
Tim Hartnack
Wenn es darum geht, ein wertschaffendes Software-Inkrement zu liefern, ist die Qualitätskontrolle ein wesentlicher Faktor. (Ein Inkrement “ist ein potenziell auslieferbares Produkt, das am Ende eines Sprint nach der ‘Definition of Done’ entstanden ist. Es ist neben dem Sprint Backlog und dem Product Backlog das dritte der drei Artefakte in einem Scrum Projekt.” – Agile Heroes)
Die Quantität der Features, die ein Scrum-Team in einem Sprint liefern soll, ist verhandelbar, die Qualität der Software jedoch nicht. Alle Inkremente, die ein Scrum-Team liefert, müssen eine Qualitätskontrolle einschließen.
Da jedes Team so besetzt ist, dass es in jedem Sprint einen echten Wert liefern kann, ist der Qualitätsaspekt Teil der Crossfunktionalität jedes Teams. Die Teams schätzen den erwarteten Aufwand und die Komplexität eines Backlog Items, bevor sie es in einen Sprint aufnehmen. Diese Schätzung sollte immer auch den Aufwand und die Komplexität des Testens mit einbeziehen.
TESTSTRATEGIE IM BACKLOG REFINEMENT
Häufig betrachten Scrum-Teams das Testen und die Qualität schlicht als gegeben. Schließlich ist die Qualität bei der Anwendung von Scrum Teil des Prozesses und daher müssen sich die Teams nicht darum kümmern. Fragt man Teams nach dem Testen, verweisen sie oft auf ihre Definition von "done". Diese Definition besagt zwar, dass Tests durchgeführt werden müssen, bevor ein Inkrement ausgeliefert wird. Sie sagt aber nichts darüber aus, wie das Testen zu geschehen hat.
Darum ist es ein wichtiger Teil des Refinements der Backlog Items, über die Teststrategie zu sprechen. Das Entwicklungsteam muss die von ihm gewählte Strategie als Teil des Backlog Items niederschreiben. Da das Refinement effektiv und so kurz wie möglich sein soll, sollte das Team die Strategie nur bis zu dem Punkt erörtern, an dem es den Aufwand abschätzen kann.
DIE LEVELS DER QUALITÄTSSICHERUNG
Während des Refinements kann jeder QS-Experte in einem Scrum-Team die Perspektive eines Anwenders einnehmen und über Anwendungsfälle und Randfälle der Nutzung nachdenken. Diese Perspektive liegt oft nicht im Fokus der Entwickler.
Man muss wissen, dass Qualitätsexperten in einem Scrum-Team nicht die Software-Tester des Teams sind. Sie kümmern sich vielmehr um die Qualität des Gesamtprozesses. Daher besprechen sie mit den Entwicklern, welches Level an Qualitätssicherung für jedes Produkt im Backlog erforderlich ist. Die unterschiedlichen Levels sind:
- Automatisierte Unittests
- Automatisierte Integrationstests
- Automatisierte End-to-End-Tests
- Automatisierte Systemtests
- Manuelle Tests
WÄHREND DER ENTWICKLUNG
Als Teil des Scrum-Entwicklungsteams sind die Qualitätsexperten sehr nah an der Entwicklung. Dies bietet den Vorteil sehr kurzer Feedbackschleifen bei der Wertschöpfung. Die Codebasis des Produktionscodes und des Codes für die Qualitätssicherung müssen daher so nah beieinander liegen wie Entwickler und QA.
Wenn Tester und Entwickler in der gleichen Versionskontrolle arbeiten, kann die Qualitätssicherung bereits früh mit dem Testen beginnen und Bugs früh finden. Die Entwickler können die Fehler einfacher und schneller während der Entwicklung beheben. Das maximiert den Wert des Inkrements, da der Aufwand für die Behebung von Fehlern, die sich bereits in der Produktion befinden, reduziert wird.
QUALITÄT IN DER DEFINITION VON "DONE”
Die Definition von "done" ist ein Katalog von Eigenschaften, die ein Sprint-Backlog-Item erfüllen muss, damit das Team es als fertiggestellt akzeptiert. Diese Definition von "done" gibt das Team selbst. Scrum-Teams neigen dazu, den Qualitätsaspekt in der Definition von "done" sehr oberflächlich zu lassen, da sie schreiben, dass das Backlog Item getestet werden muss.
Eine detaillierte Strategie zum Testen innerhalb der Definition von "done" reduziert jedoch die Komplexität für jedes Backlog Item. Die spezifischeren Eigenschaften können wie folgt sein:
- Akzeptanzkriterien wurden manuell getestet (besser automatisch, wenn möglich)
- Neue aussagekräftige automatische Tests für neuen Code sind geschrieben worden
- Vier-Augen-Prinzip: Neuer Code wurde von mindestens zwei Entwicklern geprüft und abgenommen (durch Review oder Pair Programming)
VON ANFANG AN AUF QUALITÄT ACHTEN
Die Lieferung eines qualitativ hochwertigen Backlog Items beginnt bereits beim ersten Auftreten innerhalb des Scrum-Prozesses des Teams: dem Refinement. Schon in diesem frühen Stadium stellt das Team die Weichen, indem es eine erste Teststrategie definiert.
Dieser frühe Fokus und die Aufrechterhaltung der Qualität bis zum Ende sichert eine angemessene Qualität für jedes einzelne Backlog Item. Das Nachdenken über Qualität auf jeder Ebene der Erstellung werthaltiger Inkremente erfordert ein Qualitätsdenken des gesamten Scrum-Teams, einschließlich Product Owner und Entwickler sowie aller Qualitätsexperten.
WEITERFÜHRENDE LINKS:
Lesen Sie hier Teil 1 der Serie "SCRUM@FLS".
Scrum-Rollen im Porträt: Der Scrum Master
Lust auf Scrum bei FLS bekommen? Zu unserem Karriere-Portal geht es hier entlang