Ist Scrum oder Kanban für SRE-Teams wirklich nützlich?

10

Agile Praktiken wie Scrum und Kanban wurden hauptsächlich für die Softwareentwicklung entwickelt.

Unterbrochene und ungeplante Arbeiten sind ein wesentlicher Bestandteil dessen, was die meisten SRE- ( Site Reliability Engineering ) oder DevOps-Teams tun. Während es immer nützlich ist, ein Tracking-System wie Jira zu verwenden, um die Arbeit zu verwalten, funktionieren Sprint oder Kanban wirklich für SRE-Teams?

Die Einschränkungen, die ich sehe, sind:

  • Die Arbeit ist sehr dynamisch und die Prioritäten ändern sich täglich. Aus diesem Grund wirkt die Sprintdauer von zwei Wochen sehr aggressiv und führt zu unnötigem Overhead.
  • Bereitschaftsleute fügen dem Problem eine weitere Dimension hinzu. Manchmal kann mehr als ein Teammitglied an Bereitschafts- / Obduktionsaufgaben beteiligt sein.
  • Das Team hat kein einziges "Produkt" und gibt sich daher keinem gemeinsamen Planungsprozess hin
  • Tägliche Standup-Meetings sind möglicherweise nicht sehr sinnvoll, da sich die Aufgaben nicht überschneiden
  • Das Team arbeitet möglicherweise an Aufgaben, die sich auf mehr als ein Partnerteam beziehen und sich daher über mehrere Jira-Projekte erstrecken. Da ein Sprint- oder Kanban-Board nur ein Jira-Projekt zulässt, kann es möglicherweise nicht in alle Arbeiten passen.

Nach dem, was ich von vielen SREs höre, mit denen ich gesprochen habe, hat die Sprintplanung für sie überhaupt nicht funktioniert. Ich würde gerne von der Community hier hören, was ihre Erfahrungen mit Sprint und Kanban sind.

Ich habe diese Frage auch auf scrum.org gestellt:

Kann Scrum von SRE-Teams effektiv genutzt werden?

Codeforester
quelle
2
Nur eine Empfehlung - ich würde darlegen, was SRE für diejenigen bedeutet, die den Begriff nicht kennen.
Sumo
2
Agile funktioniert nicht einmal gut für die meisten Arten der Softwareentwicklung. Warum sollten Sie sich vorstellen, dass es für alles andere gut funktioniert?
Gaius
Ich bin ein Zweifler, fast ein Ungläubiger. Ich habe es hier veröffentlicht, um Leuten wie Ihnen zuzuhören, damit ich sicher sein kann, dass ich nicht schlecht informiert bin.
Codeforester
Erstens denke ich, dass dies eher eine Frage der Softwareentwicklung ist, die nicht spezifisch für DevOps ist. Es scheint auch eine Reihe von Missverständnissen in dieser Frage zu geben. Ich werde eine als Antwort ansprechen, wollte aber mitteilen, dass Kanban keine Verfeinerung des Rückstands, Planung, teamorientierte Arbeit oder solche Begriffe erfordert, die für Scrum gelten - es handelt sich lediglich um ein Workitem-Organisationsgremium der obersten Ebene.
Brett Caswell

Antworten:

5

Wir verwenden Agile nicht selbst für die DevOps-Gruppe, sondern integrieren uns in die normalen Scrum-Teams. Wenn das Team von DevOps etwas benötigt, z. B. die Optimierung des Build-Servers, fügt das zugehörige Team einen PBI mit dem Label "DevOps" in sein Backlog ein. Unser Lead verfügt über ein benutzerdefiniertes Dashboard in Jira mit allen Problemen mit der Bezeichnung "DevOps". Sie arbeiten mit dem Scrum Master zusammen, um Prioritäten zu setzen, und dann wird einer der DevOps-Ingenieure beauftragt, für die Dauer dieses Problems ein Ad-hoc-Mitglied dieses Scrum-Teams zu sein. Dies hilft uns, die Arbeit anhand der Prioritäten unserer "Kunden" zu priorisieren, bindet unsere Anstrengungen an den Sprint und ermöglicht es uns, "Anerkennung" für die von uns geleistete Arbeit zu erhalten.

Zuvor haben wir Kanban auf Jira nur für eine Aufgabenliste verwendet. Leider mussten wir manchmal aufhören, an etwas zu arbeiten, an dem wir arbeiten wollten, weil eines der Teams etwas brauchte. Sofern es sich nicht um einen Notfall handelt, fordern sie DevOps-Ressourcen (Personen / Zeit) grundsätzlich über ihren Rückstand an und der Scrum Master teilt dies unserem Lead mit.

