Braucht man noch Testmanagement im agilen Projekt? Ist ein Testmanager im agile Testing notwendig? Diese Fragen bekomme ich immer wieder gestellt. Meine Antwort ist ganz eindeutig: Kommt drauf an. Nämlich darauf, welche Aufgaben man von dieser Rolle im Team benötigt und als hilfreich ansieht. Und wer diese Dinge im Team übernehmen kann.
Das ISTQB definiert den Testmanager als “Die Person, die für das Projektmanagement von Testaktivitäten und Testressourcen und für die Bewertung eines Testobjekts verantwortlich ist.”
In einem professionellen Projektumfeld – egal ob traditionell oder agil – gibt es qualitätssichernde Aufgaben. Im traditionellen Ansatz erfüllt ein Testmanager mit dem Fokus der Testplanung und –steuerung viele dieser Aufgaben. Im agile Team tragen alle die Verantwortung für Qualität. Auch hier gibt es diese Aufgaben, wenn auch nicht zwangsläufig in der Person des Testmanagers.
Manchmal sammeln sich diese Aufgaben in agilen Projekten dennoch bei Einzelnen. Das ist auch ok, solange hier nicht Wissens-Silos entstehen. Eine sinnvolle Aufteilung auf mehrere Teammitglieder und der gemeinsame Blick auf die Aktivitäten ist nach meiner Erfahrung optimaler.
Agile Testmanagement-Aufgaben
Worum geht es denn eigentlich? Hier ein paar Beispiele für qualitätssichernde Aufgaben, die im traditionellen Projekt der Testmanager übernommen hätte:
Release- und Iterationsplanung
- Abschätzung der Testaufwände und der Machbarkeit (z.B. über Planning Poker)
- Gruppierung der inhaltlich nahe beieinander liegenden und daher effizient testbaren Inhalte in einer / wenigen Releases oder Iterationen
Aufbau/Ausbau des Product Backlog, Priorisierung der Backlog Items
- Review der Backlog Items auf Eindeutigkeit, Widerspruchsfreiheit, Vollständigkeit und besonders Testbarkeit
- Betrachtung aus Kunden- und Enduser-Sicht
- Sind Akzeptanzkriterien vorhanden, die klar, eindeutig und widerspruchsfrei formuliert sind? Wichtig dabei: Sind diese verifizierbar (und, wenn relevant für den Test, testbar)?
- Bei der Aufwandsschätzung kann die Testmanager-Rolle sicherstellen, dass hier auch Testaspekte berücksichtigt sind.
Aufsetzen der Entwicklungsumgebung für Entwicklung, Continuous Integration, Test und Pre-Production
- Aufsetzen des Prozesses für Continuous Integration (mit Test)
- Einbindung der Teststufen von Unittests (für Test-driven Design) bis zu System– und Akzeptanztests, sowie die transparente Darstellung ihrer Ergebnisse in Reports, Dashboards, etc.
- Definition des Prozesses von Test bis zu Pre-Production
Auswahl / Definition des Entwicklungsvorgehens
- Erstellung einer passenden Teststrategie
Formen eines Teams / Finalisierung des Teamaufbaus
- Sicherstellen, dass erfahrene Tester und Testmanagement-Knowhow an Bord sind
- Sicherstellung und ggf. Erweiterung des Test-Knowhows im Team
- Zusammenarbeit definieren – wie funktioniert die Zusammenarbeit zwischen Entwicklung und Test? Gibt es eigene Entwickler-Tasks und Tester-Tasks? Oder kommt nach der Entwicklung immer automatisch der Test?
- Ist transparent, wann die Entwicklung fertig ist und wann Tests beginnen können?
- Wie organisieren Tester eigene Tester-Tasks? Nutzt man dasselbe Taskboard wie das Team oder ein eigenes?
- Festlegen, wie Defects kommuniziert werden (Taskboard/Tool)
Definition der Arbeitsumgebung
- Test-Räumlichkeiten und -Equipment bereitstellen
- Testumgebung organisieren
Toolauswahl
- Proof of Concept von Tools
- Vorgehen/Konzept bei Testautomatisierung auf System- und Akzeptanztest-Ebene erstellen
- Definieren der Testverwaltung
Automatisierung
- Automatisierung der Unit-, Integrations- und Akzeptanztests forcieren
- Sicherstellen, dass Testautomatisierungs-Framework vorhanden und einsetzbar ist
Gemeinsames Erarbeiten der Definition of Done
- Fokus auf Qualität, Testbarkeit und Messbarkeit legen
- Sind vorgegebene Rahmenbedingungen in DoD abgedeckt (wie z.B. gesetzliche Regulatorien)?
Viele dieser Aufgaben sind in der agilen Software-Entwicklung bereits durch Entwickler, Product-Owner, Scrum-Master oder sonstige Rollen abgedeckt. Bei den anderen ist im Team zu entscheiden, ob und wer diesen nachgeht. Wie sowas im Detail aussehen kann, ist in unserem Buch “Agile Testing – Der agile Weg zur Qualität” beschrieben.
Ist der Testmanager jetzt arbeitslos?
Alle Aufgaben sind jetzt im Team verteilt. Ist der Testmanager jetzt obsolet? Ganz im Gegenteil! Sein Wissen und die Erfahrung sind von unschätzbarem Wert. Wenn das eigene Unternehmen auf agile Softwareentwicklung wechselt, taucht die berechtigte Frage auf: Wie geht es jetzt als Testmanager weiter? Ich habe in den letzten Jahren viele Testmanager gecoacht, die vor dieser Frage standen. Einige davon sind als Tester in die agilen Projekte gegangen und haben dort die Test-Aktivitäten vorwärtsgetrieben. Andere habe ich auf dem Weg zu Agile Quality Coaches begleitet. Sie haben sich ein neues Rollenverständnis geschaffen und begleiten heute Projekte im Unternehmen. Dort unterstützen sie Entwickler und andere Teammitglieder:
- Wie sie Qualitätsaufgaben in den Alltag integrieren können
- Sie dienen als Sparring-Partner für Software-Test und Qualitäts-Fragen
- Wie Qualität als Haltung im Team etabliert wird
- Sie unterstützen bei Infrastruktur, Testdaten und Teststrategie
- …
Die Zukunft des Testmanagers
Der Bedarf an passgenauen Software-Tests steigt durch die Interaktion und Komplexität der Systeme immer mehr. Das Wissen der Testmanager von heute ist dabei unabkömmlich und wird künftig noch an Bedeutung gewinnen. Wie können effiziente Tests aussehen? Welche Priorität haben welche Tests? Das klassische Bild des Testmanagers hat meiner Meinung nach ausgedient. Den Manager, der hunderte Seiten Testkonzept schwingt und den ganzen Tag über Gantt-Charts brütet, werden wir nicht mehr oft finden. Wie sieht der agile Testmanager aus? Er ist ein Team-Begleiter, der mit seinem Know-How Entwicklungs- und Testteams begleitet und ihnen ermöglicht, ihren agilen Qualitätsweg zu finden.