Wie nehmen Sie Support in Ihren Sprint auf?

8

Unsere Firma ist kürzlich mit einem Produkt nach Scrum gezogen, das fast von einer einzelnen Person (Joe) codiert wurde. Wir haben Unterstützung mit unseren bestehenden Kunden, die wir versuchen, in unseren Prozess zu integrieren.

Im Moment haben wir folgenden Ansatz versucht:

  • Wir drehen jede Woche eine verantwortliche Person.
  • Die für die Woche verantwortliche Person kann bis zu 8 Stunden für den Support aufwenden.

Aber wir haben es nicht geschafft:

  • Joe macht immer den Support, weil er den Code besser kennt und es für ihn immer schneller ist, ihn zu machen, als ihn zu erklären.
  • Wir (der Rest von uns) konzentrieren uns eher auf das, was auf dem Sprint-Board steht, auch bekannt als neue Geschichten, als auf Support-Aufgaben.
  • Joe hat zu viel Arbeit, er kann nicht die ganze Unterstützung alleine erledigen, weil er Dinge auch außerhalb des Sprints tun muss.

Haben Sie bereits eine ähnliche Situation erlebt? Wie haben Sie es geschafft, da rauszukommen?

Hinweis: Wir können derzeit keine einzige Person für den Support einsetzen. Wir hoffen auf die Zukunft.

xsace
quelle

Antworten:

12

Wir haben einen sehr ähnlichen Ansatz gewählt, indem wir einen "Support-Programmierer" benannt haben, der sich durch die jüngeren (oder neuesten) Entwickler im Team drehte. Sie wurden ermutigt, sich wirklich zu bemühen, das Problem herauszufinden, bevor sie die anderen Entwickler fragten, ob es schneller wäre, es dem Entwickler zu übergeben, der den Code am besten kannte. Auf diese Weise mussten sie die Codebasis lernen, und Sie haben vermieden, Menschen aus der "Zone" zu werfen und die Produktivität zu zerstören. Außerdem müssen Sie einen Mechanismus einbauen, um zu verhindern, dass Leute den nicht unterstützten Programmierern ein Ende setzen, damit dies funktioniert.

Ein wichtiger Punkt ist, dass das Team verstehen muss, dass der schnellste Weg zum Schließen von Supportproblemen nicht immer die effizienteste Nutzung der Teamzeit ist. Stellen Sie sicher, dass das gesamte Team weiß, dass das Ziel dieser Struktur darin besteht, Unterbrechungen für Personen, die sich in diesem produktiven Modus befinden, um jeden Preis zu minimieren.

Der Support-Programmierer war jedoch nicht zu 100% auf Support-Anrufe ausgerichtet. Sie haben an Fällen im Sprint gearbeitet, sollten aber an den Elementen mit der niedrigsten Priorität arbeiten, damit die Tatsache, dass sie ihre Fälle nicht abgeschlossen haben, kein so großes Problem darstellt, wenn sie an vielen Support-Problemen hängen bleiben .

JohnFx
quelle
+1 Dies ist der beste Ansatz. Nichts beeinträchtigt die Produktivität eines Sprints mehr, als alles zu stoppen und Produktionsprobleme zu lösen, insbesondere wenn Sie sich in der Zone befinden.
maple_shaft
Übrigens. "Die Zone" wird manchmal auch als Produktivitätskiller angesehen, weil sie gegen die Zusammenarbeit verstößt.
Ladislav Mrnka
1
Zusammenarbeit und Produktivität sind getrennte Anliegen. In meinem Buch übertrifft Produktivität die Zusammenarbeit.
JohnFx
Wie war Ihre Rotation? wöchentlich oder sprintig?
Xsace
Theoretisch sollte es vierteljährlich sein und auf den Sprintzyklus abgestimmt sein, der am bequemsten war. Wir hatten jedoch ein ziemlich kleines Team, so dass es sich nicht immer so oft drehte.
JohnFx
4

Wie können Sie in Ihrem Sprint auf die Toilette gehen? Wie berücksichtigen Sie die Zeit, die Entwickler zu Hause verbringen, um mit ihren Kindern zu spielen? Was ist mit Schlafenszeit?

Ich bin natürlich sarkastisch, die Antwort ist, dass Sie meiner Meinung nach keine Support-Zeit in Ihre Sprint-Planung einbeziehen sollten. Die einzige Zeit, die in Ihre Sprintplanung einbezogen werden sollte, sind Aufgaben, die direkt mit den Sprint-Ergebnissen verbunden sind.

Wenn eine Ressource so viel Zeit für den Support aufwenden soll, stehen Ihnen von diesem Entwickler, diesem Sprint, weniger Ressourcenstunden zur Verfügung. Der in diesem Sprint enthaltene Funktionsumfang sollte diese Tatsache widerspiegeln.

