Wie teilt man Entwickler zwischen mehreren agilen Projekten?

  1. 5 Produkte auf 4 Plattformen
  2. ~100 Projektimplementierungen in verschiedenen Phasen (wobei ein Projekt eine Reihe von Produkten ist, die auf den Kunden zugeschnitten sind.)
  3. 15 Entwickler + 5 QAs
  4. Schwarm kleiner klarer Aufgaben/CR's/Storys von 8 bis 100 Stunden Umfang, leicht einzuschätzen, da sie einfach und mehr oder weniger ähnlich sind.
  5. Der Zufluss neuer Geschichten für Projekte und Produkte ist unvorhersehbar

Was ist die beste Vorgehensweise für eine solche Situation. Ich lasse meine Lösung absichtlich aus, um nach einer alternativen Lösung zu suchen.

In Kommentaren sagen Sie, dass Sie kein Problem haben und dass Ihr System (was auch immer es ist) gut funktioniert. Wenn es in Ordnung ist und es kein Problem gibt, dann ist dies keine themenbezogene Frage für PMSE. Wenn es ein Problem gibt, sollten Sie zumindest die Möglichkeit in Betracht ziehen, dass erfahrene agile Praktiker Ihnen gute Ratschläge zur Lösung des Framework-Implementierungsproblems geben, wie Sie es gepostet haben . PMSE folgt einem Q&A-Format; es ist kein Diskussionsforum oder ein Ort, um abstrakte Ideen für Nicht-Probleme zu generieren, die Sie nicht haben – oder um zu erraten, was Ihr Problem tatsächlich sein könnte.

Antworten (2)

TL;DR

Wie teilt man Entwickler zwischen mehreren agilen Projekten?

Du nicht. Dies ist von Natur aus nicht agil.

Dies riecht nach einem X/Y-Problem, wobei X (das eigentliche Problem) wahrscheinlich ein Führungsauftrag ist, „mit weniger mehr zu erreichen“, ohne Projekte sowohl auf der Grundlage des Geschäftswerts als auch der Ressourcenbeschränkungen zu priorisieren. Möglicherweise haben Sie oder Ihre Organisation jedoch beschlossen, nach Y zu suchen, indem Sie nach einer Wunderwaffe suchen, die das Unmögliche möglich macht.

Es gibt keine Wunderwaffe. Stellen Sie sicher, dass Sie nach X und nicht nach Y auflösen!

Ihre allgemeinen Optionen

In einer agilen Praxis können Sie im Allgemeinen wählen zwischen:

  1. Feste, funktionsübergreifende Teams, die an verschiedenen Projekten arbeiten, aber immer nur eines nach dem anderen.
  2. Produktbasierte Teams, bei denen die Teams um jedes Produkt herum gebildet werden. Beachten Sie, dass jedes Produkt sein eigenes separates Product Backlog hat und jedes Team mit genau einem Product Backlog arbeitet.
  3. Feature-basierte Teams, bei denen Teams um Features (und nicht um Projekte) herum gebildet werden, die sich entweder ein einzelnes Product Backlog teilen oder ein Backlog pro Feature-Team haben können.

Wie Sie Projekte, Produkte und Funktionen abgrenzen, kann dies erschweren, aber die Unterscheidung zwischen einem einzelnen Produkt mit vielen Funktionen und mehreren Produkten sollte Ihr Leitprinzip sein. Viel hängt davon ab, das Projekt richtig zu konzipieren und keine Angst zu haben, verwandte Projekte abzuspalten, wenn sie nicht mehr in die Grenzen eines einzelnen Produkts oder Teams passen.

Sie müssen Ressourcenbeschränkungen berücksichtigen.

In allen Fällen können Sie nicht wirklich das tun, was Sie zu tun scheinen, nämlich die Erdnussbutter immer dünner zu verteilen, ohne Ihre Ressourcenbeschränkungen anzupassen. Speziell:

  1. 20 Teammitglieder reichen nicht aus, um 100 gleichzeitig laufende Projekte zu unterstützen. Ein Team, ein Projekt! ist eine harte Regel bei allen agilen Frameworks.
  2. Wenn Sie Ihre Architektur nicht besser abstrahiert oder funktionsübergreifende Teams aufgebaut haben als hier beschrieben, haben Sie nicht fünf Produkte, sondern zwanzig! In der Regel gilt 5 products * 4 platforms = 20 product backlogs.
    • Dies würde mindestens 20 Teams erfordern, es sei denn, Sie priorisieren und ordnen die Ergebnisse.
    • Sie könnten auch funktionsübergreifende Teams in Betracht ziehen, die ein Produkt aus einem Backlog aufbauen können, das auf mehrere Plattformen abzielt (denken Sie als Beispiel an PhoneGap), aber Sie haben immer noch nicht genug Personal, um fünf solcher Teams zu besetzen.

Es gibt auch andere Probleme mit Ihrem konzeptionellen Ansatz, aber sie laufen alle darauf hinaus, dass Sie versuchen, mit zu wenig zu viel zu erreichen. Ganz gleich, wie Sie Ihre Projekte strukturieren, Sie können sie mit den Ihnen zur Verfügung stehenden Ressourcen nicht alle gleichzeitig durchführen. Sie müssen entweder Ressourcen hinzufügen, die Nutzung Ihrer verfügbaren Ressourcen priorisieren oder (idealerweise) beides tun.

