Sobald ich über Testen in agilen Teams spreche und betone, dass Tester und Entwickler sehr eng zusammenarbeiten, bekomme ich immer die Frage gestellt: Was ist mit der Unabhängigkeit der Tester?
Die Unabhängigkeit ist besonders im Wasserfall- und V-Modell-basierenden Projekten ein wichtiger Baustein und eine Sicherheit für die Qualität des Produktes. Die Tester stellen die unvoreingenommenen Prüfer der Anforderungen und der Ergebnisse der Entwicklung dar. Sie validieren beides aus der Sicht der Nutzer und durch die Trennung von den Entwicklern erwartet man eine unbeeinflusste Arbeitsweise.
In einem agilen Entwicklungsteam arbeiten alle Beteiligten im Entwicklungsprozess eng zusammen. Das Team ist interdisziplinär aufgebaut und besteht aus Testern, Entwicklern, Designer. Quasi alles was für die Umsetzung der Lösung benötigt wird. Und das Team arbeitet Hand in Hand mit dem Kunden und dem Product Owner. Die vom klassischen Vorgehen geforderte Unabhängigkeit ist natürlich in einem agilen Entwicklungsteam nicht gegeben. Aber sie wird auch nicht mehr benötigt.
Das wurde mir wieder bewusst als ich vor ein paar Tagen im Planning eines Scrum-Teams saß und die Akzeptanzkriterien für eine Story definiert wurden: Es ging um das Löschen eines Artefaktes und speziell um die Sicherheitsabfrage vor dem Löschen. Als alter Testhase schlug ich dem Team vor, ein Akzeptanzkriterium bzw. eine Testidee für den Fall aufzunehmen, indem der Nutzer auf Abbrechen klickt und dann das Artefakt nicht gelöscht werden sollte. Prompt bekam ich die Antwort zurück: „Wieso? Das ist selbst verständlich und jeder Entwickler, der dies vergisst, kommt an den Pranger“. Die Antwort kam nicht von einem Tester, sondern einem Entwickler. Und das Team war genau derselben Meinung. Und wie versprochen, sahen die erstellten Testfälle den Sachverhalt vor und gingen natürlich auf grün, weil die Entwickler es korrekt umgesetzt hatten.
Die Unabhängigkeit der Tester in der alten Welt weicht einer „neuen“ Idee: Jeder bzw. alle Projektbeteiligten sind für die Qualität verantwortlich! Außerdem sorgt die Arbeit des Product Owners für die notwendige Einbeziehung der Kundensicht. Die Tester bringen geschultes Testvorgehen in das Team ein und die Entwickler teilen ihr Wissen über Programmierung. Die agilen Prinzipien sorgen dafür, dass die – der Entwicklung nachgelagerte – Prüfinstanz nicht notwendig ist und ich habe speziell für mein Scrumteam das Vertrauen, dass sie auch die weiteren Stories korrekt umsetzen werden.