Mittwoch, 28. März 2007

Braucht es eine Rolle - Tester ?

Nach Scrum gibt es folgende Rollen:
  • Scrum Master
  • Product Owner
  • Scrum Team
Diese Rollen werden vor dem Projektbeginn definiert und personifiziert. Eine Rollenaufteilung innerhalb des Scrum Teams ist nicht vorgesehen. Nach Scrum ist das Team selbstorganisierent. Eine Aufgabenverteilung ausserhalb des Scrum Teams ist nicht vorgesehen.

Klar ist, dass getestet werden muss, da sonst die Definition von DONE nicht erreicht wird und somit eine User Story nicht im Sprint zum Abschluss gebracht werden kann.

Wer macht das Testing? Gibt es einen Tester?
Entgegen vieler Annahmen gibt es im Scrum Team keinen dedizierten Tester! Warum?

Das Team löst eine Aufgabe, nicht einzelne Personen bzw. Rollen. Scrum ist Teamarbeit und fördert das "Wir"-Gefühl. "Wir" haben eine Aufgabe, nicht "Ich" habe ein Aufgabe. Gemeinsam wird eine Aufgabe in den Zustand DONE gebracht:
  • Dokumentiert
  • Implementiert
  • Reviewed
  • Getestet
Geht man davon aus, dass man automatisierte Test mit einer Abdeckung von 99% hat, was in einem agilen Software Entwicklungsprojekt unbedingt angestrebt werden sollte, so stellt sich nicht die Frage: "Wer testet?", sondern "Wer schreibt die Tests und wann?".

Test werden zum Zeitpunkt der Erfassung der User Stories "geschrieben", sagen wir dokumentiert. Sie stellen User Acceptance Test(UAT) dar. Der User kann als Kunde (Product Owner) bzw. Benutzer des Systems ausgelegt werden. Wie auch immer, der User definiert ob und wie ein User Story brauchbar (valuable) ist. UAT kann man als Abnahme Tests verstehen.
Vor dem Review einer User Story werden die Tests automatisiert. Nur wenn der Review im Team und der automatisierte Test erfolgreich waren, ist DONE erreicht.

Keine Kommentare: