Ein Scrum-Sprint ist also ein fester Zeitraum, in dem eine bestimmte Reihe von Funktionen implementiert werden sollte. Ein Scrum-Team besteht aus allen Personen, die sich für die Bereitstellung dieser Funktionen einsetzen. Die meisten von ihnen sind in der Regel Entwickler und Tester.
Nachdem man diese Regeln aufgestellt hat, könnte man sich fragen, wie man all diese Leute während des gesamten Sprints beschäftigt. Zu Beginn des Sprints gibt es noch nichts zu testen, und am Ende des Sprints gibt es normalerweise nichts oder nur noch sehr wenig zu entwickeln / zu reparieren.
Ich habe 2 Ansätze gesehen, um damit umzugehen, aber keiner von beiden scheint das Problem richtig zu lösen.
1) Lassen Sie die Teammitglieder entscheiden, was zu tun ist, wenn sie keine Aufgaben mehr haben.
Nachteile:
- Wenn das, was sie tun, nicht sorgfältig geplant ist (z. B. größere Umgestaltungen, Umstellung auf ein neues Test-Framework), kann sich herausstellen, dass ihre Arbeit unbrauchbar ist oder zur Hälfte ausfällt
- Andererseits kann die Planung solcher Arbeiten viel Zeit in Anspruch nehmen, und der Kunde kann enttäuscht sein, wenn das Team Zeit mit etwas verschwendet, das keinen unmittelbaren Wert bringt
- Solche Aufgaben lassen sich normalerweise nicht genau abschätzen, sodass es für Mitarbeiter ohne Grundkenntnisse recht einfach ist, YouTube-Katzen zu beobachten, ohne dass dies auf dem Scrum Board oder anderswo zum Ausdruck kommt
2) Platz im Sprint nur für die Entwicklung schaffen und nach Abschluss des Sprints mit dem Testen beginnen (wenn die Entwickler mit der Arbeit an den Funktionen des nächsten Sprints beginnen)
Nachteile:
- Während der Entwicklung von Funktionen für den aktuellen Sprint werden Entwickler durch die Behebung von Fehlern des vorherigen Sprints abgelenkt, und sie können möglicherweise nicht die Menge an Arbeit ausführen, die voraussichtlich während des aktuellen Sprints erledigt wurde
- Es werden zwei Scrum-Boards benötigt: eines für die aktuellen Sprint-Features und eines für die vorherigen Sprint-Bugs
Meine Frage lautet also: Wie kann man die Arbeit während des Sprints richtig zwischen Entwicklern und Testern verteilen, damit niemand mit Arbeit überlastet wird oder irgendwann ohne Aufgaben endet? Gibt es Möglichkeiten, die oben beschriebenen Ansätze zu verbessern? Oder gibt es bessere Ansätze?