Soll ich als Scrum Master entscheiden oder das Team entscheiden, ob sie einen Tester brauchen?

Als Scrum Master ist mein Team schon ganz groß:

  • Produktmanager
  • Assoziierter Produktmanager
  • Business Analyst
  • Benutzerforscher
  • Interaktions-Gestalter
  • Content-Designer
  • Entwickler
  • Entwickler
  • Entwickler
  • Entwickler
  • Architekt

Früher hatte das Team eine Testerin, aber sie hat das Team für eine Weile verlassen, aber jetzt will sie anscheinend wieder zum Team zurückkehren.

Das Team scheint das Testen ohne sie gut zu handhaben, und dies ist die Richtung der Org, dh für jedes Team, das Testen kollektiv zu besitzen. Das ist meine Präferenz.

Meine Frage ist, soll ich das dem Team mitteilen, damit sie entscheiden können, ob sie einen Tester wollen, oder soll ich das Team so lassen, wie es ist?

Ich bin mir sicher, dass das Team ja sagen wird, einen Tester zu haben, aber das spricht gegen den Aufbau von Cross-Funktionalisten.

Ihr Scrum-Team besteht aus 12 Personen und nur 4 sind wahrscheinlich funktionsübergreifend. Wer ist eigentlich im Entwicklungsteam? Nur die vier? Und würden Sie den Tester dem Entwicklungsteam zuordnen?
Die Entwickler sind die einzigen, die die Entwicklung durchführen. Die anderen helfen bei aktuellen Tickets oder helfen bei der Pflege der nächsten Sprint-Tickets. Tester wäre Teil der Entwicklung. Alles, was Sie vorschlagen, wäre hilfreich, selbst wenn Sie vorschlagen, die Funktions- oder Designleute aufzuteilen. Dazu sollte ich vielleicht noch eine Frage stellen.
Mehr als die Hälfte der von Ihnen genannten Rollen sind ausdrücklich keine Scrum-Rollen. Wenn Sie kein echtes Scrum betreiben, warum bauen Sie dann nicht einfach das Team auf, das Sie brauchen oder wollen?
WAHR. Das habe ich mir auch gedacht. Die Struktur des Teams ist bereits so weit außerhalb dessen, was Scrum empfiehlt, was schadet es, es einfach ins Team zu bringen. Es ist eine schwierige Frage. Ich möchte sie anleiten, aber gleichzeitig sind sie in Bezug auf die Struktur bereits so weit von dem entfernt, was Scrum empfiehlt.

Antworten (6)

Es werden viele Kommentare über die Größe des Teams und die Rollen darin abgegeben, also überspringe ich das.

Mein Rat (bei den meisten Fragen, Problemen oder was auch immer): Wenden Sie sich an das Team

Das Team macht die eigentliche Arbeit und sie können sagen, was sie ihrer Meinung nach brauchen oder tun sollten oder was auch immer. Dann können Sie über die Situation diskutieren und mit dem Team zu einer Lösung kommen.

Sprechen Sie nicht über das Team und seine Bedürfnisse, sprechen Sie mit dem Team

Soll ich als Scrum Master entscheiden oder das Team entscheiden, ob sie einen Tester brauchen?

So sprechen traditionelle Projektmanager, nicht Scrum Master.

Wenn Ihre Teammitglieder der Meinung sind, dass ein Tester helfen würde, und sie einen Tester wollen, dann sollten sie einen Tester haben. Das Team entscheidet.

Dies beantwortet direkt Ihre Titelfrage. Ich werde jetzt ein paar Dinge zu dem sagen, was Sie im Rest Ihres Beitrags erwähnen.

Sie haben einen Produktmanager, einen Associate Product Manager, einen Business Analyst, einen User Researcher, einen Interaction Designer und einen Content Designer in Ihrem Team, aber irgendwie denken Sie, dass ein Tester zu viel wäre? Wird ein Tester dem Team helfen, mehr oder besseren Wert zu bieten? Dann hol dir einen Tester. Wenn nicht, nicht.

Das Team scheint das Testen ohne sie gut zu handhaben, und dies ist die Richtung der Org, dh für jedes Team, das Testen kollektiv zu besitzen. Das ist meine Präferenz.

Die Richtung der Organisation? Die Organisation entscheidet, ob Entwickler Tester brauchen oder nicht? Scrum-Teams müssen sich selbst organisieren. Sie entscheiden, ob sie Tester brauchen oder ihre Arbeit nicht richtig machen.