Tatsächlich arbeitet ein solches Team seit Jahren in der von mir erwähnten Konfiguration und recht erfolgreich. Ein Entwickler für ein Projekt funktioniert einfach nicht, da es für einen Entwickler an einem Projekt nichts zu tun gibt und die Menge an neuen Geschichten sich in einer Woche unvorhersehbar ändern kann. Derzeit ist es ein Backlog für jeden Kunden, für alle Produkte auf allen Plattformen.

CodeGnome gibt eine großartige Antwort und er hat 100% Recht, Sie nicht.

Das wichtigste Tool, mit dem ich dem Management das Warum erklärt habe, ist eine zehnminütige Übung, für die nichts als ein leeres Blatt Papier und ein Stift erforderlich sind. Ich nenne es das „Multitasking-Buchstabenspiel“, ich bin sicher, es hat andere Namen.

Spielen:

  1. Lassen Sie jede Person ein leeres Blatt Papier im Querformat vor sich legen (auf der Seite also breiter als hoch).
  2. Zeichne drei gleiche Spalten.
  3. Zeichnen Sie eine horizontale Linie etwa zwei Zoll von der Spitze.

Sie haben jetzt sechs Kästchen, drei kleine oben und drei lange unten. 4. Beschriften Sie die kleinen Kästchen mit „1“, „A“ und „I“ (römische Ziffer 1). 5. Erklären Sie die Übung

"Ihre Aufgabe ist es, Zeichen zu erstellen. Jede Spalte stellt ein anderes Produkt dar, die Zahlen, die Buchstaben und die römischen Ziffern. Jedes Produkt besteht aus den ersten zehn Zeichen in der Folge, AJ, 1-10 und den römischen Ziffern 1-X."

  1. Erklären Sie die erste Runde:

„In der ersten Runde wollen wir sicherstellen, dass wir an allem arbeiten, damit alles so schnell wie möglich erledigt wird. Sie arbeiten also von links nach rechts und schreiben „A“, dann „1“ und dann die römische Ziffer 1, bevor Sie loslegen weiter, um "B", "2" und die römische Ziffer 2 zu machen. Wenn Sie die gesamte Seite fertig haben, heben Sie bitte Ihre Hand.

  1. Sagen Sie ihnen, dass sie mit einer Stoppuhr beginnen sollen. Zeitmessung starten. Wenn die erste Person ihre Hand hebt, drücken Sie den Lap-Timer. Stoppen Sie den Timer, wenn die Mehrheit des Raums ihre Hände hebt.

    Im Allgemeinen wird die erste Person ungefähr nach 25-30 Sekunden fertig sein, wobei alle fertig sind, bevor 40 Sekunden vergangen sind.

  2. Notieren Sie die Ergebnisse an einer gut sichtbaren Stelle.

  3. Erklären Sie die Regeln für die zweite Runde

    „Dieses Mal wollen wir uns jeweils auf ein einzelnes Produkt konzentrieren. Beginnen Sie also mit A bis J, fahren Sie dann mit den Zahlen und dann mit den Ziffern fort.

  4. Positionieren Sie sich dort, wo Sie problemlos mehrere Teilnehmerseiten sehen können. Wenn die Stoppuhr bereit ist, sagen Sie ihnen, dass sie beginnen sollen.

  5. Scannen Sie die Teilnehmer und sobald Sie sehen, dass sich jemand in die Zahlenspalte bewegt, drücken Sie den Lap-Timer. Stoppen Sie den Timer, wenn der Großteil des Raums fertig ist.

    Im Allgemeinen beendet die erste Person die erste Spalte 4-6 Sekunden und der gesamte Raum wird in weniger als 30 Sekunden fertig sein. Die Gesamtzeit für Runde 2 ist fast immer kürzer als die Zeit, die die schnellste Person in Runde 1 benötigt hat.

  6. Notieren Sie die Ergebnisse und denken Sie darüber nach, was passiert, wenn Sie sich jeweils nur auf eine Sache konzentrieren.

Interessantes Spiel, aber nichts mit einer Situation zu tun, in der die Nachfrage nach Produkten und Projekten unvorhersehbar ist.
Alexander: Dein erstes Problem hat nichts mit der Arbeit oder den Projekten zu tun. Unabhängig davon, ob Sie Multitasking an Projekten, User Stories oder Aufgaben durchführen, es wird ein Problem verursachen. Wenn Sie sich Ihre Antwort auf CodeGnome ansehen, klingt es so, als könnten Sie von einem Kanban-Workflow gegenüber Scrum profitieren. In beiden Fällen müssen Sie die Leute immer noch dazu bringen, sich auf jeweils ein „Element“ zu konzentrieren, sei es ein Projekt, eine Geschichte oder eine Aufgabe.
Es gibt kein Prioritätsproblem, da ein Prio-System für das gesamte Portfolio beibehalten wird. Entwickler arbeiten immer an einem Thema nach dem anderen, basierend auf Top-Prio, die basierend auf Kundenerwartungen und -wert ausgehandelt werden. Ja, es gibt eine Kanban-Tafel, das Problem ist, dass sie entweder zu groß ist, um beobachtet zu werden, oder dass sie gefiltert wird, um die Helikopteransicht einer Lieferpipeline zu sehen. Ein weiteres Problem hier, da sich die Prios ändern, daher ist die Vorlaufzeit keine verlässliche Metrik. Wir können auch mit einer ziemlich genauen wöchentlichen/monatlichen Geschwindigkeit arbeiten, da es nach der QA-Phase eine CD mit Produktaufbau gibt. Und die meisten Probleme sind unabhängig.