Wie verwaltet SCRUM eine Umgebung, in der Teammitglieder geteilt werden?

13

Nun, die Fragen sprachen sich aus. An meinem Arbeitsplatz kommen diese Fälle vor, aber auch viele Agile-Bücher fördern das Arbeiten am selben Arbeitsplatz und konzentrieren sich auf das aktuelle Projekt, um das Arbeitstempo zu beschleunigen.

Vielleicht bin ich nicht so informiert über das Thema, vielleicht ist es nicht so streng, aber deshalb wollte ich wissen, was Agile in solchen Fällen vorschlägt.

Irgendjemand?

Xanathos
quelle
1
Was meinst du mit geteilt? Meinen Sie damit, dass jemand von einem Team in ein anderes wechseln kann oder in mehreren Teams gleichzeitig arbeitet? Dies würde meine Antwort beeinflussen.
pdr

Antworten:

6

In der Scrum-Methodik wirkt sich dies lediglich auf die Schätzung aus.

Sie würden den Fokusfaktor für diese Person basierend auf der Zuordnung ihrer Zeit zu jedem Projekt zuweisen.

Wenn ich also gleichermaßen an Projekt A und Projekt B arbeite , würde Projekt A die Ressourcen folgendermaßen berechnen:

Projekt A - Teamfokusfaktor von 70%
Sam - 10 Tage, 100% Zuordnung (7 nach Fokusfaktor)
Joe - 10 Tage, 100% Zuordnung (7 nach Fokusfaktor)
Me - 10 Tage, 50% Zuordnung (3,5 nach Fokusfaktor) )
Gesamt: 25 Tage * 70% Fokusfaktor = 17,5 projizierte Geschwindigkeit

Das könnte dir auch berechnen Fokus Faktor separat für Vollzeit Teammitglieder und für Teilzeitteammitglieder anstatt einmal für das ganze Team, aufgrund reduzierter Effizienz von Splitting - Projekten. In diesem Fall würden Sie meinen Projektfokusfaktor von 50% verwenden und ihn mit einer persönlichen Zuweisung von 50% für 25% oder einer projizierten Geschwindigkeit von 2,5 Tagen multiplizieren .

Wie gut dies in der Praxis funktioniert, hängt davon ab, wie genau Sie im Voraus wissen, wie viel Zeit eine gemeinsam genutzte Ressource für jedes Projekt benötigt, und wie gut Scrum auf andere Weise für Sie arbeitet.

Nicole
quelle
2
Mein Problem dabei ist, dass das Wechseln von Aufgaben nicht sehr gut berücksichtigt wird. Betrachten Sie beispielsweise einen 2-wöchigen (10-tägigen) Sprint. Ein Entwickler mit einem Fokusfaktor von 50%, bei dem Sie ihn / sie 5 Tage lang direkt erreichen, unterscheidet sich erheblich von einem Entwickler, der 10 Tage lang jede zweite Stunde arbeitet. Ersteres ist viel produktiver. Ein extremes Beispiel, aber Sie verstehen, worum es geht.
Brook
@Brook Sie sprechen nur über den Fokusfaktor (1 Messung pro Person), der sich von der Projektzuweisung unterscheidet (in diesem Fall 50/50 geteilt). Der Fokusfaktor ist% eines idealen Tages, den Ihr tatsächlicher Tag wert ist . Normalerweise sind es ungefähr 70-80%, aber für jemanden, der Projekte aufteilt, wäre es wahrscheinlich weniger (was ich in der Antwort angesprochen habe). Es hängt von einer gewissen Beständigkeit im Laufe der Zeit ab. Wenn Sie keine Konsistenz haben können, sollten Sie nicht einmal Scrum machen.
Nicole
Der Konsistenzteil war wirklich mein Punkt. Wenn Sie ein Team haben, in dem ständig Leute in 10 verschiedene Richtungen gezogen werden und Sie das nicht ändern können, hilft Ihnen Scrum nicht weiter.
Brook
@Brook - das ist ein guter Punkt, und Sie haben mir dabei geholfen, darüber nachzudenken, wie ich es ursprünglich nicht getan hatte. Es hört sich so an, als wären wir uns einig.
Nicole
1
@NickC Das scheint plausibel zu sein. Zumindest bin ich mir bewusst, dass die Teammitglieder jedes Mal gewechselt werden können, zum Glück passiert das nicht so oft. Der Arbeitsplatz bleibt immer derselbe, nur dass die für das Projekt zur Verfügung gestellte Zeit manchmal die Hälfte der Kapazität der Teammitglieder beträgt (weil das Teammitglied aus 2 verschiedenen Projekten stammt). Dies scheint zumindest für die Berechnung der Geschwindigkeit für verschiedene Projekte angemessen zu sein. Danke für den Hinweis.
Xanathos
10

