Scrum für Spezialistenteams

11

Scrum eignet sich am besten für Teams mit Generalistenmitgliedern, dh Teams, in denen mindestens 2 Personen die gleichen Aufgaben ausführen können. Mein Hauptanliegen ist es, gute Lösungen zu finden , um Scrum (was zu behalten, was zu entfernen, was zu verbessern) für Teams aus Spezialisten anzupassen?

Angenommen, Sie haben ein Team von 5 Entwicklern (nicht real, nur für das Beispiel):

  1. Ein Mathematiker mit starken Fähigkeiten in C;
  2. Ein DB-Entwickler;
  3. Ein Webentwickler;
  4. Ein UX / GUI-Entwickler;
  5. Ein Software-Architekt;

Hier sind alle Spezialisten und niemand kann jemand anderen ersetzen (die Risiken beim Aufbau eines solchen Teams sind mir egal, ich möchte mich auf Scrum konzentrieren). In einem Scrum-Kontext sind hier meine Gedanken:

  1. Nutzlose Frühlingsplanungen: Wenn der Mathematiker sagt, dass eine bestimmte Aufgabe 2 Punkte wert ist, kann niemand gegen ihn stimmen.
  2. Nutzlose Teamgeschwindigkeitsmetrik: Da jeder seinen eigenen Aufgaben eine beliebige Anzahl von Punkten zuweisen kann, ist die Berechnung der Geschwindigkeit nicht sinnvoll.
  3. Ersetzen Sie tägliche Scrum-Meetings durch wöchentliche (längere) Scrum-Meetings: Da jedes Mitglied des Teams an seinen eigenen Aufgaben arbeitet, sollten tägliche Scrum-Meetings wirklich wichtig sein, um einen "Teamgeist" zu bewahren. Tägliche Scrum-Meetings sollen jedoch etwa 15 Minuten dauern. Dies reicht eindeutig nicht aus, um zu verstehen, was die anderen tun und tun werden. Darüber hinaus wird der Mathematiker die meiste Zeit die gleichen Fragen beantworten: "Ich mache immer noch % & Lo (+? $$ + &)" ... Wöchentliche Treffen würden mehr Zeit geben. Um die gleiche Besprechungszeit zwischen "anfänglichen" Scrum-Besprechungen und "wöchentlichen" Scrum-Besprechungen einzuhalten, sollte jede wöchentliche Scrum-Besprechung dauern (5 Tage die Woche, mit 4-wöchigen Sprints, mit 4-stündigen Sprint-Besprechungen und 15-minütigen täglichen Besprechungen): (4 * 60 + 20 * 15) / 4 =>

Oder ist Scrum noch verwendbar? Vielleicht sollte eine andere agile Technik verwendet werden?

Korchkidu
quelle
Ob es Ihnen gefällt oder nicht, wenn Sie alles Scrum aus dem Scrum nehmen, machen Sie kein Scrum mehr. Und übrigens - tägliche Scrums sollten eher 5 m als 15 m betragen.
Jamiec
Nun, SO hat ein Scrum-Tag, also dachte ich, ich könnte eine Scrum-bezogene Frage stellen ^^. Außerdem verwenden alle Referenzen, die ich habe, ein tägliches Scrum von 15 Minuten, nicht 5.
Korchkidu
Ja, ich vermute das Scrum, agile Tags vor dem Datum programmers.se - aber heutzutage ist das sicherlich ein besserer Ort, um solche Fragen zu stellen.
Jamiec
OK danke. Können Sie diese Frage auf programmers.se migrieren oder muss ich diese löschen und dort eine neue neu starten?
Korchkidu
Ich habe keine Macht, das zu bewegen. Es tut uns leid.
Jamiec

Antworten:

7

Scrum ist keine Silberkugel. Nicht jedes Projekt muss Scrum verwenden, um erfolgreich zu sein. Die Situation, die Sie beschreiben, scheint jedoch gut zu Lean / Kanban zu passen. Vielleicht möchten Sie es ausprobieren.

Kanban fordert Sie grundsätzlich auf, nur ein paar Dinge zu tun, von denen keines im Widerspruch zu der Art von Team steht, die Sie beschreiben:

  • Visualisieren Sie den Wertefluss, dh das Kanban-Board. Das Scrum-Board ist eine spezielle Anwendung eines Kanban-Boards. Es ist möglich, es anzupassen, um eine Spezialisierung zu ermöglichen.
  • Begrenzen Sie den Work in Progress (WIP) so, dass der dem Team zugewiesene Arbeitsaufwand gerade ausreicht, um den Arbeitsfluss konstant zu halten - dh keine "Blockierung" am Anfang des Streams (Design) oder am Ende (Bereitstellung) .

Vielleicht möchten Sie einige Referenzen über Kanban lesen:

Assaf Stein
quelle
Tolle Hilfe! Ich werde Lean und Kanban überprüfen! Wie machen wir +2 auf SE? ..;)
Korchkidu
2

