Ich wurde kürzlich in ein neues Team versetzt. Es gibt viele Praktiken, die meiner Meinung nach nicht mit dem Scrum Guide übereinstimmen, aber jetzt möchte ich zwei seltsame Praktiken besprechen.
Ich habe diesen Punkt mit den QAs und dem Agile Coach angesprochen und die Antwort war, dass Scrum es uns erlaubt, bestimmte Dinge zu ändern, wenn wir aus Erfahrungen lernen, also haben wir diese Sache eingeführt. Ich möchte wissen, ob diese Praxis richtig oder falsch ist. Ich kann nichts Praktisches dagegen tun, außer das Thema in der Retrospektive anzusprechen.
Wenn die QA in unserem Team derzeit ein Problem mit der Aufgabe findet, behalten sie die Aufgaben im Test, fügen aber einen neuen Fehler als Sub hinzu und weisen sie dem Entwickler zu.
Meine Frage: Ist dieser Ansatz richtig? Beispielsweise gibt es eine Aufgabe, die Farbe von zwei Schaltflächen zu ändern, eine sollte jetzt grün und die andere rot sein. Ein Entwickler arbeitet an dieser Aufgabe, er versteht zuerst die Aufgabe. Wie sollten sie dies tun, CSS oder JavaScript verwenden (dies ist nur ein einfaches Beispiel, also haben Sie bitte etwas Geduld)? Sie ändern nur eine Taste oder vergessen, eine andere Taste zu ändern, oder ändern beide, aber aufgrund schlechter Codierung wird nur eine geändert. Jetzt verschiebt der Entwickler diese Aufgabe zum Testen, die QA testet die Aufgabe und stellt fest, dass nur eine Schaltfläche geändert wurde. Soll das Problem nun an den Entwickler zurückgesendet oder ein Bug gemeldet werden?
Nun meine Frage: Was ist der bessere Ansatz für die beiden oben genannten Fälle?
Das Entwicklungsteam sollte über alle erforderlichen Fähigkeiten verfügen, um Backlog-Elemente in Inkremente funktionierender Software umzuwandeln. Damit dies wahr ist, müssen sie über die Fähigkeiten verfügen, alle Tests im Team während des Sprints zu absolvieren.
Separate QA ist sinnlos, wenn Ihr Entwicklungsteam funktionierende Software erstellt. Es hört sich so an, als gäbe es in Ihrem Team eine Lücke, wo der Test sein sollte. Ich würde dies bei der Retrospektive ansprechen und versuchen herauszufinden, warum Sie eine „Wir gegen Sie“-Dynamik zwischen dem Entwicklungsteam und QA-Mitarbeitern haben.
Erstens gibt es in Scrum keinen richtigen Weg zum Testen, es gibt nur den Weg, der für das Team funktioniert. Scrum beschreibt keine Praktiken, wenn es ums Testen geht. Wenn Sie der Meinung sind, dass der Weg nicht funktioniert, diskutieren Sie dies während der Retrospektive.
Um Ihre Fragen aus meiner Sicht als Agile-Tester zu beantworten:
Paralleles Testen ist gut, das Erstellen von Fehlerberichten nicht. Als Tester würde ich automatisierte Tests erstellen, um diese neu entdeckten Anforderungen abzudecken, damit ein Entwickler sie implementieren kann. Ich würde die Ergebnisse mit dem Team und dem Product Owner besprechen. Umfangsänderungen sollten in den Rückstand gehen. Fehler in bestehenden Funktionen als Aufgaben auf dem Scrumboard, aber ich würde einen automatisierten Test bevorzugen.
In Scrum beauftragen Sie niemals einen Entwickler, da es sich um ein Pull-System handelt, das Team zieht die noch zu erledigende Arbeit ab, um das Sprint-Ziel zu erfüllen. Jeder Entwickler kann die Fehler beheben, wenn er möchte. Ich würde eine physische Tafel verwenden und ein Post-it mit dem Problem an die Tafel kleben. Das Melden eines Fehlers in einem Fehlertracker scheint Zeitverschwendung zu sein, da ich das Problem lieber zuerst mit dem Team und dem Product Owner bespreche.
Verhindern Sie QA<->DEV-Pingpong, lassen Sie Tester mit den Entwicklern koppeln und stellen Sie sicher, dass die Nacharbeit nach dem ersten Mal perfekt ist. Dies könnte etwas sein, das Sie ausprobieren sollten, wenn dies häufig vorkommt.
Scrum ist ein Teamansatz, rede mit dem Team, löse Probleme mit dem Team. Stoppen Sie das Denken einzelner Entwickler.
Lesen Sie mehr über das Schwärmen:
jason.t.knight