Nach meiner Erfahrung in Scrum kann die Geschwindigkeit nur vorhergesagt werden, wenn das Projekt und das Team gleich und engagiert bleiben. Wenn sich eines dieser Dinge ändert, können Sie die Geschwindigkeitsberechnungen aus früheren Sprints nicht wirklich verwenden, um Ihre Schätzung vorzunehmen. Sie können es versuchen, aber Sie werden viel mehr davon haben, als Sie normalerweise tun würden.

Im Allgemeinen sollten Sie auf jeden Fall versuchen, das Team während eines Sprints immer gleich zu halten und MINDESTENS engagiert zu sein, mehr, wenn Sie können.

Bach
quelle
2
Ja in der Tat! Der Versuch, Mitglieder zwischen Projekten auszutauschen, führt lediglich dazu, dass sich alle beteiligten Projekte verzögern. Es macht keinen Sinn, Leute so zu spalten und zu denken, dass die Dinge schneller erledigt werden.
Martin Wickman
+1 für gesunden Menschenverstand, Sie können einer Schwangerschaft nicht drei Frauen zuweisen, um sie in drei Monaten zu Ende zu bringen. Es ist sinnvoller, Menschen einer bestimmten Aufgabe zu widmen.
maple_shaft
Ich glaube, dass dies eine "Kernsäule" von Scrum ist. Das Plakat scheint den Kontext zu vermischen, wenn gefragt wird, "was sagt Agile in dieser Situation
?
1

Meiner Meinung nach wird dies alle Projekte sehr stark betreffen. Es geht nicht nur um Schätzung oder Planung. Ja, Sie können sagen, dass, wenn Teammitglieder drei Projekten zugewiesen werden und sie 33% für jedes Projekt haben, Sie alles wissen, was Sie brauchen, und Sie sind fertig, aber das stimmt nicht.

Kontextwechsel ist sehr teuer. Es ist auch unmöglich, das volle Engagement für mehrere parallele Projekte aufrechtzuerhalten, sodass diese 33% der Entwicklerzeit weit von 33% entfernt sind, wenn Entwickler nur einem einzigen Projekt zugewiesen sind.

Ein weiterer Ort, an dem dies völlig scheitert, ist die Kommunikation. Was passiert, wenn ein Teammitglied, das gerade an Projekt A arbeitet, etwas mit einem Teammitglied kommunizieren muss, das gestern an Projekt A gearbeitet hat, aber gerade an Projekt B arbeitet? Das ist für beide ein Hindernis, denn der erste braucht Informationen, der zweite konzentriert sich auf ein völlig anderes Projekt, und jede Frage für Projekt A stört ihn nur. Scrum-Master von Projekt A möchte, dass sein Entwickler so schnell wie möglich Informationen erhält, und Scrum-Master von Projekt B möchte nicht, dass sein Teammitglied durch irgendetwas gestört wird, das nicht mit Projekt B zusammenhängt. Wenn Sie dies vermeiden möchten, müssen Sie alles planen Die Entwickler des Teams müssen innerhalb der gleichen Tage am selben Projekt arbeiten. Dies ist eine große Komplikation für den gesamten Planungsprozess und sollte unbedingt vermieden werden.

Sie müssen auch alle Besprechungen so planen, dass sie nicht kollidieren. Sie müssen auch verstehen, dass Besprechungen eigentlich Makulatur sind. Aus diesem Grund sollte die erforderliche Mindestanzahl von Besprechungen so kurz wie möglich sein, um die Kontrolle über den Prozess zu behalten. Wenn Sie jedoch ein Teammitglied haben, das an drei Projekten arbeitet, muss es an allen Besprechungen für diese drei Projekte teilnehmen => dreimal mehr Besprechungen, bei denen der Entwickler keinen geschäftlichen Nutzen erzielt.