Ich bin mir sicher, dass das Team ja sagen wird, einen Tester zu haben, aber das spricht gegen den Aufbau von Cross-Funktionalisten.

Cross-Funktionalität bedeutet nicht, dass jeder alles macht. Cross-Funktionalität in Scrum bedeutet, dass das Team über alle Fähigkeiten verfügt, die zum Erstellen des Produkts erforderlich sind. Das Team als Ganzes. Das bedeutet nicht, dass Entwickler auch die Arbeit eines Testers erledigen müssen. Sie können, aber es sollte nicht zwingend sein. Denken Sie darüber nach, ein User Researcher, der weder programmiert noch testet, spricht auch gegen den Aufbau von Cross-Funktionalisten. Was werden Sie jetzt dagegen tun, um Cross-Funktionalisten aufzubauen?

Persönlich habe ich mich oft in der Position einer One-Man-Show wiedergefunden, und obwohl ich viele Dinge aus vielen verschiedenen Bereichen alleine bewältigen könnte (ein Cross-Funktionalist sein, wenn Sie möchten), Alles wäre effizienter und besser verlaufen, wenn jemand mit spezialisierteren Fähigkeiten einige der Dinge, die ich getan habe, übernommen hätte. Wenn Ihr Team also einen Tester braucht, stellen Sie ihm einen Tester zur Verfügung. Auf diese Weise kann das Testen fokussierter und effizienter gehandhabt werden als andere, die ständig von einer Rolle in die andere wechseln.

Das ist eine der herablassendsten Antworten, die mir je begegnet sind. Entweder sitzen Sie an der Spitze Ihrer Organisation oder Sie haben keine Erfahrung vor Ort. Die Realität ist, dass ja Teams Einschränkungen haben und ja Organisationen hierarchisch sind und ja Entwickler, die keine Erfahrung mit Agile haben, brauchen eine Anleitung und Ausbildung. Wenn Sie glauben, dass Sie einer ganzen Organisation sagen können, dass sie sich ohne Einschränkungen selbst organisieren soll, leben Sie im Märchenland. So wenig hilfreich und auch gefährlich für unerfahrene Agilisten. Schlagen Sie mich weiter mit Ihrer agilen Bibel.
Ich gebe Ihnen eine Antwort, von der ich denke, dass Sie sie hören müssen, nicht eine Antwort, die Sie gerne hören würden. Tut mir leid, wenn Sie das herablassend finden. Beachten Sie, dass der Scrum Master auch der Organisation dienen muss, und Scrum selbst neigt dazu, die Aufmerksamkeit auf die schlechten Dinge zu lenken, die in den Organisationen passieren. Dann stellt sich die Frage, was tun Sie, wenn Sie Probleme finden? Haben Sie den Mut, eine Veränderung zum Besseren herbeizuführen, oder biegen Sie die Dinge nur herum, weil es Zwänge und Hierarchien usw. gibt?
Was Ihren Kommentar zur Agile-Bibel betrifft, denken Sie daran, dass Agile/Scrum ein Werkzeug ist, keine Religion. Und Werkzeuge sind am effektivsten, wenn sie richtig eingesetzt werden.

Es liegt in der Verantwortung des Scrum Masters sicherzustellen, dass das Team Scrum befolgt, aber das Hinzufügen eines Testers zum Team steht nicht im Widerspruch zum Scrum Guide .

Der Scrum Guide empfiehlt jedoch, die Teamgröße auf 9 oder weniger zu belassen, daher lohnt es sich, dies mit dem Team zu besprechen. Ein guter Ansatz wäre, nach Problemen im Zusammenhang mit der Teamgröße Ausschau zu halten, wie z. B. Kommunikationsstörungen.

Ich bin mir sicher, dass das Team ja sagen wird, einen Tester zu haben, aber das spricht gegen den Aufbau von Cross-Funktionalisten.

Es gibt keinen Grund, warum Sie keinen Tester in einem Team von funktionsübergreifenden Personen haben können. Tester können durchaus an der Analyse beteiligt sein und einige können auch Codierungs- oder Konfigurationsaufgaben übernehmen. Sie können genauso ein T-förmiges Fähigkeitsprofil haben wie ein Entwickler.

Was ein guter Tester in ein Team einbringen kann, ist eine Qualitätsmentalität. Sie können die Funktionalität des Produkts auf ungewöhnliche Weise betrachten und potenzielle Probleme erkennen, die von anderen möglicherweise nicht erkannt werden.