maple_shaft
quelle
Früher haben wir sie außerhalb des Sprints gelassen, aber dann wird sich das Team nicht darauf konzentrieren.
Xsace
@xsAce Das Team wird sich nicht auf Support konzentrieren?! Das ist alles falsch. Jemand muss oder die Kunden werden nicht glücklich sein, und das Team muss erkennen, dass die Kunden der Grund für ihren Gehaltsscheck sind.
maple_shaft
Zur Arbeitszeit auf die Toilette gehen? Das ist absurd. Wir verwenden den Managementstil von Jeff Lewis. Zeitgesteuerte Badezimmerpausen für # 1 und Sie müssen # 2 in Ihrer Freizeit nach der Arbeit machen! =)
JohnFx
1
Ich stimme dir nicht zu. Einige Teams haben eine Unterstützungskomponente, die berücksichtigt werden sollte. Mein Team schätzt, wie viel Unterstützung wir erwarten, und schreibt dafür eine Story Card. Anders ausgedrückt, "Unterstützung" kann ein Sprint sein.
Bryan Oakley
2
@BryanOakley Sie berücksichtigen die für den Support aufgewendete Zeit. Wenn Sie 4 Entwickler haben, haben Sie (4 * 40 = 160) Mann / Stunde pro Woche. Unter Verwendung früherer Daten können Sie 60 Stunden Support schätzen. Das bedeutet, dass Sie 100 Mann / Stunde Entwicklungszeit oder 5/8 Ihrer Woche haben. Sie verwenden dies als Verhältnis, um Ihre Story-Punkte zu bestimmen. Wenn Sie beispielsweise in einer Woche 8/8 (100%) Entwicklungszeit hatten und 16 Story-Punkte abgeschlossen haben, würde eine Woche mit 5/8 Entwicklungszeit nur 10 Story-Punkte enthalten.
Thomas Owens
3

Ich denke, das Einfachste ist, Ihre Support-Aktivitäten direkt zur Liste der in Ihrem Sprint enthaltenen Elemente hinzuzufügen. Wenn es sich bei diesen Support-Aktivitäten um Fehlerbehebungen handelt, werden sie in Ihrem Backlog genauso priorisiert wie bei Verbesserungen. Wenn sie zeitbasiert sind (z. B. laufende Monatsendberichte), können diese ebenfalls leicht geplant werden. Das machen wir und es funktioniert gut.

Vinnie
quelle
0

In meinen Augen gibt es zwei verschiedene Arten von "Unterstützungsarbeit". Die erste Art ist ein Notfall, der JETZT behoben werden muss. Es ist wirklich mehr operatives Arbeiten, Feuerlöschzeug, das im Rahmen eines Sprints nicht wirklich geplant und geschätzt werden kann. Die zweite Art ist ein Fehlerbericht, der geschätzt, priorisiert und in einem Sprint geplant wird. Es wird wie jede andere Geschichte behandelt. Oft führt die erste Art zur zweiten Art; Sie löschen das Feuer und erstellen einen Fehlerbericht, um eine echte Korrektur durchzuführen, damit es nicht wieder vorkommt. Für den Rest dieses Beitrags spreche ich über das erstere: ungeplante Notfallarbeit, die JETZT erledigt werden muss.

Wenn Sie sich vom Team Zeit nehmen, um Supportarbeit zu leisten, verringert sich die Geschwindigkeit des Teams. Sie sollten Ihre historische Geschwindigkeit verwenden, um Ihre Kapazität für den nächsten Sprint zu bestimmen. Die Kontextumschaltung, die erforderlich ist, um von der Release-Arbeit zur Support-Arbeit zu wechseln, bedeutet einen gewissen Overhead. Da die Arbeit, die Sie für einen Sprint abbeißen, jedoch berücksichtigen sollte, wie viel Arbeit Sie in der Vergangenheit in einem Sprint erledigt haben, ist die typische Zeitspanne Sie unterstützen, und der Overhead für die Kontextumschaltung sollte automatisch berücksichtigt werden.

Ich halte das nicht für Sprintarbeit. Es ist separat und sollte Vorrang vor der Sprintarbeit haben. Somit frisst es sich in die Geschwindigkeit des Teams ein und ist "geplant", indem diese reduzierte Geschwindigkeit verwendet wird, wenn entschieden wird, wie viel Arbeit im nächsten Sprint erledigt werden kann.

Adam Jaskiewicz
quelle
1
Es wird ihre Geschwindigkeit nicht verringern, wenn die Unterstützung während des Sprints eines ihrer Ergebnisse ist - es wird Teil der Geschwindigkeit. Geschwindigkeit ist nicht nur, wie viel Code Sie schreiben, sondern auch, wie viel Arbeit Sie erledigen, und Unterstützung zu leisten ist "Arbeit".
Bryan Oakley
1
Ich habe meine Frage bearbeitet, um sie zu klären. Ich betrachte "Unterstützung" nicht als Teil der Sprintarbeit, nur weil sie gleichzeitig mit Ihrem Sprint stattfindet. Sie nehmen sich Zeit für Ihren Sprint, um Unterstützung zu leisten. So wird der Sprintaufwand reduziert.
Adam Jaskiewicz