Argyle
quelle
1

Agile eignet sich sehr gut für diese Art von chaotischer Umgebung. Aus den von Ihnen hervorgehobenen Gründen passt das reine Lehrbuch Scrum jedoch möglicherweise nicht besonders gut. Als Scrum Master, der eine ganze Menge DevOps macht, habe ich Kanban-Boards in Jira verwendet, um die Arbeit zu verfolgen.

Kanban Vorteile

  • Visualisierung der Arbeit des Teams.
  • Identifiziert Engpässe für das Team.
  • Hilft dabei, das Team darauf zu konzentrieren, die Arbeit voranzutreiben.
  • Ermöglicht das Hinzufügen von Arbeiten zu jedem Zeitpunkt.
  • Ermöglicht die Sichtbarkeit der Arbeit für andere Teams, die sich auf die SREs verlassen.
  • Kann generisch sein, um mehrere Arten von Jobs abzudecken.

Während ein traditionelles Aufstehen möglicherweise nicht vorteilhaft ist, sollten Sie es ändern. Ein gutes Stand-up-Meeting hebt Blocker hervor, mit denen ein Teammitglied möglicherweise konfrontiert ist und die ein anderes Teammitglied zu lösen weiß.

Wesley Rolnick
quelle
0

IMO: Ja, Scrum kann von SRE-Teams effektiv eingesetzt werden. Ich habe noch nie gehört oder gelesen, dass Teammitglieder nur an Sprint-Workitems arbeiten können. Daher ist es ein Missverständnis, dass Sie Ihre gesamte Zeit und Mühe im Rahmen eines Sprints berücksichtigen müssen. Ich habe auch das Gefühl, dass es ein Missverständnis gibt, dass all Ihre Arbeit auf Sprints anwendbar ist. Konvergierend sollten Sie also einige Arbeiten mit Scrum und einige außerhalb von Scrum verwalten.

Scrum ist im Kern ein Framework (mit Artefakten und Ereignissen), das flexibel ist und zur kontinuierlichen Verbesserung der Art der Arbeit verwendet wird, die vom Team akzeptiert wird (oder auf solche Arbeiten anwendbar ist).

Was Sie tun müssen, ist ein Gleichgewicht zwischen der Zeit und dem Aufwand, den Sie für geplante, akzeptierte Sprintarbeiten bereitstellen können, die Sie und Ihr Team leisten können, und der Zeit und dem Aufwand, um ungeplante Arbeiten außerhalb des Sprints in Angriff zu nehmen.


Alle Workitems haben ein Maß für den Schweregrad und die Priorität. Wenn Sie Scrum in Betracht ziehen, sollten Sie Arbeiten bis zu einem bestimmten Schweregrad akzeptieren. Sie sollten auch Arbeiten in Betracht ziehen, die den Schweregrad anstehender Arbeiten verringern können (sofern dies überhaupt möglich ist). Ich würde Ihnen auch empfehlen, Ihre Sprints mit etwa der halben Kapazität zu starten (was schwer zu bestimmen wäre, da Zeit und Aufwand am Anfang in Bezug auf die Kapazität in Beziehung gesetzt werden) - gehen Sie leicht. Das Ziel Ihres Teams sollte immer sein, die Arbeit zu liefern, die Ihr Team akzeptiert. Seien Sie also wählerisch und überfordern Sie nicht.


Ich denke, die Art Ihrer Arbeit ist tatsächlich vergleichbar mit der Arbeit mit Produktions-Bugfixes für Entwicklungsteams. Daher möchten Sie möglicherweise die Wartungsteams der Produktion zu deren Einführung und Erfolg bei Scrum konsultieren und sich nicht unbedingt auf die Erfahrung von DevOps Engineers im Programm- und Projektmanagement beschränken.

Brett Caswell
quelle
Ich meine nicht, dass DevOps Engineers den Begriff der Einschränkung als Ausgrabung empfinden. Ich kann es hier in
Brett Caswell
ah .. Ich habe gerade Daniel Wilhites Kommentar in Ihrer verknüpften Frage gelesen. Ja, ich stimme zu und fühle, dass dies meine Antwort hier widerspiegelt. Ich hätte gestimmt: D
Brett Caswell