Die hohe Kunst des agilen Testens

Im Gegensatz zu gängigen Vorgehensmodellen wie dem Wasserfallmodell erfolgt bei Scrum die Entwicklung in kurzen sich wiederholenden Intervallen, den so genannten Sprints. Sämtliche Aktivitäten sind eng terminiert und dienen der unmittelbaren Vorbereitung der jeweils nächsten Aktivität. User Stories ersetzen die sonst üblichen Lasten- und Pflichtenhefte. Nach jedem zwei bis vier Wochen umfassenden Sprint steht bei Scrum die Lieferung einer lauffähigen Software. Eine Auslieferung an den Kunden sollte grundsätzlich möglich sein.

Der größte Unterschied zwischen klassischen und agilen Modellen ist die Art und Weise wie die Teams im Projekt aufgebaut sind. Während in hierarchischen Modellen die Koordination des Teams von oben nach unten gestaltet ist, liegt der Hauptfokus bei agilen Teams in der Kooperation der Teammitglieder untereinander. Eine wichtige Rolle im Scrum-Team ist die des Scrum Masters. Er ist dafür verantwortlich, dass das Team möglichst ungestört innerhalb eines Sprints arbeiten kann und auftretende Behinderungen möglichst schnell aus dem Weg geräumt werden. Eine zweite zentrale Rolle ist die des Product Owner. Seine Aufgabe ist es, die Anforderungen aus Kundensicht in Form von User Stories zu formulieren und die Software nach jedem Sprint abzunehmen.

Abb. 1: Im klassischen Projekt ist das Testteam hierarchisch organisiert, im Scrum-Team ist der Tester ein Teammitglied zusammen mit Entwicklern

Ein zentraler Punkt ist damit das Zusammenspiel im Team. Hierbei ist darauf zu achten, dass sich das Team selbst organisiert. Scrum Master und Product Owner sollen das Team unterstützen, haben aber nicht die klassische Rolle des Projektleiters. Wann welche Aufgaben innerhalb eines Sprints erledigt werden, entscheidet das Team.

Der Scrum Master achtet darauf, dass niemand in den Prozess der Selbstorganisation eingreift, das Team in seiner Arbeit beeinflusst oder Verantwortlichkeiten beansprucht, die ihm nicht zustehen. Und genau hier beginnen die Herausforderungen für die Testorganisation.

Die zentrale Herausforderung für den Test

In klassischen Projekten verantwortet der Testmanager die Planung, das Controlling und die Koordination des Testing. Er ist zentraler Ansprechpartner für den Kunden und letztendlich verantwortlich für die Qualität des Softwareprodukts. Das Testteam agiert innerhalb von einem Projekt als eigenständiges Teilprojekt, das sich meist über den Testmanager oder in verschiedenen Meetings mit den anderen Teilprojekten abstimmt. Der Test-Engineer innerhalb dieses Teilprojekts ist dem Testmanager untergeordnet und operativ tätig. Er leitet beispielsweise Testfälle aus Anforderungen ab, erstellt Testautomatisierungsskripte oder generiert für die Durchführung erforderliche Testdaten.

Bei Scrum allerdings verschwimmen die Rollen des Testmanagers und des Test-Engineers aufgrund der Teamorganisation stark. Zusätzlich zu den fachlichen und technischen Anforderungen an die Test-Engineers im Scrum-Team gewinnen bestimmte Softskills signifikant an Bedeutung.

Da gute Test-Engineers schwer zu finden sind und diese nun bei Scrum-Projekten vor neuen Herausforderungen stehen, ist es umso wichtiger, die Fähigkeiten der eigenen Mitarbeiter zu evaluieren und durchdachte Weiterbildungsmaßnahmen zu etablieren. Welche Eigenschaften sind nun essenziell in der agilen Softwareentwicklung?

Wie beim Yoga stützt sich ein exzellenter Test-Engineer in der agilen Softwareentwicklung auf drei Fähigkeiten: Flexibilität, Stärke und Balance.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.