Interessante Perspektive. Ich hätte gesagt, dass die Entscheidung des Scrum Masters, einen Tester hinzuzufügen, mit der Tatsache in Konflikt geraten würde, dass nur das Team entscheiden kann, wie die Arbeit erledigt wird, da dies stark zu implizieren scheint, dass sie eine bestimmte Person zum Testen benötigen.
Ich wollte sicherlich nicht andeuten, dass der Scrum Master die Entscheidung über das Hinzufügen eines neuen Teammitglieds trifft. Ich bezog mich auf die Frage, ob sie ein Vetorecht gegen die Entscheidung des Teams haben.

Vielleicht ist es hilfreich, die Frage neu zu formulieren. Wir können stattdessen fragen: „ Verfügt mein Team über die Qualitätsfähigkeiten, die erforderlich sind, um das Produktinkrement zu liefern? “ Vielleicht denken Sie, Sie kennen die Antwort auf diese Frage – vielleicht haben Sie sogar Recht. Dies ist jedoch eine Frage für das Team.

Der Scrum Guide sagt Folgendes über das Entwicklungsteam:

Sie organisieren sich selbst. Niemand (nicht einmal der Scrum Master) sagt dem Entwicklungsteam, wie es das Product Backlog in Inkremente potenziell veröffentlichbarer Funktionalität umwandeln kann;

Dies gibt dem Team nicht die Erlaubnis, Inkremente zu erstellen, die aufgrund von Qualitätsproblemen möglicherweise nicht veröffentlicht werden können. Während wir also sagen könnten, dass es nicht Ihre Rolle als SM ist, ihnen zu sagen, dass sie die notwendigen Fähigkeiten besitzen oder nicht, um ein Qualitätsinkrement zu produzieren, sollten Sie unbedingt mitteilen, was Sie sehen, was darauf hindeuten könnte, dass sie diesen Standard nicht erfüllen . Zum Beispiel, wenn Sie eine hohe Anzahl von zurückgegebenen Mängeln sehen oder Inkremente aufgrund versäumter Tests für nicht lieferbar erklärt werden.

Nun stellt sich für das Team die Frage, wie man diesem Standard gerecht wird. Vielleicht ist es ein Prozessproblem - dass sie die Fähigkeiten haben, sie aber anwenden müssen. Vielleicht haben sie nicht die Fähigkeiten, aber lernen sie von jemandem in einem anderen Team. Vielleicht entscheiden sie, dass das Hinzufügen einer weiteren Person der beste Weg ist, diese Fähigkeit zu erwerben. Dies ist wirklich der gleiche Denkprozess für jede Fähigkeit, die das Team möglicherweise benötigt.

Die rote Fahne, die ich habe, wenn ich eine andere Person brauche, ist zweierlei:

  1. Wir sollten Menschen nicht mit Fähigkeiten verwechseln. Was das Team braucht, ist die Fähigkeit. Das einfache Hinzufügen von Mitarbeitern für jede Fähigkeit kann teuer werden und Engpässe verstärken.

  2. Für die meisten Teams liegt dies einfach nicht in ihrer Kontrolle. Es gibt einen Genehmigungsprozess für das Budget, einen Einstellungszeitraum, einen Trainingszeitraum (in dem das gesamte Team langsamer wird, um die neue Person zu schulen). Wie wird das Team in diesem Zeitraum etwas produzieren? Sind diese Monate nur eine Wäsche?

Theorie vs. Praxis