Sie konzentrieren sich ein bisschen zu sehr auf die Mechanik von Scrum / Agile, ohne zu sehen, was Agile liefern soll. Sie sagen, wenn der Mathematiker 2 Punkte schätzt, kann niemand sagen, dass er falsch liegt. Das ist nicht das Ziel. Ziel ist es, eine erreichbare Reihe von Zielen für den bevorstehenden Sprint zu vereinbaren. Als Experte für diese Aufgabe weiß er am besten, wie lange es dauern wird.

"Und wenn er lügt oder es einfach falsch macht?" du sagst. Nach meiner Erfahrung schätzen die Leute mehr, weil sie befürchten, erschossen zu werden, weil sie eine genaue Vermutung abgeben. Andere, die geschätzt werden, fügen dann eine Sicherheitsmarge hinzu, die alles ausgleicht, und die eine oder andere faule Person wird die Schätzung überschätzen, damit sie sich nicht beeilen muss. Von den dreien wird der erste auf der Geschwindigkeitsverfolgung erfasst, der zweite klingt falsch und der dritte ist etwas, mit dem Sie sich außerhalb des Gedränge befassen müssen.

Das tägliche Treffen bietet weiterhin Vorteile. Es gibt Abhängigkeiten zwischen Teammitgliedern, auch wenn sie jeweils Spezialisten sind. Der Benutzer der Benutzeroberfläche wartet möglicherweise auf den Server, um einen Benachrichtigungsfehler zu beheben. Der Server-Typ wartet möglicherweise auf den Mathematiker, um herauszufinden, warum eine Berechnung falsch ist. Es geht auch nicht nur darum, wie sich ihre Arbeit auf Sie auswirkt. Wenn ein Teammitglied aufgrund von "Grund X" ständig verzögert wird, sich aber keine Zeit genommen hat, um zukünftige "Grund X" -Ereignisse zu mildern, kann dies in Frage gestellt werden.

Ian
quelle
Ich stimme vollkommen zu, dass die Kommunikation weiterhin stattfinden sollte. Bei Sprint-Planungsmeetings geht es jedoch nur um die Bewertung von Story-Punkten. Wenn eine einzelne Person pro Geschichte ihre Werte schätzen kann, ist dieses Treffen nutzlos ... Und ich glaube, dass die Mechanik in Scrum (im Allgemeinen nicht agil) in der Tat wichtig ist.
Korchkidu
1

Wenn Sie einen Spezialisten mit Qualifikationen wie den von Ihnen beschriebenen haben, ist Ihre Annahme, dass jeder an seiner eigenen Aufgabe arbeitet und selten mit den anderen kommunizieren muss, meiner Meinung nach falsch. Um eine neue Funktion (eine "User Story") zu realisieren, müssen Sie dies häufig tun

  • Ändern Sie Ihre Datenbank
  • Hinzufügen oder Ändern der GUI oder der Weboberfläche
  • Kombinieren Sie dies mit der richtigen Geschäftslogik (wo vielleicht Ihr "Mathematiker" hereinkommt)
  • Stellen Sie sicher, dass all diese Änderungen gut zusammenarbeiten

Ich denke, sie müssen viel mehr kommunizieren als in einem Team von Generalisten, in dem jeder an einer anderen Anwendung / User Story arbeiten und alle notwendigen Änderungen an allen Anwendungsebenen selbst vornehmen kann. Daher sind alle oben aufgeführten Teamaktivitäten von Scrum für ein solches Team sehr sinnvoll.

Doc Brown
quelle
"Ich denke, sie müssen viel mehr kommunizieren als in einem Team von Generalisten": Das ist genau mein Punkt. Deshalb glaube ich, dass tägliche Scrum-Meetings nicht ausreichen und durch wöchentliche Meetings ersetzt werden sollten. Oder stattdessen tägliche Scrum-Meetings, die 30 Minuten dauern.
Korchkidu
@Korchkidu: Nein - das tägliche Scrum-Meeting ist kein technisches Meeting, sondern ein Fortschrittsbericht. Sie verbringen 15 Sekunden in der Besprechung, um später an diesem Tag eine 15-minütige Besprechung zu planen. Als Scrum Master liegt es in Ihrer Verantwortung, den Standup fokussiert zu halten.
MSalters
Ja, in der Tat. Ein optionales 15 'Standup + 15' technisches Meeting könnte es also vielleicht schaffen. Vielen Dank!
Korchkidu
1

Scrum ist sicherlich immer noch für Ihre Situation geeignet, aber auch andere Frameworks.

Um neue Funktionen bereitzustellen, benötigen Sie wahrscheinlich alle oder viele dieser Fähigkeiten. Damit das Team Entscheidungen treffen kann, die sich gegenseitig beeinflussen und zusammenarbeiten, muss es kommunizieren. Je länger die Zeit zwischen den Scrum-Meetings ist, desto länger kann ein negativer Plan das Team verirren. Durch tägliche Treffen kann das Team diese Situationen schnell angehen und einen neuen Plan erstellen.