Als Fazit geht es bei Agile auch darum, Verschwendung zu reduzieren (ja, es handelt sich um einen Lean-Ansatz), und die Aufteilung der Teammitglieder auf die Teams ist einer der schlimmsten Fehler bei der Einführung von Verschwendung und der Reduzierung der Produktivität. Ich vermute, dass der gelieferte Geschäftswert für eine Zuweisung von 33% zu einem einzelnen Projekt dem Geschäftswert entspricht, der von 10-16% der Vollzeitzuweisung geliefert wird. Das bedeutet, dass der Entwickler nicht nur 1/3 an dem Projekt teilnimmt, sondern in dieser Zeit auch eine Produktivität zwischen 1/3 und 1/2 hat.

Ladislav Mrnka
quelle
1

SCRUM basiert auf einem engagierten Team ohne geteilte Mitglieder, daher könnten Sie auch fragen:

Vorausgesetzt, es wurde uns gesagt, dass wir true == false machen müssen, wie machen wir x

Wenn es nicht SCRUM ist, nennen Sie es nicht SCRUM!

Ian
quelle
0

Die zentrale Frage betrifft das Engagement des Teammitglieds für das Projekt. Idealerweise sollte sich ein Teammitglied voll und ganz für den Erfolg des Projekts einsetzen. Dies bedeutet nicht, dass seine Zeit ausschließlich dem Projekt gewidmet ist, sondern dass er für alle Aufgaben zur Verfügung steht, die für das Projekt erforderlich sind, wenn an dem Projekt gearbeitet wird.

Oft sind Mitarbeiter, die nur in Teilzeit an einem Projekt beteiligt sind, nur für einen begrenzten Umfang an Engagement beteiligt. Möglicherweise haben Sie eine Person, die nur die Datenbankoptimierung durchführt.

In diesem Fall ist es oft am besten, diese Person als "Ressource" anstatt als Teammitglied zu behandeln. Das Team entscheidet, wie viel von dieser Ressource in einem bestimmten Sprint benötigt wird, und gibt ihnen eine Reihe von Aufgaben, die sie für den Sprint ausführen müssen. Manchmal ist es am besten, wenn das Team ein bestimmtes Teammitglied hat, das für diese Ressource verantwortlich ist, und die Statusaktualisierungen und Hindernisberichte für diese Ressource im täglichen Scrum erstellt.

Dave
quelle
0

Ich glaube, einer der Kernaspekte von Scrum ist es, das Team auf eine Sache zu konzentrieren (ein Projekt, eine Geschichte, eine Aufgabe ...).

Sie haben gefragt, was Agile in einer Situation vorschlägt, in der Sie die Ressourcen nicht einem Projekt zuordnen können.

  • Behalten Sie eine große Kanban-Tafel, die sich über mehrere Projekte erstreckt. Wenn ein Projekt ein Bedürfnis hat, wird es in die Liste aufgenommen. Wenn die Leute Kapazitäten haben, ziehen sie die Schlüsselgeschichten heran. Das Problem ist, dass alle Projekte zusammen verwaltet werden, was die allgemeine Vorhersehbarkeit für ein Projekt verringert. Das heißt, die einzelnen Story- / Kanban-Elemente werden von einer fokussierten Person oder einem Team gezogen und entwickelt. (Sie könnten versuchen, kleinere 4-5-Personen-Teams zu bilden, die vom Kanban-Brett abgezogen werden
  • Weisen Sie nur fest zugeteilte Ressourcen zu. Halten Sie einen Pool dedizierter Ressourcen für ein Projekt. Diese werden als Team geschützt und Unterbrechungen nahe Null gehalten. Halten Sie auch ein "Rapid Response Team", das keinen Rückstand und keinen Projekt- / Produktfokus hat. Sobald Unterbrechungen auftreten, kümmert sich das schnelle Reaktionsteam um die Unterbrechungen. Wenn sie keine Unterbrechungen haben, können sie sich darauf konzentrieren, das Build-System zu verbessern, das Framework für Automatisierungstests zu erweitern usw. Außerdem können sie bei Codeüberprüfungen / Entwurfsprüfungen und der Fehlerbehebung bei auftretenden kniffligen Fehlern behilflich sein. Verwalten Sie die Entwicklung so, als gäbe es dieses Team nicht. Sie können nur die Lieferung einziehen. Rotiere die Leute durch dieses Team, um sie "frisch zu halten" (die Leute scheinen es zu mögen / zu hassen, im Rapid-Response-Team zu sein ...)

hoffe das hilft!

Al Biglan
quelle