Okay, das war alles sehr viel Hintergrundtheorie und Nachdenken. Was ist also die praktische Antwort? An deiner Stelle würde ich folgende Schritte unternehmen:

  1. Stellen Sie fest, ob ein Qualitätsproblem vorliegt. Teilen Sie Ihre Beobachtungen mit dem Team. Helfen Sie ihnen, das erwartete Qualitätsniveau mit dem PO und der Organisation (und dem Kunden, wenn möglich) zu überprüfen.

  2. Wenn die Antwort „Ja, es gibt ein Qualitätsproblem“ lautet, bestimmen Sie, welche Fähigkeiten und Verhaltensweisen erforderlich sind, um es zu lösen. Auch dies ist eine Übung, die wir mit dem Team moderieren.

  3. Bestimmen Sie, wie wir den Standard in diesem Sprint erfüllen können . Ich würde hier anfangen, weil wir durch das Gespräch erfahren, was jetzt möglich ist, was mit einer anderen Person möglich sein könnte und ob wir ohne eine andere Person mit tieferem Wissen einfach festsitzen.

  4. Schaffen Sie Raum dafür. Hier wird Ihr Job hart. Sofern Nr. 3 nichts Praktisches entdeckt, benötigt Ihr Team möglicherweise Hilfe von anderen Teams, anderen Teilen der Organisation oder einer Vielzahl anderer Dinge, selbst wenn Sie keine andere Person benötigen (und wenn Sie dies tun, gibt es einen Prozess, mit dem Sie beginnen müssen das auch).

    Das Team sollte nicht arbeiten, um beschäftigt zu wirken – es sollte Produkte entwickeln. Wenn sie nicht das haben, was sie brauchen, können sie das Produktinkrement nicht erstellen, und sie sollten nicht nur an nichts Veröffentlichbarem arbeiten. In der realen Welt wird diese Antwort natürlich vielen Leuten nicht gefallen. Hier ist es sehr wichtig, andere in Ihrer Organisation zu coachen, damit sie verstehen, was auf dem Spiel steht und was das Team braucht, ohne nur wie ein Eiferer zu klingen.

    Ich hoffe, das ist nicht zu unverblümt, aber dafür hat das Team einen Scrum Master. Es ist ein großer Teil dessen, was Scrum zum Funktionieren bringt. Und wie es geht, ist so gut wie unmöglich, eine Stack Exchange-Antwort einzugeben (sorry).

  5. Stellen Sie erstaunliche Produkte her! Feiern Sie eine gut gemachte Arbeit.

Dieser Artikel von Mike Cohn beantwortet weitgehend meine Frage:

https://www.mountaingoatsoftware.com/blog/self-organizing-teams-are-not-put-together-randomly

„Das Management übt subtile Kontrolle über die Selbstorganisation aus

In der Originalarbeit, in der Scrum beschrieben wird, identifizierten Takeuchi und Nonaka „subtile Kontrolle“ als eines seiner sechs Prinzipien. Sie führen Personalentscheidungen als eine Schlüsselverantwortung des Managements auf.

Die Auswahl der richtigen Personen für das Projektteam bei gleichzeitiger Überwachung von Veränderungen in der Gruppendynamik und das Hinzufügen oder Entfernen von Mitgliedern bei Bedarf [ist eine Schlüsselverantwortung des Managements]. „Wir würden dem Team ein älteres und konservativeres Mitglied hinzufügen, sollte sich das Gleichgewicht zu sehr in Richtung Radikalismus verschieben“, sagte ein Honda-Manager. „Wir wählen die Projektmitglieder nach langer Überlegung sorgfältig aus. Wir analysieren die verschiedenen Persönlichkeiten, um zu sehen, ob sie sich vertragen würden.

Die richtigen Leute für das agile Team gewinnen

Wenn Sie ein Personalmanager sind oder die Teamzusammensetzung in Ihrer Organisation anderweitig beeinflussen, sind hier einige der zu berücksichtigenden Faktoren.

Beziehen Sie alle erforderlichen Disziplinen in agile Teams ein

Als funktionsübergreifendes Team ist es wichtig, dass alle Fähigkeiten, die erforderlich sind, um von der Idee zum implementierten Feature zu gelangen, im Team vertreten sind. Dies kann zunächst bedeuten, dass die Teamgröße etwas größer ist als gewünscht. Aber im Laufe der Zeit werden Einzelpersonen in einem Scrum-Team einige der Fähigkeiten erlernen, die ihre Kollegen besitzen. Dies ist ein natürliches Ergebnis der Zugehörigkeit zu einem Scrum-Team. Da einige Teammitglieder breitere Fähigkeiten entwickeln, können andere Personen in andere Teams versetzt werden.

Mischung aus technischen Qualifikationsniveaus in agilen Teams

Abhängig von Überlegungen zur Teamgröße sollten Sie sich bemühen, das Qualifikationsniveau im Team auszugleichen. Wenn ein Team aus drei Senior-Programmierern und nicht weniger erfahrenen Programmierern besteht, müssen die Senior-Programmierer einige Funktionen mit geringer Kritikalität codieren, die sie langweilig finden könnten. Ein Junior-Programmierer mag es nicht nur genossen haben, an solchen Features zu arbeiten, dieser Programmierer würde auch davon profitieren, durch die Zusammenarbeit mit den Senior-Programmierern zu lernen.

Balancieren Sie Domänenwissen in agilen Teams