Ich möchte einige spezifische Themen ansprechen, die Sie ebenfalls ansprechen:

Funktionsübergreifende Teams Ein Team wird als funktionsübergreifend angesehen, wenn es über alle erforderlichen Fähigkeiten verfügt, um ein Sprintziel und / oder einen Produktrückstand zu erreichen. Dies bedeutet nicht , dass es für jeden Job 2 Personen gibt.

Sizing Es ist wichtig , sich daran zu erinnern , dass wir ein geschäftliches Problem oder Notwendigkeit sind Schlichten, nicht eine Lösung oder ein Teil einer Lösung. Zum Beispiel ist die Integration von Social Media / Twitter in unsere E-Commerce-Website ein Problem, das UX, UI-Design, Programmierung, Datenbank und Kenntnisse der Twitter-API erfordert. Ein Team sollte dies als Einheit dimensionieren, da es als Team diese Funktionalität bereitstellen wird. Diese Größe wird nicht 100% genau sein, aber wir stellen fest, dass Prognosen, die auf der relativen Größe basieren, insgesamt genauer sind. Dies bedeutet, dass einige hoch und andere niedrig sind und die berechnete Prognose zusammengenommen genauer ist als die geschätzte Dauer.

Nutzlose Frühlingsplanungen Die Sprintplanung ist eine Zeit, in der Sie als Scrum-Team (Entwicklungsteam + Product Owner + Scrum Master) zusammenarbeiten müssen, um zu bestimmen, was produziert werden soll, und um einen Plan für den Beginn zu erstellen. Einige Teams werden diese ausgewählten Product Backlog-Elemente in Aufgaben aufteilen, während andere ihren eigenen Weg zum Fortschritt finden, z. B. Tests, die bestanden werden müssen (denken Sie an XP).

Dies ist eine wechselseitige Zusammenarbeit. Dem Team eine Reihe von PBIs zuzuweisen und "go" zu sagen, ist die Aufgabe eines Diktators. Das Team verhandelt mit dem Product Owner, um die Zeit im Sprint zu maximieren.

Nutzlose Team-Geschwindigkeitsmetrik Mit Teams, die Probleme und Anforderungen des Unternehmens dimensionieren, die die Architektur / das System durchschneiden, und der Erfahrung aus der Vergangenheit, aus der hervorgeht, wie viele von denen das Team in einem konsistenten Zeitrahmen (Sprint) geliefert wurde, können wir jetzt eine Teamprognose erstellen für den Rest des Rückstands.

Auch hier sind keine zwei Sprints gleich und je kleiner der von Ihnen verwendete Beispielsatz von Product Backlog-Elementen ist, desto weniger verteilt ist der Fehler bei den Schätzungen. Betrachten Sie es wie die Börse; es ist immer gestiegen, aber das bedeutet nicht, dass wir keine Jahre verloren haben. Insgesamt können Sie Geld verdienen, aber in jedem Monat, Quartal oder Jahr werden Sie falsch raten.

Ersetzen Sie tägliche Scrum-Meetings durch wöchentliche (längere) Scrum-Meetings. Das Daily Scrum bietet dem Team einen 24-Stunden-Feedback-Zyklus und die Möglichkeit, die nächsten 24 Stunden zu planen. Nicht mehr, nicht weniger. Die "Drei Fragen" sollen dazu beitragen, diese Bemühungen zu erleichtern.

Wenn Sie 5 Tage lang kein Feedback haben, sind Ihre Aufgaben meiner Meinung nach nicht genau genug. Dies ist einfach meine Meinung, basiert aber auf meiner Erfahrung als Trainer und Teammitglied. Die Teams sollten viel häufiger sprechen, planen und ihre Bemühungen integrieren.

Fazit Scrum soll das Lernen erleichtern und das Lernen mit der Bereitstellung in Einklang bringen (wo echtes Lernen stattfindet). Experimentieren Sie im Laufe der Zeit mit Ihren Prozessen und Werkzeugen und untersuchen Sie die Auswirkungen mit Scrum. Versuchen Sie, von täglichen zu wöchentlichen Scrums zu wechseln, und prüfen Sie, ob dies den Teams hilft oder schadet, die richtigen Funktionen bereitzustellen. Das könnte für Sie funktionieren.

Ryan Cromwell
quelle
1
Obwohl Ihre Antwort detailliert ist und die Gründe zwischen diesen Scrum-Bausteinen gut erklärt, sehe ich nicht, wo Sie auf den Kern der Frage antworten, eine Situation von Spezialisten beschreiben und die (möglicherweise ursachenlose) Angst vor dem OP, die Scrum gewonnen hat Für ein solches Team funktioniert das nicht gut.
Doc Brown
Messe. Mein Versuch war es, jedes Problem direkt anzusprechen. Mein Fazit war sicherlich schlecht. Schätzen Sie die Antwort.
Ryan Cromwell