I
n unserer Scrum-Blogserie erläutern wir dieses Mal, wie sich die Qualität für jedes Backlog Item definieren lässt. Dadurch optimiert das Scrum-Team die Arbeitsabläufe von Testanalysten und Entwicklern und stellt den Wertbeitrag neuer Features sicher.
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