So wie wir uns bemühen, technische Fähigkeiten auszugleichen, sollten wir uns um ein Gleichgewicht zwischen denen bemühen, die über fundierte Kenntnisse des Bereichs, in dem wir arbeiten, oder des Problems, das wir zu lösen versuchen, verfügen. Das soll nicht heißen, dass wir die Gelegenheit, ein Team aus Fachexperten zusammenzustellen, nicht nutzen sollten. Vielmehr sollten wir die langfristigen Ziele unserer Organisation berücksichtigen. Eines dieser Ziele ist wahrscheinlich der Aufbau von Domänenwissen in der gesamten Organisation. Sie werden es schwer haben, dies zu erreichen, wenn Sie alle Domänenexperten in einem Team zusammenstellen.

Streben Sie nach Diversität in agilen Teams

Vielfalt kann viele verschiedene Dinge bedeuten – Geschlecht, Rasse und Kultur sind nur drei davon. Vielleicht ebenso wichtig kann sein, wie Einzelpersonen über Probleme denken, wie sie Entscheidungen treffen, wie viele Informationen sie benötigen, bevor sie eine Entscheidung treffen, und so weiter. Untersuchungen zeigen, dass homogene Teams schneller einen Konsens erreichen als heterogene Teams, aber sie tun dies, indem sie nicht alle Optionen in Betracht ziehen.

Berücksichtigen Sie Beharrlichkeit bei der Bildung agiler Teams

Es braucht Zeit, bis agile Teammitglieder lernen, gut zusammenzuarbeiten. Bemühen Sie sich daher, Teammitglieder zusammenzuhalten, die in der Vergangenheit gut zusammengearbeitet haben. Überlegen Sie bei der Bildung eines neuen Teams, wie lange die Mitglieder zusammenarbeiten können, bevor einige oder alle auf andere Verpflichtungen verteilt werden.“

Ich stimme ausdrücklich zu, dass "Teams nicht zufällig zusammengestellt werden". Unabhängig davon, ob Ihr Team in seiner Zusammensetzung strikt den in „irgendeinem Buch“ beschriebenen Organisationsprinzipien folgt und ob Sie sich selbst mit einem Titel bezeichnen, der in „irgendeinem Buch“ enthalten ist, lautet das Fazit, dass es Ihre Aufgabe ist, dafür zu sorgen, dass das Team funktioniert produziert qualitativ hochwertige Software, stetig und konsistent.

Daher: Sehen Sie ein Qualitätsproblem? Glauben die Entwickler, dass sie davon profitieren würden, eine engagierte Person zu haben, deren Aufgabe es ist, nichts anderes als das Testen zu tun? Du ?

Wenn das Team einen Meilenstein abschließt und abzeichnet, bleibt die Arbeit anschließend stabil?

Unabhängig davon, ob Sie eine separate Person haben, die testet, was andere getan haben, muss das Testen immer in den Softwareentwicklungsprozess eingebettet sein. Es reicht nicht aus, einen Block Quellcode zu schreiben: Sie müssen beweisen, dass es funktioniert. Und Sie müssen in der Lage sein, kontinuierlich zu testen, um sicherzustellen, dass das, was früher funktionierte, später nicht kaputt geht. Die Entwickler müssen dafür die erste und primäre Verantwortung tragen: "Sie schreiben den Code, und Sie schreiben die Tests." In der Zwischenzeit habe ich in einem großen Team wie Ihrem gerne jemanden, dessen Vollzeitjob darin besteht, den Überblick zu behalten, nach Regressionen zu suchen, jeden Knopf zu drücken und jedes Feld anzuklicken, während die Entwickler weitergezogen sind.

Ich glaube nicht wirklich, dass Entwicklungsteams „selbststeuernd“ sind, sein sollten oder wirklich sein können. Sie brauchen Führung und das bedeutet Sie.

Tut mir leid, aber das ist kein guter Rat. Der Zweck eines Scrum Masters besteht nicht direkt darin, "sicherzustellen, dass das Team kontinuierlich und konsistent Qualitätssoftware produziert", das ist die Aufgabe des Entwicklerteams selbst. Der Scrum Master hilft dem Team, darin besser zu werden, indem er sie zu Selbstorganisation/Selbststeuerung und Scrum-Prozessen usw. coacht. Es ist bedauerlich, dass Sie nicht glauben, dass es für Entwicklungsteams möglich ist, sich selbst zu steuern, aber es gibt viele reale Welten gegenteilige Beispiele.